我用PyAssimp加载了一个3d文件,然后我改变了一些顶点的位置,当我导出它时,所有的修改都被忽略了 这是我写的一个例子:
>>> import pyassimp
>>> scene = pyassimp.load('D:/test.3ds')
>>> v = scene.meshes[2].vertices
>>> v = [ [p[0], p[1], p[2]+200] for p in v ]
>>> scene.meshes[2].vertices = v
>>> print scene.meshes[2].vertices
[[-13.360946655273438, -19.980607986450195, 200.0], [-13.360946655273438, 19.980606079101562, 200.0], ………
>>> pyassimp.export(scene,'D:/ExportedFile.gltf','gltf2')
但当我加载文件时没有任何更改!你知道吗
谢谢。你知道吗
我在寻找完全相同的东西,我认为@ArturSampaio的响应有效地回答了这个问题:
pyassimp
不是为修改数据而构建的,至少目前不是这样。你知道吗我在这里发布了一个问题:https://github.com/assimp/assimp/issues/2470
我将修补一些替代方案,如果有什么结果,我将更新:
libassimp
,因此NumPy casting可能引用原始数据。readonly
。不过,可以理解。你知道吗更新:我为我的用例找到了另一个工作流程(用GLTF顶点+UV坐标替换OBJ网格,但是保持其他东西的一致性),使用这个hack和}
obj2gltf
:^{可能会回到最初的问题(编辑网格),但可能不会很快完成。你知道吗
相关问题 更多 >
编程相关推荐