كيفية إنشاء شبكة بسيطة في Blender 2.50 عبر Python API
-
01-10-2019 - |
سؤال
أرغب في إنشاء شبكة بسيطة في Blender (2.50) عبر API Python لكن الأمثلة من وثائق API لا تعمل بعد.
جربت ما يلي لكنه من API 2.49
from Blender import *
import bpy
editmode = Window.EditMode() # are we in edit mode? If so ...
if editmode: Window.EditMode(0) # leave edit mode before getting the mesh
# define vertices and faces for a pyramid
coords=[ [-1,-1,-1], [1,-1,-1], [1,1,-1], [-1,1,-1], [0,0,1] ]
faces= [ [3,2,1,0], [0,1,4], [1,2,4], [2,3,4], [3,0,4] ]
me = bpy.data.meshes.new('myMesh') # create a new mesh
me.verts.extend(coords) # add vertices to mesh
me.faces.extend(faces) # add faces to the mesh (also adds edges)
me.vertexColors = 1 # enable vertex colors
me.faces[1].col[0].r = 255 # make each vertex a different color
me.faces[1].col[1].g = 255
me.faces[1].col[2].b = 255
scn = bpy.data.scenes.active # link object to current scene
ob = scn.objects.new(me, 'myObj')
if editmode: Window.EditMode(1) # optional, just being nice
هذا لا يعمل لأن الكائن الشبكي ليس لديه أي شيء faces
أو verts
أفراد.
هل هناك أي خيارات للقيام بذلك؟
المحلول
محاولة هذه توثيق لـ 2.5x API. أنا أفهم أنه على الرغم من التحذيرات الكبيرة في الأعلى ، فإن الأقسام الأكثر استخدامًا مستقرة إلى حد ما الآن. لم أجربها بعد.
تعديل:
أعتقد أن بت من الصلة هذا القسم - يبدو أنك تنشئ قائمة من وجوه القمم وما إلى ذلك. يبدو أن هذا قد تغير من أحدث الأمثلة التي يمكنني العثور عليها. حاول النظر في مجلد البرامج النصية الخاصة بك - قد يكون هناك مثال يمكنك النظر إليه.
تحرير 2: لقد قمت بتحديث الرابط للإشارة إلى مستندات Live الحالية. تشير الملاحظات التي تشير إلى أنه من المحتمل أن تكون هناك طرق أفضل للقيام بذلك الآن ، لكنها مضى وقت طويل منذ أن قمت بأي برمجة نصية للخلاط ، لذلك لا أستطيع المساعدة أكثر.
نصائح أخرى
بفضل نيل ، وجدت القسم التالي من الوثائق:
البرامج النصية لـ Blender 2.50 - إضافة نصوص شبكية
سأحاول البرنامج النصي التالي وأبلغ عن نتائجي: