选定的顶点没有在Blender 3D中突出显示

 多米音乐_34176403 发布于 2023-02-13 11:31

我在Blender做了一个Cube.使用Python我确实进入编辑模式并选择了一个顶点:

import bpy

bpy.ops.mesh.primitive_cube_add()
bpy.ops.object.mode_set(mode="EDIT")
bpy.ops.mesh.select_all(action="DESELECT")
bpy.context.tool_settings.mesh_select_mode = (True , False , False)
bpy.context.object.data.vertices[0].select = True

bpy.context.object.data.vertices[0].co = (-3,-2,-3)

但是,顶点没有以橙色突出显示,虽然我告诉顶点转到-3,-2 - , - 3它的位置没有更新.

为什么它不突出也不动?

1 个回答
  • 在编辑模式下,编辑器处理网格的镜像,然后在离开编辑模式后将其保存为对象的数据.同时,您的脚本会更改未显示的基础原始网格.离开editmode存储编辑网格,因此脚本更改根本不会显示.

    解决此问题的一种方法是在编辑模式之外执行脚本化更改:

    import bpy
    
    bpy.ops.mesh.primitive_cube_add()
    bpy.ops.object.mode_set(mode="EDIT")
    bpy.ops.mesh.select_all(action="DESELECT")
    bpy.context.tool_settings.mesh_select_mode = (True , False , False)
    bpy.ops.object.mode_set(mode="OBJECT")
    bpy.context.object.data.vertices[0].select = True
    bpy.context.object.data.vertices[0].co = (-3,-2,-3)
    bpy.ops.object.mode_set(mode="EDIT")
    

    另一个是请求编辑BMesh:

    import bpy, bmesh
    
    bpy.ops.mesh.primitive_cube_add()
    bpy.ops.object.mode_set(mode="EDIT")
    bpy.ops.mesh.select_all(action="DESELECT")
    bpy.context.tool_settings.mesh_select_mode = (True , False , False)
    mesh=bmesh.from_edit_mesh(bpy.context.object.data)
    mesh.verts[0].select = True
    mesh.verts[0].co = (-3,-2,-3)
    

    这是Blender脚本界面的文档记录.

    2023-02-13 11:33 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有