【问题标题】:Output vertex stream with Blender使用 Blender 输出顶点流
【发布时间】:2016-04-30 09:12:32
【问题描述】:

我希望将动画对象(具有服装/软体物理)的顶点、UV 和法线流输出到文件中。

Blender 可以做到这一点吗?如果没有,是否有其他建模应用程序可以做到这一点?

如果可能的话,这样的顶点导出叫什么?

【问题讨论】:

    标签: blender


    【解决方案1】:

    您可以尝试使用 Python Blender API 编写脚本:https://www.blender.org/api/blender_python_api_2_76_2/ 这需要大量时间来完成。

    如果您想使用通用格式,您可以使用 blender 中的导出脚本导出网格(到 .obj、到 .md5 等...)。

    【讨论】:

    • 我认为 obj 或 md5 就足够了。我刚刚查了一下,显然在模型中烘焙软体物理并不难。
    • @KajToet:当您尝试导出动画时,api 变得非常困难(记录错误)。如果要导出骨骼,我没有找到获取骨骼中骨骼关键帧的方法。
    • 幸运的是我不需要骨架,一个组合模型(我还不知道术语,抱歉)最适合我。感谢您帮助我!
    【解决方案2】:

    您的导出方式主要取决于您希望数据去往何处。

    .obj 是一个简单的网格对象文件,而 .mdd 可以包含动画网格 - 基本上为每一帧导出网格。

    如果您需要以自定义格式导出,导出网格数据并不难。 obj.to_mesh() 提供了应用了所有修改器和模拟的网格数据的副本。

    import bpy, bmesh
    
    scn = bpy.context.scene
    obj = bpy.context.active_object
    me = obj.to_mesh(scn, True, 'RENDER')
    
    print('Vertices--')
    for v in me.vertices:
        print(v.index,':',end=' ')
        for l in v.co:
            print(l,end=',')
        print()
    
    print('Edges--')
    for e in me.edges:
        print(e.index,':',end=' ')
        for v in e.vertices:
            print(v,end=',')
        print()
    
    print('Faces--')
    for f in me.polygons:
        print(f.index,':',end=' ')
        for v in f.vertices:
            print(v,end=',')
        print()
    
    del me
    

    您可以在blender.stackexchange 获得有关 python 脚本的特定于搅拌机的帮助。

    【讨论】:

      猜你喜欢
      • 2012-02-26
      • 2019-03-30
      • 2013-08-23
      • 2020-02-27
      • 2014-09-25
      • 2017-11-30
      • 2013-12-19
      • 2013-03-04
      • 1970-01-01
      相关资源
      最近更新 更多