Python 搅拌机脚本-添加的纹理不正确
我编写了一个python脚本,可以自动向DAE模型添加纹理 用法:blender--background--pythonscript.py 此脚本显示的纹理不正确:Python 搅拌机脚本-添加的纹理不正确,python,scripting,blender,texture-mapping,collada,Python,Scripting,Blender,Texture Mapping,Collada,我编写了一个python脚本,可以自动向DAE模型添加纹理 用法:blender--background--pythonscript.py 此脚本显示的纹理不正确: import bpy from math import pi from mathutils import Quaternion myscale = 0.1; daepath = "input.dae" bpy.ops.wm.read_factory_settings(use_empty=True) # Import Dae b
import bpy
from math import pi
from mathutils import Quaternion
myscale = 0.1;
daepath = "input.dae"
bpy.ops.wm.read_factory_settings(use_empty=True)
# Import Dae
bpy.ops.wm.collada_import(filepath=daepath)
# Rotate
bpy.ops.transform.rotate(value=-pi/2, constraint_axis=(False, True, True))
bpy.ops.transform.resize(value=(myscale, myscale, myscale))
# Change to orthographic view and switch to topview
bpy.context.screen.areas[2].type = 'VIEW_3D'
rv3d = bpy.context.screen.areas[2].spaces[0].region_3d
rv3d.view_rotation = Quaternion((1.0, 0.0, 0.0, 0.0))
rv3d.view_perspective = "ORTHO"
rv3d.view_distance += 1000.0
# Unwrap
bpy.ops.object.mode_set(mode = 'EDIT')
bpy.ops.mesh.select_all(action = 'SELECT')
for oWindow in bpy.context.window_manager.windows:
oScreen = oWindow.screen
for oArea in oScreen.areas:
if oArea.type == 'VIEW_3D':
for oRegion in oArea.regions:
if oRegion.type == 'WINDOW':
override = {'window': oWindow, 'screen': oScreen, 'area': oArea, 'region': oRegion, 'scene': bpy.context.scene, 'edit_object': bpy.context.edit_object, 'active_object': bpy.context.active_object, 'selected_objects': bpy.context.selected_objects}
bpy.ops.uv.project_from_view(override , camera_bounds=False, correct_aspect=True, scale_to_bounds=True)
bpy.ops.object.mode_set(mode = 'OBJECT')
# Add Texture
imgpath = "input.jpg"
img = bpy.data.images.load(filepath=imgpath)
mat = bpy.data.materials['m0DefaultMaterial']
mat.diffuse_intensity = 1.0
mat.specular_intensity = 0.0
tex = bpy.data.textures.new("SomeName", 'IMAGE')
tex.image = img
slot = mat.texture_slots.add()
slot.texture = tex
# Save Dae
bpy.ops.wm.collada_export(filepath="output.dae")
如果我将脚本分成两部分(第#展开部分之前的一部分)并在混合器中运行它们
请告诉我,错误在哪里?欢迎使用Stackoverflow!请在问题中添加脚本或相关部分。链接可能会过期,那么这个问题在将来对任何人都没有帮助。看一看。我想它是在后台模式下运行的,因为没有窗口或视口,更改视口透视实际上并没有改变任何东西。@sambler,可以创建窗口或视口吗?论坛中类似的话题没有给我答案。不是在后台模式下-这就是问题所在,没有创建窗口。@sambler,谢谢你的回答。