繁体   English   中英

C#Unity游戏测试

[英]C# Unity game test

我目前正试图通过C#让游戏在团结中运作。 我认为我在这一点上做得很好。

游戏是堆叠器游戏:

一个盒子将从左向右移动,你按空格来叠加它如果它在最后一个盒子上你放置它进一步。

但现在我的问题是:盒子是Blender制造的物体。

但我希望我正在当前盒子下方创建的盒子,玩家控制的盒子看起来像我在Blender中制作的盒子。

我怎样才能做到这一点? 到目前为止我只是使用:

    GameObject cb = GameObject.CreatePrimitive(PrimitiveType.Cube);
    cb.transform.position = new Vector3(CurrentX, CurrentY, CurrentZ);

创建一个普通的立方体。

我不认为2行代码可以完成你刚才提到的所有内容。 希望,这只是代码中的一小部分。

但现在我的问题是:盒子是Blender制造的物体。

但我希望我正在当前盒子下方创建的盒子,玩家控制的盒子看起来像我在Blender中制作的盒子。

您必须将框从Blender导出到.fbx.blend或Unity支持的任何其他3D模型格式。 然后,您可以导入导出到Unity的文件。 是一个教程。

将导入的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插槽。

我假设box GameObject要产卵已经存在于现场。 然后在“ Project选项卡中创建一个Prefab ,方法是右键单击选项卡,然后选择“ Create - >“ Prefab 将预制件命名为敏感的东西,例如BoxPrefab 现在拖放的box GameObjectHierarchy标签进入Project选项卡到新创建的预制条目。

现在,您可以将一个公共成员变量添加到要实例化框生成的脚本中,例如:

public GameObject PrefabBox = null;

然后将您之前创建的预制条目从“ Project选项卡PrefabBox到“ Inspector选项卡中的新属性PrefabBox上。 在同一个脚本中,您可以通过以下代码实例化预制件的生成:

GameObject boxSpawn = GameObject.Instantiate<GameObject>(
    PrefabBox,
    new Vector3(CurrentX, CurrentY, CurrentZ),
    PrefabBox.transform.rotation);

在Unity3d文档中查找有关动态实例化GameObjects的更多信息。

在这里找到GameObject.Instantiate的语法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM