unity3d入门教程

Unity3D用它创建一个类似MiniGore这样的3D平面射击游戏简直轻而易举,而就连使命召唤这样的大型3d游戏,如果素材得当也不在话下。二是因为易用,他的操作非常容易,而使用的脚本语言又是JavaScript或者C#,不仅非常简单,也让各个种类的程序员都非常容易上手。再次,就是因为免费,如果你不使用Pro或者Mobile的内容的话,Unity3d就是完全免费的。还有就是对3D模型的兼容性,几乎任何3d模型都可以导入到unity中,可以说是一个很方便的特性。
今天,我就来讲讲Unity3D的基础操作,这可以说是一个新手必读吧,读完之后,你一定会惊叹,原来做一个游戏这么简单。

操作方法

  • 01

    第一节 加入重力 我们先打开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(跳跳),落下之后,这个物体就会蹦来蹦去的,呵呵

  • 02

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

  • 03

    第三节  检测用户输入 下面我们来讲一下如何检测用户的键盘和鼠标的操作。 就用我们上次的那个场景,这次我们给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);

方法/步骤2

  • 01

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

  • 02

    第五节 使用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上去。运行一下,就可以看到碰撞到的物体都被消灭了。

(0)

相关推荐

  • NavMesh寻路网格自动生成和动态障碍技术.Navmesh入门教程

    在之前的自己写的NavMesh网格寻路功能的基础上,做了个寻路网格动态自动生成的功能,突破了Unity的自带寻路不能动态生成寻路网格,一定要先break再用的缺点。 用法很简单,把可以走的地形设置成一 ...

  • 无代码做动效神器HYPE3入门教程

    Hype这个关键词在百度上搜索都不一定知道它到底是什么,但自从我用上之后,就爱上它了,就像当年喜欢上Sketch一样 >>> 它适合哪些人? 用AE、Flash等动画视频工具做App ...

  • MindManager新手入门教程

    MindManager是一款创造.管理和交流思想的思维导图软件,其直观清晰的可视化界面和强大的功能可以快速捕捉.组织和共享思维.想法.资源和项目进程等等.MindManager新手入门教程专为新手用户 ...

  • 在Mac OS X系统编程.软件开发入门教程

    苹果电脑不仅可以用来上网.娱乐.做设计,还可以帮我们做很多事情,比如苹果机(Mac OS X)是编程做软件开发很好的平台. 下面是在Mac OS X编程.软件卡发入门教程苹果最新的操作系统Mac OS ...

  • 可能是史上最全的IPAD插画入门教程

    今天这篇超全面的iPad 插画 入门指南,从哪款绘图软件好,不同触控笔的特点,可以画什么到怎么画都有非常细致的评测和过程,甚至有作者亲自演示的插画 教学(附绘画视频),用心程度让人惊喜不已,千万别错过 ...

  • 火狐浏览器插件开发入门教程

    许多网友都想学习火狐浏览器插件开发这一方面的知识,不过,目前,许多资料都是比较晦涩难懂,不太适合初学者.那么,初学者想要学习火狐浏览器插件开发该怎么入门呢?还是一起来看看今天的火狐浏览器插件开发入门教 ...

  • FL Studio(水果音乐制作软件)入门教程介绍

    FL Studio是款专业的音频录制编辑软件,可以针对作曲者的要求编辑出不同音律的节奏,例如鼓.镲.锣.钢琴.笛.大提琴等等任何乐器的节奏律动.FL Studio目前在中国已经受到广大制作人喜爱,使用 ...

  • InDraw怎么用?InDraw(Integle ChemDraw)快速入门教程

    InDraw全称Integle ChemDraw作为integle核心工具之一,专为化学.医药科学家提供完整易用的绘图解决方案,不仅能够快速绘制化学结构及反应式,而且可以获得相应的化学属性数据.系统命 ...

  • 简单易操作的ps抠图入门教程

    PS中的抠图是用得最多的,抠图方法有很多种,下面给大家介绍简单易操作的ps抠图入门教程.具体如下:1. 首先,我们先在PS中打开需要抠图的图片:2. 接下来,在左边工具栏选择钢笔工具,然后选择路径模式 ...