我目前正试图通过C#让游戏统一工作。我认为我在这方面做得很好。
游戏是堆叠游戏:
一个框将从左向右移动,你按空格来叠加它 如果它放在最后一个方框上,那么你可以进一步推进它。
但现在我的问题是:盒子是在Blender制作的物体。
但是我想要在当前盒子下方创建的盒子,玩家控制的盒子看起来像我在Blender中制作的盒子。
我怎样才能做到这一点?到目前为止我只使用:
GameObject cb = GameObject.CreatePrimitive(PrimitiveType.Cube);
cb.transform.position = new Vector3(CurrentX, CurrentY, CurrentZ);
创建一个普通的立方体。
答案 0 :(得分:0)
我不认为2行代码可以完成你刚才提到的所有内容。希望这只是代码中的一个片段。
但现在我的问题是:盒子是在Blender制作的物体。
但是我想要在当前盒子下方创建的盒子 玩家控制看起来像我在Blender制作的盒子。
您必须将此框从Blender导出到.fbx
,.blend
或Unity支持的任何其他3D模型格式。然后,您可以导入导出到Unity的文件。 Here是一个教程。
将导入的cube / GameObject变为预制件,然后使用Instantiate
函数每次创建新的多维数据集,而不是GameObject.CreatePrimitive
。
将当前代码更改为
public GameObject boxPrfab;
GameObject cb = Instantiate(boxPrfab, Vector3.zero, Quaternion.identity) as GameObject;
cb.transform.position = new Vector3(CurrentX, CurrentY, CurrentZ);
确保将该预制件拖到boxPrfab
插槽中。
答案 1 :(得分:0)
我认为你想要产生的memory
box
已经存在于场景中。然后右键单击选项卡并选择GameObject
- >,在Prefab
标签中创建Project
Create
。将预制件命名为像e一样敏感的东西。 G。 Prefab
。现在将BoxPrefab
box
从GameObject
标签拖放到Hierarchy
标签中,然后拖到新创建的预制件条目上。
现在,您可以将一个公共成员变量添加到用于实例化框生成的脚本中,例如: G。像这样:
Project
然后将之前创建的预制条目从public GameObject PrefabBox = null;
标签拖放到Project
标签中的新属性PrefabBox
。在同一个脚本中,您可以实例化预制件的生成。 G。通过以下代码:
Inspector
Find more info on instantiating GameObjects dynamically in the Unity3d docs.