• Unity3D基础知识、游戏算法一网打尽。
  • 本课程是Unity游戏开发的入门课程,课程分为上、下两个部分。上篇主要讲述游戏的基本概念、Unity的开发环境、游戏资源的创建和使用等基础内容。
  • 学习好Unity,其先决条件是一定要有稳固、扎实的编程基础!课程 《C# For Unity系列之入门篇》配套学习资料链接:http://pan.baidu.com/s/1gflxreN 密码:sou5;刘老师讲Unity学员群(2) 497429806 ...
  • Unity3d的安装

    2019-06-19 09:46:45
    Unity3d的安装 ** 1.在线安装 a.获取在线安装程序 第一步:进入官网:https://unity.com/cn 第二步:在主页的底部点击下载 第三步:来到UnityStore,拖到该页面的最底部,点击资源下面的Unity旧版本 第四步:来到Unity...

    **

    Unity3d的安装

    **

    1.在线安装

    a.获取在线安装程序

    第一步:进入官网:https://unity.com/cn

    在这里插入图片描述

    第二步:在主页的底部点击下载

    在这里插入图片描述

    第三步:来到UnityStore,拖到该页面的最底部,点击资源下面的Unity旧版本

    在这里插入图片描述

    第四步:来到Unity下载存档,拖动页面可以看到很多版本的Unity

    在这里插入图片描述

    第五步:选择一个版本,这里我们选择Unity2017.x中的2017.1.0
    在这里插入图片描述
    在这里插入图片描述
    第六步:点击下载(win)旁边的v,选择下载Unity安装程序,大概700多kb.

    在这里插入图片描述

    在这里插入图片描述

    第七步:获取了在线安装程序

    在这里插入图片描述

    b.在线安装

    第一步:用管理员权限打开在线安装程序

    在这里插入图片描述

    在这里插入图片描述

    第二步:点击下一步

    在这里插入图片描述

    第三步:同意协议,点击下一步

    在这里插入图片描述

    第四步:选择要安装的部件,点击下一步

    在这里插入图片描述

    第五步:选择安装路径,点击下一步

    在这里插入图片描述

    第六步:等待安装完成(安装进度要看网速和电脑配置了)

    在这里插入图片描述

    第七步:安装完成

    在这里插入图片描述

    2.离线安装

    a.获取安装程序

    第一步:和获取在线安装程序步骤一样,不同的是第六步是获取Unity编辑器(64位)

    在这里插入图片描述

    第二步:点击下载,安装程序大概有500多MB

    在这里插入图片描述

    第三步:获取到了安装程序

    在这里插入图片描述

    第四步:点击安装,下一步

    在这里插入图片描述

    第五步:同意协议,下一步

    在这里插入图片描述

    第六步:选择部件,下一步

    在这里插入图片描述
    第七步:选择安装目录,点击下一步

    在这里插入图片描述

    第八步:安装中

    在这里插入图片描述

    第九步:安装完成

    在这里插入图片描述

    3.注册Unity账号

    用手机热点,不要用wifi.

    第一步:进入官网,点击右上角的人物圆图标,出现下图,点击立即注册

    在这里插入图片描述

    第二步:按规则填写信息

    在这里插入图片描述

    第三步:去激活邮件

    在这里插入图片描述

    第四步:激活邮件

    在这里插入图片描述

    第五步:邮件激活后,再点击第三步的继续,回到u3d的官网,可以看到已经登入了

    在这里插入图片描述

    第六步:到这里就已经注册好了,然后在编辑器中登入

    在这里插入图片描述

    第七步:登入编辑器后可以看到如下图界面

    在这里插入图片描述

    4.安装示例项目

    第一步:获取示例项目安装程序,大概有200多mb

    在这里插入图片描述

    在这里插入图片描述

    第二步:安装示例项目,点击下一步

    在这里插入图片描述

    第三步:同意协议,点击下一步

    在这里插入图片描述

    第四步:点击下一步

    在这里插入图片描述

    第五步:选择安装路径,要新建一个空文件夹,点击下一步

    在这里插入图片描述

    第六步:点击是

    在这里插入图片描述

    第七步:在安装

    在这里插入图片描述

    第八步:安装完成

    在这里插入图片描述

    第九步:文件夹中出现如下图内容

    在这里插入图片描述

    展开全文
  • 3D数学在Unity中运用

    2018-10-22 21:38:02
    本课程主要是讲解3D数学知识在Unity中是如何运用?从坐标系到向量,矩阵,以及二叉树,行为树AI算法等知识讲解。将3D数学理论知识与实际开发结合起来。
  • Unity 3D 中的旋转 一、Unity 3D 中 Rotation 在Unity中,旋转通常可以用一个三维向量(x,y,z)表示。实际上这是欧拉角。三个分量分别是绕x轴、y轴和z轴的旋转角度。 要对一个GameObject进行旋转,可以直接通过...

    Unity 3D 中的旋转

    一、Unity 3D 中 Rotation

    在Unity中,旋转通常可以用一个三维向量(x,y,z)表示。实际上这是欧拉角。三个分量分别是绕x轴、y轴和z轴的旋转角度。

    要对一个GameObject进行旋转,可以直接通过如下代码:

    transform.Rotate(xAngle, yAngle, zAngle);

    那么有如下疑问:

    1. 上述的x轴、y轴、z轴指的是哪组基?是世界坐标系下的xyz轴,还是局部坐标系下的xyz轴?还是其他?
    2. 旋转的正方向如何?
    3. 旋转的顺序如何?

    下面一一解答。

    二、旋转轴

    首先,回答第一个问题,到底旋转轴是哪个坐标系的基?分为如下三种情况。

    1. 旋转轴:Inspector 中 Transform 的旋转数值

    TransformExample1

    对于这一个情况,Unity Doc 中有明确的说明,

    The position, rotation and scale values of a Transform are measured relative to the Transform’s parent. If the Transform has no parent, the properties are measured in world space.

    即,Editor中Transform组件的旋转轴是父节点的模型空间坐标轴,如果没有父节点,则旋转轴是世界空间坐标轴。

    unity_transform

    上图显示了如果Transform有父节点,如图中的”Mesh”,则Position将是在其父节点(这里是”Cow”)的模型空间中的位置;如果没有父节点,Position就是在世界空间中的位置。同样,Transform中的Rotation和Scale也是相同的道理。

    2. 旋转轴:在Script中使用Rotate函数,在Space.Self中旋转

    public void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);
    public void Rotate(float xAngle, float yAngle, float zAngle, Space relativeTo = Space.Self);
    public void Rotate(Vector3 axis, float angle, Space relativeTo = Space.Self);

    有上述三种重载函数,这里主要以第一种为例。其中第二个参数的取值有两种:Space.Self 或者 Space.World。

    使用如下代码,测试上述函数的作用。

    using UnityEngine;
    using System.Collections;
    
    public class Rotate : MonoBehaviour {
        public Space m_RotateSpace;
        public float m_RotateSpeed = 20f;
    
        // Update is called once per frame
        void Update()
        {
            transform.Rotate(Vector3.up * m_RotateSpeed * Time.deltaTime, m_RotateSpace);
        }
    }

    场景中进行测试的是一个长方体,其父节点的旋转为(30,30,0),圆柱体的初始旋转为(0,0,0)。在Inspector中将Rotate Space设置为Self后,运行结果见下图。可见,长方体是绕着局部坐标系的Y轴旋转的。

    得出结论:在Space.Self中进行旋转,旋转轴就是局部坐标系的坐标轴。

    RotateSpaceSelf

    3. 旋转轴:在Script中使用Rotate函数,在Space.World中旋转

    在Inspector中将Rotate Space设置为World后,运行结果见下图。这里我们知道,长方体的父节点的Y轴不是World的Y轴,而这里的长方体是绕着世界坐标系下的Y轴旋转的。

    所以得出结论:在Space.World中进行旋转,旋转轴是世界坐标系的坐标轴。

    RotateSpaceWorld

    4. 静态欧拉角和动态欧拉角

    前面说到的旋转轴的问题,在数学上有对应的概念。这就是所谓的静态欧拉角和动态欧拉角。

    所谓静态欧拉角,就是其旋转轴使用的是静止不动的参考系。动态欧拉角,使用的是刚体本身作为参考系,因而参考系会随着刚体的旋转而旋转。

    因此,使用Space.World旋转,以及Inspector中的旋转是静态欧拉角;使用Space.Self旋转,是动态欧拉角。

    三、旋转的正方向

    来到第二个问题,由于Unity中局部坐标系和世界坐标系都是左手坐标系,所以这里旋转的正方向可由右手法则判定。

    四、旋转的顺序

    下面来看第三个问题,旋转的顺序,即我们的欧拉角(xAngle, yAngle, zAngle)由三个分量组成,分别对应着绕x轴旋转,绕y轴旋转和绕z轴旋转,那么是如何绕着这三个轴进行旋转的呢?

    这里也分为静态欧拉角和动态欧拉角的情况进行讨论。

    1. 静态欧拉角

    这种情况对应着上面所述的使用Space.World进行旋转,以及Inspector中的旋转。即使旋转轴在旋转的过程中保持不变,旋转的顺序会决定最后的旋转结果。我们看下面的例子会很清晰的理解:

    • 情形一:首先绕世界坐标系的x轴旋转90度,再绕世界坐标系的y轴旋转90度

    RotateOrder1

    • 情形二:首先绕世界坐标系的y轴旋转90度,再绕世界坐标系的x轴旋转90度

    RotateOrder2

    可以看到,由于旋转顺序的不同,最终导致了旋转结果的不同!(究其本质,是因为矩阵乘法不满足交换律)

    对于旋转的顺序,一般没有定式,因此,需要在使用时明确的指定出其顺序。对此有一个专门的术语,称为顺规。如果在坐标系中的旋转,先绕x轴旋转,再绕y轴,最后再绕z轴,则称之为X-Y-Z顺规。以此类推。

    对于Unity,从文档中可以看到,其transform.Rotate()使用的是Z-X-Y顺规。因此如果在Unity中,使用静态欧拉角旋转(90,90,0)得到情形一的情况。

    2. 动态欧拉角

    这种情况对应着上面所述的使用Space.Self进行旋转。动态欧拉角除了上面说到的顺规问题(同样是Z-X-Y顺规),还有一个疑问:比如一个物体,初始状态记为A,以Z-X-Y顺规旋转(90,90,0),由于没有z轴旋转,第一步当然是绕着当前的x轴旋转90度,此时状态记为B,那么第二步要绕着y轴旋转90的时候,是绕着初始状态A时的y轴旋转,还是绕着此时的B状态下的y轴旋转呢?

    首先来看下两者的区别:

    • 情形一:以状态A时的y轴旋转

    RotateOrder3

    • 情形二:以状态B时的y轴旋转

    RotateOrder4

    Unity中的情况究竟如何呢?直接运行下面的代码会看到结果:

    void Start () {
        transform.Rotate(90, 90, 0, Space.Self);
    }

    RotateOrder5

    可以发现Unity中的情况与情形一相同。所以第二步要绕着y轴旋转90的时候,是绕着初始状态A时的y轴旋转。

    为了得到情形二中的效果,可以分两次旋转,运行如下代码:

    void Start () {
        transform.Rotate(90, 0, 0, Space.Self);
        transform.Rotate(0, 90, 0, Space.Self);
    }

    可以发现,此时的效果与情形一中相同了。

    最终,我们的结论是:Unity中每次使用Space.Self进行Rotate时,都是绕着调用时刻的局部坐标系的坐标轴进行旋转的。

    3. 静态欧拉角和动态欧拉角的等价形式

    静态欧拉角和动态欧拉角是可以相互转换的。

    转化规则就是:静态欧拉角中,在某一坐标系E下按照某一顺规如X-Y-Z旋转角度(a, b, c),等价于动态欧拉角中,在E下旋转(0, 0, c),在旋转后的坐标系E’中旋转(0, b, 0),在旋转后的新坐标系E”中旋转(a, 0, 0)。

    在Space.Self中旋转以 Z-X-Y 顺规旋转角度(a, b, c),等价于在Space.Self中旋转(0, b, 0),在新的Space.Self中旋转(a, 0, 0),在更新的Space.Self中旋转(0, 0, c)。

    下面我们来证明上述两种旋转是等价的。通过复合旋转矩阵的方式。

    记:

    绕坐标系E下的Z轴旋转c的旋转矩阵为Rz,
    绕坐标系E下X轴旋转a的旋转矩阵为Rx,
    绕坐标系E下Y轴旋转b的旋转矩阵为Ry;

    绕坐标系E下的Y轴旋转b的矩阵为Rb(Rb == Ry),
    绕坐标系E在绕Y轴旋转b后的新坐标系E’下的X轴旋转a的旋转矩阵为Ra,
    绕坐标系E’在绕X轴旋转a后的新坐标系E”下的Z轴旋转c的旋转矩阵为Rc。

    另外,这里将矩阵R的逆记为R~。

    求证:Rz * Rx * Ry == Rb * Ra * Rc

    证明:
    Rb == Ry,由定义相同可知。
    Ra = (Rb~) * Rx * Rb,要得到绕坐标系E在绕Y轴旋转b后的新坐标系E’下的X轴旋转a的旋转矩阵Ra,先应用Rb~旋转到坐标系E下,然后绕坐标系E下的X轴旋转a,最后应用Rb转回到坐标系E’。
    Rc = ((Rb * Ra)~) * Rz * (Rb * Ra),理由同上。
    所以有,
    右边 = Rb * Ra * Rc
    = Rb * Ra * ((Rb * Ra)~) * Rz * (Rb * Ra)
    = Rz * Rb * Ra
    = Rz * Rb * (Rb~) * Rx * Rb
    = Rz * Rx * Rb
    = Rz * Rx * Ry = 左边
    证毕!

    从代码上来说,就是下面两个函数是等价的。

    private void RotateStatic(float a, float b, float c)
    {
        // 静态欧拉角,依次绕着调用Rotate时的局部坐标系的z,x,y轴旋转a,b,c角度
        transform.Rotate(a, b, c, Space.Self);
    }
    
    private void RotateDynamic(float a, float b, float c)
    {
        // 动态欧拉角,绕着调用Rotate时的局部坐标系的y轴旋转b角度
        transform.Rotate(0, b, 0, Space.Self);
        // 动态欧拉角,绕着调用Rotate时的局部坐标系的y轴旋转a角度
        transform.Rotate(a, 0, 0, Space.Self);
        // 动态欧拉角,绕着调用Rotate时的局部坐标系的y轴旋转c角度
        transform.Rotate(0, 0, c, Space.Self);
    }

    五、万向节锁(Gimbal Lock)

    1. 什么是万向节锁

    2. 如何产生万向节锁

    3. 万向节锁的问题

    3. 在欧拉旋转中尽力避免万向节锁

    六、四元数(Quaternion)旋转

    1. 什么是四元数

    2. 用四元数进行旋转

    参考

    1. Unity 中的旋转
    2. 欧拉角与万向节死锁
    3. 《Unity Shader 入门精要》第四章
    展开全文
  • 特点:1、针对Unity52、如何使用Unity3D编辑器只是简略带过3、重点讲如何在Unity3D中编写质量更高的代码4、以游戏实例引导你开发游戏5、各种图片、音频资源格式的特点和针对平台的一些优化与选择书的目录可以在...

    我翻译的Unity3D书籍终于出版啦。


    本书的起源

    最开始清华大学出版社找我翻译的时候,我心里想着,现在市面上Unity3D的书其实也是蛮多了。如果它只是一本普通的书,那读者们阅读了之后挺浪费时间,而我那时候也刚好在多益网络研究神武的任务系统,准备做一些优化的方案。同时还准备去第十域(D10)做服务器压测和优化。因此时间上还是比较紧缺的。

    接受这本书

    后来得知本书是Manning的In Action系列,也是比较重要的一本书。我决定先阅读一下本书的内容再做决定。在阅读了几章之后。我觉得本书确实和其他Unity3D的书籍有很大的不同。其他书籍大部分都是讲Unity这个编辑器如何使用。而这本书是简略介绍编辑器,重点讲了如何在里面更好的编程。甚至后面的一些章节还对前面的代码进行重构,使得其拓展性更强。这还是比较不错的。至少不是直接拖个组件然后就写代码(实际在公司项目中也不能这么搞^_^)。因此我接受了本书的翻译。

    翻译的过程

    基本上每天晚上翻译到2点。然后早上7点左右再起来翻译。为了能多翻译半个小时,甚至没坐公司8点的班车,而是等到8点半才打的过去上班。
    有时候有些地方读懂了原著的意思,但是却很难把它用比较书面的语言描述出来。这时候经常可能一句话就要花费几十分钟时间去思考。
    过年的时候,也是经常翻译到晚上2点。
    这个过程坚持下来还是蛮辛苦。不过也有很多支持我的朋友伴随着一路走来。很多朋友甚至在我开始翻译的前2个月就跟我预定了。这些都给了我很大的动力。

    最后出版阶段

    提交完最后的稿件之后,出版社的各位工作人员也给予了很大的帮助。才使得本书能出版。最后也要感谢李编辑一直以来对本书的支持和跟进。才确保本书能正常出版。


    本书的一些特点:

    1、针对Unity5

    2、如何使用Unity3D编辑器只是简略带过

    3、重点讲如何在Unity3D中编写质量更高的代码

    4、以游戏实例引导你开发游戏

    5、各种图片、音频资源格式的特点和针对平台的一些优化与选择


    书的目录可以在亚马逊看到。点击这里


    下面放出封面。



    大家看完有啥问题的都可以在这里或者发邮件到john.cha@qq.com与我交流哦。

    也可以加入本书交流群:552599149

    展开全文
  • 3ds Max 建的宿舍模型导入 Unity 3D 步骤总结。

    3ds Max 建的宿舍模型导入 Unity 3D 步骤总结。


    一. 可以将模型直接导出到unity 3d Assets文件夹中,这样不需要在unity中手动导入模型

    二. 烘焙模型后导出步骤如下:

    1. 模型UVW调整

    选择模型,进行UVW展开,

     

    将贴图通道置为2,通道切换时选择移动,否则纹理映射会改变

    2.  烘焙

    在渲染菜单下选择渲染到纹理(或者按0)。设置中,选择贴图坐标为通道2;输出添加LightingMap



    可选择将文件名和类型保存到一个文件夹,将这烘焙后的纹理之后拖到unity3d中

     

    3. 烘焙后处理

    我们发现,烘焙之后物体没有纹理了。吸取材质发现其有2个材质。(因为max导出不支持2种材质,所以需要选择其一,否则两者都丢失)


    在渲染到纹理面板点击“清楚到外壳材质“,再次吸取材质发现恢复成1个了


    4. 导出

    导出时直接选择对应unity的文件地址,这样自动导入unity


    5. Unity 导入

    除了模型,也产生了.fbm的材质文件夹

    将模型放置场景中,发现是黑色的

    看到对应的材质球,我们改变Shader

    将之前导出的纹理贴图拉至物体材质文件夹.fbm种,移到Lightmap中


    物体成功获得贴图~




    展开全文
  • 在开发中,特别是unity的跨平台中,我们经常会在各个平台游走,如安卓版,苹果版,PC版......。在此不同的平台上,有可能我们需要做不同的操作。然而我们就可以用unity的自带的平台宏定义方式来做平台的判断。Unity...

    更多教程请访问:

    http://dingxiaowei.cn/

     

    在开发中,特别是unity的跨平台中,我们经常会在各个平台游走,如安卓版,苹果版,PC版......。在此不同的平台上,有可能我们需要做不同的操作。然而我们就可以用unity的自带的平台宏定义方式来做平台的判断。Unity帮我们定义了如下平台预处理:

     

     名称  描述
    UNITY_EDITOR Define for calling Unity Editor scripts from your game code.
    UNITY_STANDALONE_OSX Platform define for compiling/executing code specifically for Mac OS (This includes Universal, PPC and Intel architectures).
    UNITY_DASHBOARD_WIDGET Platform define when creating code for Mac OS dashboard widgets.
    UNITY_STANDALONE_WIN Use this when you want to compile/execute code for Windows stand alone applications.
    UNITY_STANDALONE_LINUX Use this when you want to compile/execute code for Linux stand alone applications.
    UNITY_STANDALONE Use this to compile/execute code for any standalone platform (Mac, Windows or Linux).
    UNITY_WEBPLAYER Platform define for web player content (this includes Windows and Mac Web player executables).
    UNITY_WII Platform define for compiling/executing code for the Wii console.
    UNITY_IPHONE Platform define for compiling/executing code for the iPhone platform.
    UNITY_ANDROID Platform define for the Android platform.
    UNITY_PS3 Platform define for running PlayStation 3 code.
    UNITY_XBOX360 Platform define for executing Xbox 360 code.
    UNITY_NACL Platform define when compiling code for Google native client (this will be set additionally to UNITY_WEBPLAYER).
    UNITY_FLASH Platform define when compiling code for Adobe Flash.
     

     

       以后我们可以根据如上宏定义就可以去轻而易举的很容易去在我们代码中加入判断了。我举个简单例子,如下:

    using UnityEngine;
    using System.Collections;
    
    public class Recompile : MonoBehaviour
    {
    
        private string platform = string.Empty;
        // Use this for initialization
        void Start()
        {
            DebugPlatformMesaage();
        }
    
        void DebugPlatformMesaage()
        {
    
    #if UNITY_EDITOR
            platform = "hi,大家好,我是在unity编辑模式下";
    #elif UNITY_XBOX360
           platform="hi,大家好,我在XBOX360平台";
    #elif UNITY_IPHONE
           platform="hi,大家好,我是IPHONE平台";
    #elif UNITY_ANDROID
           platform="hi,大家好,我是ANDROID平台";
    #elif UNITY_STANDALONE_OSX
           platform="hi,大家好,我是OSX平台";
    #elif UNITY_STANDALONE_WIN
           platform="hi,大家好,我是Windows平台";
    #endif
            Debug.Log("Current Platform:" + platform);
        }
    }

     

    上面如果我是在Editor状态下的话,就能看见打印出:     

     

     

    我们也可以自己定义宏定义,在PlayerSetting中定义:

     

    例如我在上面圈起来的地方填写一个CUSTOM_ITF这个预编译指令。然后在DebugPlatformMesaage函数尾部加入这句话

    //新添加的内容
    #if CUSTOM_ITF
            customMsg = "我自定义了预编译";
    #endif
            Debug.Log(customMsg);

     

    然后我们运行看下,你就能在控制台看见我们输出的信息了:

     

     

        当我们把我们自定义的宏定义给去掉的时候,我们打印的信息就不会出来。

     

    除了这些,unity中还有各个版本的宏定义,一般开发插件的大牛都会用到。

     

    UNITY_2_6 Platform define for the major version of Unity 2.6.
    UNITY_2_6_1 Platform define for specific version 1 from the major release 2.6.
    UNITY_3_0 Platform define for the major version of Unity 3.0.
    UNITY_3_0_0 Platform define for the specific version 0 of Unity 3.0.
    UNITY_3_1 Platform define for major version of Unity 3.1.
    UNITY_3_2 Platform define for major version of Unity 3.2.
    UNITY_3_3 Platform define for major version of Unity 3.3.
    UNITY_3_4 Platform define for major version of Unity 3.4.
    UNITY_3_5 Platform define for major version of Unity 3.5.
    UNITY_4_0 Platform define for major version of Unity 4.0.
    UNITY_4_0_1 Platform define for major version of Unity 4.0.1.
    UNITY_4_1 Platform define for major version of Unity 4.1.
    UNITY_4_2 Platform define for major version of Unity 4.2.
     

     

        其实预编译在我们对unity开发的时候还有一个很好的作用,我们Debug的时候是IO,其实会消耗CPU的,从而影响了我们的性能,我们想在开发的时候进行Debug,但不想在到处的时候打印出,在这个时候我们就可以用预编译来判断他是否是在Editor状态下,从而做出相应的操作!
    
    
        预处理命令从来不会被翻译为可执行中的命令,但会影响编译过程的各个方面。例如:使用预处理器指令可以禁止编译器编译代码的某一部分,如果计划发布两个版本的代码,即基本版本和有更多功能的企业版本,即可以使用这些预处理指令。在编译软件的基本版本时,使用预处理器指令还可以禁止编译器编译于额外相关的代码。另外,在编写提供调试信息的代码时,也可以使用预处理器指令。在销售软件时,一般不希望编译这部分代码。预处理器指令开头都有符号#。我们unity的不是分专业版和免费版吗,其实有可能就是用到了预编译,从而编译不同的版本。
    
      
      如果对预编译不熟的同学可以去百度,或者谷歌下,我也是在查阅后才明白的!
    
      
      如果对预编译不熟的同学可以去百度,或者谷歌下,我也是在查阅后才明白的!

     

    展开全文
  • 本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,...
  • Unity3D 2018安装教程

    2019-06-15 21:42:20
    安装步骤: ...Unity2018.3.0相较2017版本的在启动时稳定了很多(2017版本启动经常会卡在loading界面) 如果启动Unity2018.3.0时一直卡在loading界面进不去,可以尝试以下两种解决办法: 1.1:将计算...
  • 只需访问我们的网上商店,即可轻松购买Unity Pro、Unity iOS Pro和Unity Android Pro。教育机构,或对控制台游戏开发和/或源代码许可证感兴趣的公司可根据我们的联系表格联系我们的销售团队。 我们已注意到有人喜欢...
  • unity 播放mp3的多种方法
  • 最近项目需要更新到Unity2019,没办法,虽然2018.3.0用得好好的,也要换了。 去官网下了个Unity2019.1.02f,然后打开的时候又要我下一个Unity Hub2.0.0,很迷,不知道这个是干嘛的,了解了一下才知道,原来这个就是...
  • Unity 3D 开发书籍推荐

    2012-02-07 16:33:09
    《Packt.Unity.3D.Game.Development.by.Example》这一本主要是通过例子讲解的,看着例子学习比较有收获。点击前往下载地址>> 《Packt.Unity Game Development Essentials》这一本主要讲解了unity3d的基本...
  • 每周更新unity3d视频教程,从入门到就业,官方unity3d培训,上千门实时更新课程,供学员在线观看学习,unity3d游戏开发,可以让学员随时随地学习! 免费网上学习unity3d自学教程,国内名师机构专业授课,O基础快速学习,1小时...
  • 在最开始使用Unity时(版本5.2.1),因为要跟着各种教程去动手,所以新建工程特别多。而在当时的版本中貌似一直有一个Bug,就是新建工程选项中的2D和3D根本就不好使!貌似建出来的场景感觉上完全是随机的!当时还...
  • 如何在Unity 3D中生成真实的地形?这里为你解决这一问题!!
  • 目前3D手游的开发主要工具是使用Unity3D引擎,于是,如何在Unity3D的开发过程中结合入物理功能变一个需要仔细考虑的问题。 我们考察的2种物理效果实现方案:Unity3D物理引擎和Havok物理引擎。 Unity3d物理引擎介绍...
  • 笔者的Unity 3D课程已经结束,这里记录下几个比较常用的功能教程并分享给大家。 接下来我们说一说小地图的制作,具体思路为:在角色头顶创建一个摄像机,并选择二维显示跟踪角色运动。然后将场景中的元素分为多个...
1 2 3 4 5 ... 20
收藏数 248,480
精华内容 99,392
热门标签