好房网

网站首页百科全书 >正文

unity3d入门参考书(unity3d入门教程)

2022-07-02 23:20:05 百科全书来源:
导读相信目前很多小伙伴对于unity3d入门教程都比较感兴趣,那么小搜今天在网上也是收集了一些与unity3d入门教程相关的信息来分享给大家,希望能...

相信目前很多小伙伴对于unity3d入门教程都比较感兴趣,那么小搜今天在网上也是收集了一些与unity3d入门教程相关的信息来分享给大家,希望能够帮助到大家哦。

1、第二节 检测碰撞下面我们通过简单的JavaScript语句来检测碰撞,这在制作游戏中是很有用的,比如说检测到子弹和敌人的碰撞之后,可以使用我们后来要讲到destory命令消灭敌人。这次我们新建一个Terrain项目,在用Grass贴图来覆盖住它,如果你找不到贴图的话,记得在Asset菜单里找找,看看哪些资源你还没有引入进去。然后再加入一个Cube项目,我这里叫做PlayerCube,为他加上重力,之后选择bouncy性质,然后我们再新建一个Cude,调整y和z的值让他变成一堵墙,放置好,命名为Wall,别忘了给Terrain改名为Terrain,之后我们在Asset菜单中建立一个JavaScript项目,改名为CollisionDetect,双击打开,如果你使用的是Unity 3.5的话,就会打开MonoDev,这是一个新工具还是很好用的,在其中新建一个函数,别管Start和Update函数,我们待会会讲。加入以下代码:function OnCollisionEnter(theCollision : Collision){ if(theCollision.gameObject.name=="Terrain"){ Debug.Log("Hit terrain"); }else if(theCollision.gameObject.name=="Wall"){ Debug.Log("Hit the wall"); }如果看不懂这些代码的话,也没关系,JavaScript是最好学的编程语言,Google一下吧,保存这个JS文件,然后拖到我们的PlayerCube上。这时候我们运行,就会看到PlayerCube到处蹦,碰到Terrain的时候,控制台就会显示Hit Terrain,碰到wall的时候就会显示Hit the wall。

2、第三节  检测用户输入下面我们来讲一下如何检测用户的键盘和鼠标的操作。就用我们上次的那个场景,这次我们给PlayerCube加上我们可以控制的动作。就是通过“wasd”或者上下左右键来控制移动。请注意,如果要使用这里使用的方法来控制移动,那么所控制的物体不能够是一个物理世界的物体,也就是说你要把RigidBody这个component删掉,如果你想要在物理世界里移动物体的话,你就需要我们在下面会讲到的力(force)。首先我们新建一个JavaScript文件,这里命名为InputDetect吧,输入下面的代码:#pragma strict var Player : GameObject; function Start () { } function Update () { Player = GameObject.Find("PlayerCube"); if(Input.GetKey(KeyCode.W)){ Debug.Log("Hit w"); Player.transform.Translate(Vector3.forward * 2); }else if(Input.GetKey(KeyCode.S)){ Debug.Log("Hit s"); Player.transform.Translate(Vector3.back * 2); }else if(Input.GetKey(KeyCode.A)){ Debug.Log("Hit a"); Player.transform.Translate(Vector3.left * 2); }else if(Input.GetKey(KeyCode.D)){ Debug.Log("Hit d"); Player.transform.Translate(Vector3.right * 2);

3、第四节 使用Prefab复制和控制物体我们可以直接把Prefab看做是个妈,她能生好多小孩,如果妈妈的DNA变了,小孩的跟着变,就是说你可以用Prefab创建物体,然后通过这个Prefab修改所有这类物体的性质,这对于批量生成的敌人或者NPC来说很有用。首先,先创建一个Prefab,我这里命名为“Mother”,之后新建一个Sphere物体,当然你也可以建一些其他的物体,之后给这个Sphere加上你想要的性质,我加入了RigidBody和Bouncy,之后将Sphere拖到Mother上,你会发现mother变蓝了,之后你就可以随意拖一些mother物体到屏幕上去,你会发现所有的Prefab创建出的物体在清单上都是蓝色的,说明他们都有共同的性质。当然,作用于一个Prefab上的脚本也会作用到它的子物体上去。

4、第五节 使用Destroy命令消灭物体我们游戏中怎么能够没有敌人呢?有敌人就得能够消灭他们,这时候,我们就会使用Destroy命令了。在这里,我们使用上次Mother生出来的小球球作为敌银,一旦我们的PlayerCube碰撞到了小球的话,就是用Destroy让小球消失。新建一个JavaScript脚本,输入以下代码:#pragma strict var mother : GameObject; function Start () { } function Update () { } function OnCollisionEnter(theCollision : Collision){ mother = GameObject.Find("Mother"); if(theCollision.gameObject.name=="Mother"){ Debug.Log("Hit mother"); Destroy(mother);这段代码很好懂吧,就是检验碰撞,然后销毁碰撞到的Mother物体,别忘了把Destroy的JavaScript文件拖到PlayerCube上去。运行一下,就可以看到碰撞到的物体都被消灭了。

本文到此结束,希望对大家有所帮助。


版权说明:本文由用户上传,如有侵权请联系删除!


标签:

热点推荐
热评文章
随机文章