unity3d入门教程

2025-04-25 00:38:27

1、第一节 加入重力我们先打开Unity3d,新建一个场景(Scene),新建的时候应该会有对话框要求你加入哪些Asset Package,记得选择Physics Material,因为后面我们一定要用的哦亲。如果创建的时候没加,你可以再后来的Asset菜单里加:之后,我们建立一个Cude,调整一下x和z的大小,我这里调成了25,让它变成一个地板,你也可以放一个texture上去,看起来更加真实,我这里从简,再创建一个sphere,在component中选择Physics中的RigidBody,前提是选中你的sphere物体,之后会看到这个Sphere的inpector中加入一个component叫做RigidBody,调整好Camera运行一下,你就会发现Sphere受到重力的影响自动掉落到地板上。之后,通过我们之前引入的Physics Materials资源包,你还可以选择这个物体的物理性质,我这里选择Bouncy(跳跳),落下之后,这个物体就会蹦来蹦去的,呵呵

2、第二节 检测碰撞下面我们通过简单的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。

3、第三节检测用户输入下面我们来讲一下如何检测用户的键盘和鼠标的操作。就用我们上次的那个场景,烂瘀佐栾这次我们给PlayerCu芟鲠阻缒be加上我们可以控制的动作。就是通过“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);

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢