blender腳本學(xué)習(xí)1,根據(jù)選擇的模型中心位置創(chuàng)建一個(gè)頂點(diǎn)網(wǎng)格以及清除空槽位
import bpy
# 獲取當(dāng)前選中的所有物體
objs = bpy.context.selected_objects
# 遍歷所有選中的物體,并生成頂點(diǎn)網(wǎng)格
for obj in objs:
? ??
? ? #將模型的xyz放入b對(duì)象中
? ? b = [(obj.location.x,obj.location.y,obj.location.z)]
? ? ? ??
? ? # 創(chuàng)建一個(gè)新的網(wǎng)格數(shù)據(jù)塊
? ? mesh = bpy.data.meshes.new("mesh")
? ? # 創(chuàng)建一個(gè)新的對(duì)象數(shù)據(jù)塊,并關(guān)聯(lián)網(wǎng)格數(shù)據(jù)塊
? ? obj = bpy.data.objects.new("tree", mesh)
? ? # 將對(duì)象添加到場景中
? ? bpy.context.collection.objects.link(obj)
? ? # 用頂點(diǎn)列表創(chuàng)建網(wǎng)格數(shù)據(jù)
? ? mesh.from_pydata(b, [], [])
? ? # 更新網(wǎng)格數(shù)據(jù)
? ? mesh.update()
工作需要將模型的中心提取出來,然后導(dǎo)出一個(gè)shp格式的點(diǎn)位圖,具體有啥其他用法可以靈活應(yīng)變
======================================================================
這個(gè)是遍歷選中模型后刪除所選模型中其他模型有使用到的空槽位,因?yàn)榍謇砦词褂玫臄?shù)據(jù)塊清除不掉所以另外寫的
import bpy
for i in bpy.context.selected_objects:
? ? ?bpy.ops.object.material_slot_remove_unused()