簡體   English   中英

如何在攪拌機中將多個網格節點附加到一個對象?

[英]How to attach multiple mesh nodes to one object in blender?

我嘗試將一個游戲(IGI 2:隱蔽打擊)中的3d對象導入攪拌器。 游戲內格式具有一個公共的頂點緩沖區,其中存儲了來自多個網格的所有頂點。 還具有用於聲明網格的結構列表,使用的頂點范圍(來自公共緩沖區)以及此網格相對於主要對象的位置。

如果將完整的頂點緩沖添加到一個網格中,我會看到:

http://prntscr.com/n32e0v

這是一個人體模型。 頭在這里indide :)

http://prntscr.com/n32fcw

好吧,我想分離網格並將其附加到一個對象上。 但是功能

bpy.data.objects.new(name, mesh) #create object

僅接受一個網格。

還有其他方法可以將多個網格節點添加到一個對象嗎?

可能為每個網格創建一個對象並將那些對象附加到一個主要對象上?

但是,后來又如何為所有這些對象添加一個通用骨架呢?

首先,您可能也考慮在Blender SE中問這個問題,因為那里有關於Blender的很多專業知識,因此他們可能能夠為您的問題提供更多可能的解決方案。

無論如何,我認為沒有任何方法可以使一個Blender對象容納多個網格。 但是,您可以將多個對象歸為一個父對象,如下所示(Blender 2.79b):

import bpy

# Make parent (empty object)
parent_object = bpy.data.objects.new('parent_object', None)
bpy.context.scene.objects.link(parent_object)
# Make multiple children
for i in range(4):
    # Make child object (mesh object)
    mesh_data = bpy.data.meshes.new('mesh_data_' + str(i + 1))
    mesh_object = bpy.data.objects.new('mesh_object_' + str(i + 1), mesh_data)
    # Set the parent
    mesh_object.parent = parent_object
    bpy.context.scene.objects.link(mesh_object)
bpy.context.scene.update()

這樣您將獲得一個層次結構:

對象層次

注意:即將在2.8中對API進行一些更改,請參閱如何在Blender 2.80中使用Python創建新對象?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM