unity3d教程_unity3d教程菜鸟 - CSDN
  • Unity3D入门教程中文版

    2020-07-28 23:32:21
    Unity3D入门教程中文版,设计基本的操作和软件的介绍,也有实操指导
  • 2018年什么游戏最火? 不用问,肯定是人人都在撸的“王者荣耀”和吃鸡游戏了。...Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综...

    2018年什么游戏最火?

    不用问,肯定是人人都在撸的“王者荣耀”和吃鸡游戏了。

     

    只会打游戏,不去研究可不行。一直在想,像王者荣耀这样火的游戏是用什么引擎和语言开发的?

    这里就不得不说到现在最主流的游戏开发引擎——Unity3D了。

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    相信做开发的人知道Unity3D,很多小伙伴也在找它的教程,今天我就分享一下Unity3D视频教程,希望能帮到大家。

    Unity3D基础视频

    http://yun.itheima.com/course/137.html?stt

    资料:http://pan.baidu.com/s/1eSDUbTo 密码:o97j

    课程介绍
    这是一套关于unity的基础课程,由传智大沙漠老师随堂录制。本套课程从C#语言开始,介绍了很多语言方面的特性,这些特性在unity开发及插件使用中都会出现。接下来是关于unity的操作,包括:模型、物理引擎、粒子系统、渲染、脚本生命周期、着色器、优化等知识点。通过学习这些内容,能够独立完成一些简单的游戏开发,并为接下来更高阶段的学习提供帮助。
    视频概况
    【第一天】
    讲解C#的基础知识,主要讲语法、面向对象两个知识点。如果你有C语言的开发基础,你会发现他们太像了,是的,语法非常相似。面向对象的三大特性:封装、继承、多态,会逐一讲解,并通过一些示例代码让你有更深入的理解。最后讲解了枚举与标志枚举的使用。
    【第二天】
    讲解常用的C#的类及函数。包括泛型、集合(List<T>与Dictionary<K,V>)、文件IO操作(主要是FileStream类)、Ado.Net(操作数据库),并以MySql数据库为例进行crud操作。
    【第三天】
    讲解C#的高级部分。包括:在函数的参数主要有3种方式传递,分别为:值传递,ref引用传递,out引用传递;关键字params实现参数的数组化;扩展方法的实现;委托与事件、lambda表达式的使用;线程的使用;最后讲解了单例、工厂、发布-订阅三种设计模式。
    【第四天】
    讲解C#的套接字Socket。以聊天室为示例,自定义传输协议,客户端能够收发信息,服务器端则负责将客户端发来的转发给其它客户端。主要讲解了Socket类的构造方法、Connet、Bind、Accept、Receive、Send等方法的使用。
    【第五天】
    讲解unity的知识点主要包括:坐标系;摄像机的投影方式;内置对象的使用;Scence面板的操作;用户接入;游戏对象的旋转、移动;预设与复制;导入模型;动态的两种方式Animation、Animator;在VS中调试。
    【第六天】
    讲解unity的知识点主要包括:光照及烘焙;第一人称与第三人称设置;地形系统;粒子系统;物理引擎中的刚体、碰撞检测、角色控制器。最终通过学习的知识点完成了打箱子、夏威夷漫游两个小示例。
    【第七天】
    讲解unity的知识点主要包括:音频的播放;预保存;资源加载;场景切换;协同调用;WWW类;寻路导航。在寻路中主要实现了自定义、水平跳、向下跳三种自定义移动方式,以及动态选择层。
    【第八天】
    讲解unity的知识点主要包括:GUI、uGUI、NGUI。重点介绍的是NGUI,通过NGUI可以制作图集、字体(结合BMFont)、交互脚本(以Button为例)、动画脚本(以宽高为例),最后完成了滚动栏、拖曳的效果。

     

    展开全文
  • Unity3D教程doc文档,对初学者很有帮助
  • 深入浅出Unity3D——第一篇

    万人学习 2019-07-01 10:35:43
    Unity3D基础知识、游戏算法一网打尽。
  • C#脚本编程针对完全初级的,非常全面的编程讲解,里面很多技巧是多年经验的书写,适合任何人。
  • unity入门教学,新手教学,新手到大神的教学。。。

    首先声明一下,我用的Unity版本是4.6.6,编译环境是VS2010,其余的我会慢慢介绍,安装的过程这里我就不做讲解了,度娘那会做的比我详细。安装包可以在最下面的联系方式找我要,现在开始进入主题。
    打开Unity以后,我们先新建工程,这里要注意,一定要一个汉字都不能有,一定!避免出现不必要的Bug。
    这里写图片描述

    打开工程以后,就可以看到我们的Unity的操作界面。

    这里写图片描述

    这个我用着不方便,按照我个人的习惯,变成了这样的布局,当然这是个人喜好,可以不用模仿我。

    这里写图片描述

    那么这里每个模块的每个功能我就不一一介绍了,具体功能介绍我推荐给大家几本书,以供参考。

    这里写图片描述

    这里写图片描述

    首先看这里

    这里写图片描述

    快捷键从左至右为QWERT,功能为
    Q:调整视图
    W:移动工具
    E:旋转工具
    R:缩放工具
    T:选择工具
    鼠标右键为旋转视图,鼠标中键等于按下Q的左键操作。

    现在,我们来创建一个GameObject来练习如何操作Unity3D。

    首先,创建一个Cube。

    这里写图片描述

    然后调整到MainCamera能观看到的范围内。

    这里写图片描述

    在这里我要介绍一下MainCamera,这个是游戏的主摄像机,也就是说我们玩游戏的视图都是这个东西拍摄下来的游戏引擎里的游戏对象。因为,场景没有光源,所以MainCamera看到的东西比较暗,那么我们为场景添加光源,然后选中这个Cube按F2重命名为Floor,并将Floor通过缩放工具变成我们需要用的地板。

    这里写图片描述

    这里写图片描述

    下面我们在Floor的上方再新建一个Cube,作为我们的主角,命名为Player。

    这里写图片描述

    现在我们点击Unity上方像播放似的那个按钮,就是运行游戏,可以法线并没有什么变化,现在我们给主角添加刚体。—-Rigidbody
    并运行游戏。

    这里写图片描述

    这里写图片描述

    可以看到我们的Player掉到了Floor上,因为我们添加了物理引擎。他可以模拟重力,模拟碰撞、、、等等。

    下面开始用代码让我们的Player动起来吧!

    首先先创建C#脚本文件。

    创建脚本前以防我们的工程文件会很乱,所以我们要新建一些文件夹,为我们的资源分类,我分了这些类,并且创建了一个PlayerMove的C#脚本。

    这里写图片描述

    这里写图片描述

    双击用VS2010打开脚本。

    这里写图片描述

    下面我们开始写移动的代码。

    public class PlayerMove : MonoBehaviour {
    
        //定义移动的速度
        public float MoveSpeed = 2f;
        //定义旋转的速度
        public float RotateSpeed = 0.01f;
    
    
        void Start () {
    
        }
    
        void Update () {
    
            //如果按下W或上方向键
            if(Input.GetKey(KeyCode.W)||Input.GetKey(KeyCode.UpArrow))
            {
                //以MoveSpeed的速度向正前方移动
                this.transform.Translate(Vector3.forward*MoveSpeed*Time.deltaTime);
            }
            if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow))
            {
                this.transform.Translate(Vector3.back * MoveSpeed*Time.deltaTime);
            }
    
            //如果按下A或左方向键
            if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
            {
                //以RotateSpeed为速度向左旋转
                this.transform.Rotate(Vector3.down * RotateSpeed);
            } 
            if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
            {
                this.transform.Rotate(Vector3.up * RotateSpeed);
            }
    
        }
    }

    把这个代码托给Player。

    这里写图片描述

    好了,运行游戏,你的Player已经可以移动了。

    这里写图片描述

    按下Ctrl+S保存场景,第一讲到此结束,未完待续。。。 。。。

    联系方式
    查看Aries的领英个人资料 查看Aries的个人资料

    QQ:531193915
    E_Mail:15210411296@163.com

    展开全文
  • Unity3D游戏引擎最详尽基础教程

    万次阅读 2018-06-27 15:23:06
    我一直向所有想做游戏的朋友推荐Unity3D,为什么呢?首先是因为专业,Unity3D非常强大,用它创建一个类似MiniGore这样的3D平面射击游戏简直轻而易举,而就连使命召唤这样的大型3d游戏,如果素材得当也不在话下。二是...

    我一直向所有想做游戏的朋友推荐Unity3D,为什么呢?首先是因为专业,Unity3D非常强大,用它创建一个类似MiniGore这样的3D平面射击游戏简直轻而易举,而就连使命召唤这样的大型3d游戏,如果素材得当也不在话下。二是因为易用,他的操作非常容易,而使用的脚本语言又是JavaScript或者C#,不仅非常简单,也让各个种类的程序员都非常容易上手。再次,就是因为免费,如果你不使用Pro或者Mobile的内容的话,Unity3d就是完全免费的。还有就是对3D模型的兼容性,几乎任何3d模型都可以导入到unity中,可以说是一个很方便的特性。

     

    今天,我就来讲讲Unity3D的基础操作,这可以说是一个新手必读吧,读完之后,你一定会惊叹,原来做一个游戏这么简单。

     

    第一节 加入重力

     

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

     

     

     

    第二节 检测碰撞

     

    下面我们通过简单的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。

     

    第三节  检测用户输入

     

    下面我们来讲一下如何检测用户的键盘和鼠标的操作。

     

    就用我们上次的那个场景,这次我们给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);
    
     
    
    }
    
     
    
     
    
    }
    

     

    这时,我们运行这个游戏,就可以通过“WASD”来控制PlayerCube的移动了。

     

     

    第四节 使用Prefab复制和控制物体

     

    我们可以直接把Prefab看做是个妈,她能生好多小孩,如果妈妈的DNA变了,小孩的跟着变,就是说你可以用Prefab创建物体,然后通过这个Prefab修改所有这类物体的性质,这对于批量生成的敌人或者NPC来说很有用。

     

    首先,先创建一个Prefab,我这里命名为“Mother”,之后新建一个Sphere物体,当然你也可以建一些其他的物体,之后给这个Sphere加上你想要的性质,我加入了RigidBody和Bouncy,之后将Sphere拖到Mother上,你会发现mother变蓝了,之后你就可以随意拖一些mother物体到屏幕上去,你会发现所有的Prefab创建出的物体在清单上都是蓝色的,说明他们都有共同的性质。

     

     

    当然,作用于一个Prefab上的脚本也会作用到它的子物体上去。

     

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

     

     

    第六节 使用Instantiate命令创造物体

     

    我们直接在界面创造的物体都只是会在界面被初始化的时候加载,那么,如果为了节约内存或者其他什么事情,我想要在游戏过程中添加物体,那该怎么办呢?你猜对了,就是用instantiate命令。

     

    这个命令就是英文实例化的意思,下面我们给碰撞之后消失的mother物体继续初始化一些,也就是说消灭了一些,又来了一大波···

     

    为什么非要用mother呢?因为只有拥有Prefab的物体才能够使用这个命令哦亲。

     

    function Update () {
    
     
    
    var instance : GameObject = Instantiate (PreFab,transform.position,transform.rotation);
    
     
    
    }
    

     

    注意:这样的话,每次刷新一帧都会出现一个新的mother物体,你的内存也许会受不了哦,更合理的方法是按下空格键,然后出现一个新的物体,你可以自己做吗?试试看

     

    你可能已经注意到了,每一个初始化的脚本都会默认有两个函数,就是:

    Update()函数 —— 每刷新一帧都会检查并执行

    Start()函数 —— 只在场景初始化的时候执行

     

    第七节 使用Timer计时器

     

    这次,我们要让一个计时器倒数,倒数到0的时候创建一个mother物体,来看Javascript代码吧:

     

    #pragma strict
    
     
    
    var myTimer : float = 5.0;
    
     
    
    function Start () {
    
     
    
    }
    
     
    
    function Update () {
    
     
    
    if (myTimer >= 0){
    
    myTimer -= Time.deltaTime;
    
    guiText.text=(""+myTimer);
    
    }
    
     
    
    if (myTimer <= 0){
    
    guiText.text = ("Done");
    
    }
    
     
    
    }
    

     

    把这个脚本拖到GUItext控件上,你会发现我们所期待的效果。

     

     

    第八节 让物体动起来

     

    其实让物体行动的技巧,我们已经会了,不是吗?

     

    如果你觉得不是的话,没有认真的看上面的文章哦,我就再给你讲一次吧。

     

    请特别注意,这种方法不适合物理世界的物体,如果向移动物理世界的物体,请看下一节:

     

    创建一个Cylinder物体,之后将下面的脚本附着在上面。

     

    #pragma strict
    
     
    
    var myObject : GameObject;
    
     
    
    function Start () {
    
     
    
    }
    
     
    
    function Update () {
    
     
    
    myObject.gameObject.Find("Cylinder");
    
    myObject.transform.Translate(Vector3(0,0,1));
    
     
    
    }
    

     

    第九节 使用物理世界的力

     

    这里是我们讲移动物体的重点,因为大部分的物体移动都是在物理世界完成的,而如果想要在物理世界移动东西,除了position和rotation的移动之外,就是使用“力”了,在高中学过经典物理学的人都知道,要使物体用移动,木有力是不行的,那么我们就开始吧,再新建一个什么物体,我新建了一个Capsule。

     

    之后,我会在这个物体的上方加一个力,让它用力的向下飞,触碰到地之后,通过bouncy这个性质再弹回来。新建一个JavaScript文件,就叫做Force吧,加入如下代码:

     

    #pragma strict
    
     
    
    var Power : float = 500.0;
    
     
    
    function Start () {
    
     
    
    rigidbody.AddForce(Vector3(0,Power,0));
    
     
    
    }
    
     
    
    function Update () {
    
     
    
    }
    

     

    运行之后,会发现capsule其实是个很有幽默感的物体。

     

     

    第十节 使用贴图和材质

     

    贴图和材质能够使你的虚拟3D世界看起来更加真实,不幸的是,需要大量在PS和AI中的设计工作,最近我一想到要打开PS就有点烦···呜呜。

     

    闲话少说,我已经做好了一个贴图,怎么使用在材质上呢?之后我们怎么才能通过材质使用到其他物体之上呢?

     

     

    就像你看到的一样,我是直接拖进去的···

     

    之后我们从新建菜单中选择Material这一项,之后选中material,将贴图拖进material的贴图选框里,之后,就可以拖动这个Material赋给任何物体了。

     

     

    第十一节 使用声效和音乐

     

    音效和音乐对于一个游戏来说是非常重要的,一个寂静无声的世界是无聊的,而且不真实,什么?你说声效和音乐是一个东西?那你就错了,声效是,比如说发射子弹的声音,什么东西爆炸的声音等等,而音乐则是背景音乐什么的,不一样的亲。

     

    对于音乐来说,往往使用立体声音乐,而对于生效来说,我们随便使用一个简单的音乐文件就可以了。

     

    想要在Unity3D中播放音乐,你需要两样东西,一个是监听器,一个是音乐源,监听器是Camera的一个组件,所以你不用担心,你唯一需要增加的就是音乐源。

     

    直接将项目中的音乐拖放到Audio Source项就可以播放,但是如果我们想要在某个特定的点上 播放音乐该怎么办呢?答案就是,写一个脚本,新建一个脚本,输入如下代码:

     

    #pragma strict
    
     
    
    var myClip : AudioClip;
    
     
    
    function Start () {
    
     
    
    AudioSource.PlayClipAtPoint(myClip,transform.position);
    
     
    
    }
    
     
    
    function Update () {
    
     
    
    }
    

     

    之后将这个脚本拖放到我们的物体上,最后,将音频文件拖放到AudioSource选项框中。

     

    第十二节 使用关节

     

    关节在3D游戏之中的应用非常广,主要在于物理世界的重力影响,下面我们就通过关节来制作一个钟摆。

     

    这次我们新建一个场景,松了一口气?刚才的场景是不是太乱了?你做的时候可以整理一下嘛,呵呵

     

    新建一个cube作为地面,之后一个cube放在上空作为摆垂,之后用几个capsule分别用component中的fixed joint连接起来,之后最上面的那个capsule与世界相连,使用Hinge Joint,这样的话,他会默认与世界相连,不用担心,看图

     

     

     

    第十三节 使用Axes

     

    在Edit – Project Setting – input 中可以查看各种形式的input,这些input方法在unity中被叫做Axes。

     

    我们创建一个JavaScript,叫做GetAxes,输入以下内容:

     

    #pragma strict
    
     
    
    function Start () {
    
     
    
    }
    
     
    
    function Update () {
    
     
    
    var Honriz : float = Input.GetAxis("Honrizontal");
    
     
    
    Debug.Log(Honriz);
    
     
    
    }
    

     

    在拖放脚本之后,运行这个场景,看看控制台输出了什么,你就明白了。

     

     

    第十四节 使用触发器

     

    触发器一般用于检测一个物体是否处于一个空间内,他是怎么做到的呢?

     

    首先,他创造一个大的物体,之后将他的randerer属性去掉,他就隐形了,这样,我们再把他的isCollide属性去掉,他就不会发生碰撞了,之后,我们只需要用脚本检测物体是否与这个物体碰撞就可以了。

     

    我们新建一个场景,做一个地板,再做一个底座,叠加起来,再在他们的上空做一个方块,设置rigidbody属性,将底座设置成为我们刚才说的那种隐形的状态,之后新建一个JavaScript脚本,输入代码

     

    #pragma strict
    
     
    
    function Start () {
    
     
    
    }
    
     
    
    function Update () {
    
     
    
    }
    
     
    
    function OnTriggerEnter (myTrigger : Collider) {
    
     
    
    if(myTrigger.gameObject.name == "box"){
    
    Debug.Log("Hit");
    
    }
    
     
    
    }
    

     

    按下运行,会发现可以检测出Hit。

     

     

    第十五节 使用GUI

     

    其实我们已经学过了如何使用GUI text,不信,我们就用屏幕上的字代替我们在上面的程序中的Debug.Log现实的内容。

     

    你自己能做吗?

     

    试试看吧,一个下午写了这么多,有点累。

     

    一定要在Unity中加入一个GUI Text,运行一下,就会发现屏幕上的GUI Text会随着你设定的的内容而变化了。

    失败是什么?没有什么,只是更走近成功一步;成功是什么?就是走过了所有通向失败的路,只剩下一条路,那就是成功的路。
    展开全文
  • Unity3D是一个跨平台的游戏开发引擎,它能够帮助开发者快速构建游戏场景,进行游戏开发与发布。它支持将开发好的作品发布到Windows、Mac OS、Android、iOS、Linux等多种平台。另外,Unity3D官方版本目前可以运行在...

    《Unity3D入门教程》会带领零基础的初学者,一步步学会使用Unity3D来开发简单的应用程序,走近游戏开发的世界。本系列教程虽然不会面面俱到地深入到全部的知识点,但是会涉及到所有入门阶段所需要掌握的必备技能。通过本教程的学习,可以快速“入门”。师傅领进门,修行在个人。当我们掌握了基本的框架和技能后,就可以自由选择自己喜欢的点去深入学习。本教程是博主自己学习Unity3D时候总结的学习笔记,基本能够涵盖住入门阶段所需要学习的点。希望能都对读者有哪怕那么一点点的帮助,也不枉敲了那么久的键盘,码了那么些字。Enjoy Unity3D!


    ------------------------------------------------------------------------------------------------------------------

    1 Unity3D介绍

    Unity3D是一个跨平台的游戏开发引擎,它能够帮助开发者快速构建游戏场景,进行游戏开发与发布。它支持将开发好的作品发布到Windows、Mac OS、Android、iOS、Linux等多种平台。另外,Unity3D官方版本目前可以运行在Windows和Mac OS上,当然还有可以运行在Linux上的非官方版本。


    打开Unity3D官网,可以开到如下的画面,可见Unity3D的主要目标还是集中在游戏开发上,也包含VR/AR的开发。


    2 Unity3D下载与安装

    https://store.unity.com/cn/?_ga=1.18936120.1875984010.1467707827

    打开上面Unity商店网址,会看到如下的界面。


    选择免费的个人版,点击进入。


    可以直接点击下载安装程序,也可以点击底部最右侧的“Unity旧版本”。我一般会选择后者,因为这样就可以自由选择要安装的版本。开发中最好采用一样的版本,否则在打开别的程序的时候总会根据Unity版本重新生成工程,来回转换难免不会出现什么隐含的Bug。点击“Unity旧版本”后,实际上看到的列表中也包含最新的版本。


    根据你的系统选择相应的版本下载即可。例如我的是Win10 64位,我就点击5.4.1的“下载(Win)”按钮,选择Unity编辑器(64位)下载。我没有选择最新的版本,因为我已经有其他的程序是使用这个版本编辑的。如果你喜欢最新版,完全可以下载最新版,都是没问题的。

    之后在你的下载目录会有“UnitySetup64-5.4.1f1.exe”这个文件,双击运行。一路点继续,到安装路径的页面可以更改安装路径,其他都默认即可。安装完后,如果没有使用破解补丁破解,界面是灰白色的,破解后是深灰色的。其实使用功能上没什么区别,反正现在有了免费的个人版,对于我们做研究来说,破解与否没差别。


    第一次打开Unity可能需要登陆账号,可以随便注册一个登陆即可。点击“NEW”,输入工程名和路径,点击“Create project”。


    至此,表示软件安装成功,可以正常运行了。

    3 程序打包发布

    按Ctrl+S,保存当前场景,可以命名为MyScene。之后在Project中的Assets下就会有已经保存的场景。然后File——Build Settings,出现下面的面板


    点击“Add Open Scenes”就能将当前场景添加到待生成的列表里,然后左下方的平台就选择“PC, Mac & Linux Standalone”,然后点击Build。然后会要求你选择发布程序的路径和输入名称。如果和我一样选择默认路径,发布程序名称为“test”那么会在工程目录下看到发布出的程序。


    双击test.exe,会出现如下对话框:


    将分辨率设置为640*480,勾选Windowed,点击Play,就会看到如下场景:


    好了,现在我们已经成功发布了一款应用程序。尽管这个程序什么功能都没有,但是它仍然是我们使用Unity3D成功发布的第一个应用程序,具有非凡纪念意义。它表明我们已经走在Unity3D开发之路上了。


    展开全文
  • Unity3D官方教程爬坑

    万次阅读 2019-10-17 15:51:04
    同时会添加到处学来的的Unity技巧 ---------------------------------------------------------- 代码: 1.使游戏对象运动的N种方式 更全面的移动方式参考 1、rigidbody.addforce(Vector3 * speed) (见roll...
  • Unity3D 2018安装教程

    万次阅读 2019-06-15 21:42:20
    安装步骤: ...Unity2018.3.0相较2017版本的在启动时稳定了很多(2017版本启动经常会卡在loading界面) 如果启动Unity2018.3.0时一直卡在loading界面进不去,可以尝试以下两种解决办法: 1.1:将计算...
  • Unity3D教程之Light光源

    万次阅读 2016-12-28 13:49:57
    Unity3D项目中,灯光摄像机都是一个游戏中十分重要的组件,下面我们就来谈谈Unity3D教程中的Light光源。如果大家对Unity3D感兴趣,就来菜鸟在线观看我们的Unity3D教程。  在Unity项目中,灯光和摄像机是非常...
  • 每周更新unity3d视频教程,从入门到就业,官方unity3d培训,上千门实时更新课程,供学员在线观看学习,unity3d游戏开发,可以让学员随时随地学习! 免费网上学习unity3d自学教程,国内名师机构专业授课,O基础快速学习,1小时...
  • 2017年全新Unity3d教程新手教程分享

    千次阅读 2017-01-03 11:25:43
    2017年全新Unity3d教程新手教程分享
  • Unity3D教程

    千次阅读 2017-10-09 09:33:49
    Unity3D游戏开发知识系列图  1、Unity3d基础操作 说明:这部分课程是帮助掌握Unity基础的操作,为阶段的学习打下基础 1)Unity3D初级课程之新手入门   课程地址:http://www.taikr.com/course/429 2、NGUI 3、...
  • 蓝鸥免费Unity3D教程讲解 Unity3D学习必看教程
  • Unity3D菜鸟教程

    2020-07-30 23:33:25
    Unity3D教程,菜鸟一样的例子,不妨碍参考,虽然日语版
  • 原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 引言,在Unity3d里,所有的图形绘制都必须通过Shader,即着色器。一般的使用过程中,我们用到的都是unity自带的Shader,即build-in shader。学习Shader后,...
  • 【风宇冲】Unity3D教程宝典之 FX Maker

    千次阅读 2014-03-10 15:15:59
    原创文章如需转载请注明:转载自风宇冲Unity3D教程学院  FX Maker FX Maker是Unity3d一款非常流行的效果制作插件。不但有超过300种效果预制体, 还可以自己制作效果。包含Mesh E
  • 一部分的目录东西太多了 行为控制脚本 鼠标的路线 Unity3D教程:游戏玩家服务器的制作 Unity3D教程:实例化 JS脚本控制逐渐淡出的欢迎界面 Unity3D教程:界面插件NGUI的使用 (2) 脚本控制物体的变换 脚本的运行顺序...
  • Unity3D教程:手游如何使用Unity3D自带的重力感应?重力感应在手机游戏的开发中非常常见。Unity3D本身集合了重力感应的相关内容。简单的JS脚本示范一下重力感应的使用: //物体的贴图 var round : Texture2D;...
1 2 3 4 5 ... 20
收藏数 15,043
精华内容 6,017
关键字:

unity3d教程