You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UPBGE中Blender脚本修改后无法在视口更新的问题求助

Blender脚本修改面索引后视口不更新的解决方法

在Blender中修改脚本内的变量或函数后,结果通常应该自动更新。我需要选择场景中平面的某个面并挤出指定单位,初始操作正常,但修改面索引后,视口未更新结果。尝试「重新加载脚本」以及通过Blender→系统→重新加载功能,均未解决问题。

初始问题代码

import bpy
import bmesh

bpy.ops.object.editmode_toggle()

bpy.ops.mesh.select_mode( type = 'FACE' )

plane = bpy.context.scene.objects['Plane'].data

bm = bmesh.new()

bm.from_mesh(plane)

#bpy.ops.mesh.normals_make_consistent(inside=False)

bm.faces.ensure_lookup_table()

for face in bm.faces:
    face.select = False

bm.faces[42].select = True
    
#bm.faces.active = bm.faces[10]

bpy.ops.mesh.extrude_faces_move(TRANSFORM_OT_shrink_fatten={"value":+10})

bpy.ops.object.editmode_toggle()

#bm.to_mesh(plane)

修正后的可用代码

现在脚本已正常工作,修正后的代码如下:

import bpy
import bmesh

bpy.ops.object.editmode_toggle()

bpy.ops.mesh.select_mode( type = 'FACE' )

plane = bpy.context.scene.objects['Plane'].data

bm = bmesh.new()

bm = bmesh.from_edit_mesh(plane)

#bpy.ops.mesh.normals_make_consistent(inside=False)

bm.faces.ensure_lookup_table()

for face in bm.faces:
    face.select = False

bm.faces[19].select = True
    
#bm.faces.active = bm.faces[10]

bpy.ops.mesh.extrude_faces_move(TRANSFORM_OT_shrink_fatten={"value":+10})

bmesh.update_edit_mesh(plane)

bpy.ops.object.editmode_toggle()

效果展示

挤出效果

内容的提问来源于stack exchange,提问作者Acknowledge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 22:01:07