unity 怎么获取一个物体的mesh并赋给另一个物体
时间: 2023-10-11 22:11:40 浏览: 36
你可以使用 Unity 的 MeshFilter 组件来获取一个物体的 Mesh,并将其赋值给另一个物体的 MeshFilter 组件。下面是一个示例代码:
```csharp
// 获取源物体的 Mesh
Mesh sourceMesh = sourceObject.GetComponent<MeshFilter>().sharedMesh;
// 获取目标物体的 MeshFilter 组件
MeshFilter targetMeshFilter = targetObject.GetComponent<MeshFilter>();
// 将源物体的 Mesh 赋值给目标物体的 MeshFilter
targetMeshFilter.sharedMesh = sourceMesh;
```
在上面的代码中,`sourceObject` 是源物体,`targetObject` 是目标物体。首先,我们通过 `GetComponent<MeshFilter>()` 方法获取源物体的 MeshFilter 组件,然后使用 `sharedMesh` 属性获取其 Mesh。接下来,我们通过 `GetComponent<MeshFilter>()` 方法获取目标物体的 MeshFilter 组件,最后将源物体的 Mesh 赋值给目标物体的 MeshFilter 的 `sharedMesh` 属性。
请注意,这里使用的是 `sharedMesh` 属性而不是 `mesh` 属性。`sharedMesh` 在多个物体之间共享,而 `mesh` 是一个独立的实例。如果你需要在运行时修改 Mesh 的话,应该使用 `mesh` 属性而不是 `sharedMesh`。
阅读全文