2013-02-20 12 views
18

के माध्यम से छवियों को प्रतिपादन और सहेजना मैं ब्लेंडर में पाइथन लिपि के माध्यम से एकाधिक छवियों को प्रस्तुत और सहेजने की कोशिश कर रहा हूं। मुझे पता है कि ब्लेंडर जीयूआई के माध्यम से छवि को कैसे प्रस्तुत करना और सहेजना है, लेकिन मैं इसे अपनी स्क्रिप्ट के माध्यम से करना चाहता हूं क्योंकि मैं नेस्टेड लूप के सेट का उपयोग कर रहा हूं और कई छवियों को सहेजने की आवश्यकता है। मैं छवि प्रस्तुत करने में सक्षम हूं और मुझे लगता है कि आउटपुट सफल होने के साथ छवि को सहेज लेता है। लेकिन मुझे यकीन नहीं है कि यह कहां से बचाता है और जब मैं फ़ाइलपैथ को संपादित करने का प्रयास करता हूं तो यह मुझे संदर्भ की गलत त्रुटि देता है।ब्लेंडर पायथन

उत्तर

7

कुछ इस तरह:

import bpy 

bpy.context.scene.render.filepath = 'pathToOutputImage' 
bpy.context.scene.render.resolution_x = w #perhaps set resolution in code 
bpy.context.scene.render.resolution_y = h 
bpy.ops.render.render() 
+5

'रेंडर()' फ़ंक्शन ब्लेंडर के पैरामीटर के रूप में 'write_still = True' के बिना मेरे मामले में कोई छवि नहीं बनाई गई। – tobltobs

20

यहाँ मैं Blender 2.63 में क्या किया है:

bpy.data.scenes['Scene'].render.filepath = '/home/user/Documents/image.jpg' 
bpy.ops.render.render(write_still=True) 

क्या मैं कर रहा था एक वी.आर. चित्रमाला (इसके चारों ओर एक वस्तु शॉट्स की एक श्रृंखला पैदा कर रही है)। और मैं इस एल्गोरिथ्म के साथ खत्म हुआ:

  1. बना सकते हैं या एक वस्तु आप
  2. यह बड़े पैमाने पर शॉट लेने के लिए और कुछ अच्छा प्रकाश प्रदर्शन करने के लिए जा रहे हैं लोड; दृश्य प्रतिपादन के साथ प्रकाश की जाँच (का उपयोग F12 कुंजी)
  3. एक Empty नोड बना सकते हैं और पहचान के लिए अपनी स्थिति और रोटेशन सेट (स्थिति: 0, 0, 0, रोटेशन: 0, 0, 0)
  4. प्रारंभ स्थिति के लिए अपने कैमरे दृश्य सेट (प्रतिपादन के साथ इसे फिर से जांचें)
  5. स्क्रिप्ट चलाएं!

आप अपने /home/user/VR निर्देशिका के अंदर अपने ऑब्जेक्ट के चारों ओर step_count शॉट्स के साथ समाप्त हो जाएंगे।

cam = bpy.data.objects['Camera'] 
origin = bpy.data.objects['Empty'] 

step_count = 32 

for step in range(0, step_count): 
    origin.rotation_euler[2] = radians(step * (360.0/step_count)) 

    bpy.data.scenes["Scene"].render.filepath = '/home/user/VR/vr_shot_%d.jpg' % step 
    bpy.ops.render.render(write_still=True) 
+0

आश्चर्य है कि क्यों 'write_still = True' इतना महत्वपूर्ण है कि आपके पास इसके बिना कोई छवि सहेजी नहीं गई है। –

+1

@ सिब्स गैंबलिंग मुझे लगता है कि ऐसा इसलिए है क्योंकि ब्लेंडर के पास पूर्वावलोकन छवियों को प्रस्तुत करने का विकल्प भी है (जैसे कि जब आप F12 दबाते हैं)। तो वास्तव में एक छवि के रूप में प्रस्तुत करना वास्तव में वैकल्पिक है। –

संबंधित मुद्दे