IT培训-高端面授IT培训机构
云和教育:云和数据集团高端IT职业教育品牌 全国咨询热线:0371-67988003
课程 请选择课程
    校区 请选择校区
      • 华为
        授权培训中心
      • 腾讯云
        一级认证培训中心
      • 百度营销大学
        豫陕深授权运营中心
      • Oracle甲骨文
        OAEP中心
      • Microsoft Azure
        微软云合作伙伴
      • Unity公司
        战略合作伙伴
      • 普华基础软件
        战略合作伙伴
      • 新开普(股票代码300248)
        旗下丹诚开普投资
      • 中国互联网百强企业锐之旗
        旗下锐旗资本投资

      Unity3D新手必看:几个让你相见恨晚的小技巧

      • 发布时间:
        2019-01-14
      • 版权所有:
        云和教育
      • 分享:

      Unity引擎,上手简单易懂,但是很少有人对Unity编辑器的功能做一个全面细致的了解,一些非常实用的小功能在日常使用中很难被发现,但它们对工作效率的提升是有不小的帮助的。

      今天,我们就搜集了一些Unity3D使用过程中的遇到的技巧及问题解决方法,供大家参考。

      配图1 Unity使用小技巧.jpg

      1、如何同时打开两个UNITY3D项目。

      有时候需要对比,或者需要添加另一个项目的某资源到目前项目,同时打开两个项目看起来会比较明了。如果直接打开的话,发现它说有重复项目已经被打开而提示错误不能打开。

      配图2 Unity3D.jpg

      此刻就需要设置一些unity preferences了,从edit处打开。勾上下图红圈圈就可以了,always show project wizard(打开项目前永远显示项目向导)。选完这个之后每次打开就会让你选择项目路径了。如果需要同一个项目打开在两个UNITY3D的话,那么需要下载不同版本的UNITY3D。

      2、collider的碰撞检测,即便是在collider里面也一样触发。

      配图3 collider的碰撞检测.jpg

      上图是测试,原本所有面包都在蓝色方块上,有事件当面包触发到COLLIDER的时候会自动飞出。我动态生成了一个COLLIDER来包着面包,所有面包飞出。

      3、transform.rotation获取出来的是四元素的值

      假设需要获取在transform面板上的旋转值,需要获取其欧拉角transform.eulerAngles。

      4、判断三维向量是否为空

      配图4 判断三维向量是否为空.jpg

      方法1:TestVector3.magnitude == 0

      方法2:TestVector3 == Vector3.zero

      5、计算反射向量,vector3有自带方法

      Debug.Log(Vector3.Reflect(new Vector3(1.0f,0.0f,1.0f),new Vector3(0.0f,0.0f,1.0f)));

      6、C# 不支持动态数组,用 ArrayList 可以实现动态数组的功能。

      7、有时候发现子物体乱飞,不受坐标控制。那么很有可能是因为其父节点的相对坐标问题。

      8、构造以某向量为轴的旋转某角度的旋转向量。UNITY自带有四元素旋转矩阵方法。

      // Sets the transforms rotation to rotate 30 degrees around the y-axis

      vecRotation = Quaternion.AngleAxis(30, Vector3.up);

      //use it

      vecAim = vecOrgin * vecRotation;

      配图5 Unity3D技巧.jpg

      9、关于3DMAX的单个模型小块全部在UNITY3D里面都被转-90度的问题。

      因为3DMAX傻逼用右手坐标系。.FBX都会这样,导出.3DS就没什么问题。主要是怕程序出错,很容易出错。

      10、关于UNITY3D自带的ASSET SERVER。

      这玩意虽然简单易用,一旦操作失当(很容易失当)。当场景资源多的时候,有时候会直接替换资源。UNITY3D是会将这两个玩意辨认为不同的同名文件。会改掉本地或服务器相应目录的名字。多几次之后你就会傻眼了。所以如果可以还是用SVN或者其他专业点的版本管理器好。

      配图6 ASSET SERVER.jpg

      11、关于DontDestroyOnload

      DontDestroyOnload的物体要保证它不被加载第二次,不然再进入这个场景就会再多一个。

      所以最好能动态生成,在生成之前检验一下它是否存在。若不存在,再添加这个物体。

      12、关于粒子的淡入和淡出

      配图7 粒子的淡入和淡出.jpg

      如下面两个图,在粒子系统的面板中,有COLOR OVER LEFTTME,里面可以拉多个透明度的点。

      13、项目备份要及时

      Unity3D有时会犯一些你压根不知道怎么出来的编译BUG,重新拉个项目就会正常。

      Unity 开发的相关技巧有很多,平时在学习与开发过程中,也可以自己整理相关的开发技巧,不断的积累,你会收获到很多宝贵的开发经验,这是你提高自己的薪酬与待遇最有优势的资本。