这是由于复制时没有将所有必要的数据复制到缓冲区中造成的。为了在Unity中正确实例化,需要使用"Mark Freestyle Edge" 或 "Edge Split"等方法来设置模型的硬边缘。以下是一个示例代码,展示如何在Blender中正确地设置硬边缘:
import bpy
# Get active object
obj = bpy.context.object
# Deselect all edges
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all(action='DESELECT')
# Select hard edges
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.mark_freestyle_edge(clear=False)
# Deselect all edges
bpy.ops.mesh.select_all(action='DESELECT')
# Split edges
bpy.ops.mesh.select_edge_loops()
bpy.ops.mesh.edge_split(type='EDGE', use_verts=False, use_face_split=False, angle_limit=0.0)
在导入Unity之前,请确保已将Blender中的硬边缘设置为了正确的材质属性或使用了"Edge Split"来分离硬边缘。