2016-06-21 2 views
0

블렌더 2.76b, threejs exporter v1.5.0을 사용하고 있습니다. 내 목표는 블렌더 씬의 각 메쉬를 내보내는 것입니다. 나는 하나의 메쉬는 메쉬, io_three 수출을 선택한 경우 것으로 나타났습니다, 그래서 콘솔에서 간단한 파이썬 스크립트를 실행 썼다 :블렌더 콘솔 : threejs를 사용하여 단일 메쉬 내보내기 수출업자

import bpy 

for ob in bpy.context.scene.objects: 
    bpy.ops.object.select_all(action='DESELECT') 
    bpy.ops.object.select_pattern(pattern = ob.name) 
    bpy.ops.export.three(
     filepath = 'path to folder' + ob.name + ".json", 
     option_vertices=True, 
     option_faces=True, 
     option_normals=True, 
     option_uv_coords=True, 
     option_face_materials=True, 
     option_colors=True) 

그것은 있지만 잘못된 내용이 바로 이름을 가진 파일을 생성 : 모든 .json 파일을 장면의 첫 번째 메쉬의 내 보낸 내용을 포함합니다.

어떻게하면 올바른 행동을 취할 수 있습니까? 미리 감사드립니다.

답변

2

three.js 내보내기는 전체 장면이나 활성 객체를 내 보냅니다. 선택 사항을 변경하는 동안 스크립트의 아무 것도 활성 오브젝트를 변경하지 않습니다. 내가 사용하는 abspath() 당신은 정말 작업, 감사 '//'

import bpy 

for ob in bpy.context.scene.objects: 
    bpy.ops.object.select_all(action='DESELECT') 
    if ob.type == 'MESH': 
     ob.select = True 
     bpy.context.scene.objects.active = ob 
     bpy.ops.export.three(
      filepath = bpy.path.abspath('//' + ob.name + ".json"), 
      option_vertices=True, 
      option_faces=True, 
      option_normals=True, 
      option_uv_coords=True, 
      option_face_materials=True, 
      option_colors=True) 
+0

와 경로를 시작하여 혼합 파일의 상대 경로를 얻을 수 있습니다 – vec3h

관련 문제