unity游戏引擎-在Unity3d中使用c#脚本访问3d模型



我正在使用c# (monodevelop)和unity3d开发软件。我正在导入一个3d模型作为collada dae文件。我编写的脚本必须考虑到dae文件中的几何对象。我正在写一些代码,但我在编码方面是新手,我不知道如何使用c#访问dae文件中的几何对象。任何帮助都会非常有帮助

既然你说你是新的编码,我将从非常统一的基础开始。

当你从项目选项卡中拖拽dae文件到场景中时,你将在层次结构中拥有一个与dae文件同名的游戏对象。GameObject可以像Windows资源管理器一样扩展所有内部对象(它们都是GameObject)。

从c#中访问任何唯一的游戏对象,你可以这样做:GameObject. find (" wanted - GameObject -name");

你也可以指定你的游戏对象的路径,如果它的名字不是唯一的: GameObject.Find("GameObject1/GameObject2/Etc");

大多数时候,当你想用GameObject做任何事情时,你需要处理组件。这是一个非常简单的Unity概念。GameObject可能有与其相关的组件。检查器选项卡显示所选GameObject使用的所有组件。

假设你想让一扇门从你的房子模型中不可见。你可以这样用: GameObject.Find("HouseModel/门").GetComponent()。

现在,如果你想要更硬核的东西,比如获取顶点数据,使用MeshFilter组件:Vector3[] vertices = GameObject.Find("HouseModel/Door").GetComponent().mesh.vertices;它将返回这个门的所有顶点的数组。

我希望它给你一些方向。

最新更新