BlenderCN论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 980|回复: 0

blender python 常用操作整理收集

[复制链接]
发表于 2014-1-23 23:26:58 | 显示全部楼层 |阅读模式
本帖最后由 墨阳 于 2014-1-24 00:00 编辑

1.获得选中物体
bpy.context.scene.objects.active
bpy.context.selected_objects



2.获得顶点  法线 贴图
obj = bpy.context.scene.objects.active
#mesh = obj.to_mesh(scene, True, 'PREVIEW', calc_tessface=False);
mesh = obj.data

normals = []
indices = []
for face in mesh.polygons:
    indices.append(face.vertices[0])
    indices.append(face.vertices[1])
    indices.append(face.vertices[2])
    for i in range(len(face.vertices)):
        v = mesh.vertices[face.vertices]
        normals.append([v.normal[0],v.normal[1],v.normal[2]])

verts = []
for vert in mesh.vertices:
    verts.append(vert.co.xyz)

uvs = []
for uv_layer in mesh.uv_layers:
    for x in range(len(uv_layer.data)):
        uvs.append(uv_layer.data[x].uv)

print(indices)
print(verts)
print(uvs)
print(normals)




3.获得骨骼数据
armature = bpy.data.armatures[0]
for bone in armature.data.bones:               
            #make matrix of this bone relative
            boneMat = mathutils.Matrix.Identity(4)
            if bone.parent == None:
                boneMat = bone.matrix_local
            else:
                boneMat = bone.parent.matrix_local.inverted() * bone.matrix_local

            #decompose
            loc, quat, sca = boneMat.decompose()












您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Blender最新中文教学视频|Blender头条|小黑屋|手机版|Archiver|Blender中国 ( 蜀ICP备17002929号 )360网站安全检测平台

GMT+8, 2019-12-12 16:29 , Processed in 0.017069 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表