Unity 3D
文章平均质量分 73
lijing_hi
这个作者很懒,什么都没留下…
展开
-
[Unity 3D] 物理引擎学习笔记(一)
刚体: 同是物理引擎提供的功能,碰撞检测只需要有 Collider 便可以运作,但所有与作用力相关的属性和函数却都依赖 Rigidbody。重力: 一旦使用了 Rigidbody 组件,这个 GameObject 就会受全局重力影响,同时在发生物理碰撞时会自动调用物理引擎进行碰撞处理。 全局重力可以在 Physics Manager 中进行调整,具体位置为:“Edit --原创 2012-02-06 22:59:20 · 10271 阅读 · 0 评论 -
[Unity 3D] Unity 3D 性能优化(二)
IsAliveU3D的粒子系统脚本接口相信很多人都用过,ParticleSyetem类的一系列接口都有一个bool类型的参数——withChildren,通过这个参数可以直接将相同的判断或者操作应用到一整个通过Transform父子关系树关联起来的ParticleSystem实例集合上。然而,但凡方便的功能,里面就必然有性能陷阱……以IsAlive这个接口为例(用来判断粒子系统是否原创 2013-09-14 18:42:36 · 3791 阅读 · 0 评论 -
[Unity 3D] Unity 3D 里的碰撞检测
Unity 3D里两个碰撞体之间发生碰撞可以用OnCollision族函数和OnTrigger族函数来获知和处理。Unity官方给出了两张可发生碰撞的组合表:Collision detection occurs and messages are sent upon collision Static ColliderRigidbody Coll原创 2013-09-14 19:43:31 · 6418 阅读 · 1 评论 -
[Unity 3D] Unity 3D 性能优化(三)
CenterOfMass在处理物理碰撞时,尤其是OnTrigger族消息,由于要手动计算碰撞点会经常要用到碰撞体的质心。获取质心常用的有三种方式:1、Collider.bounds.center2、Collider.rigidbody.worldCenterOfMass3、Collider.attachedRigidbody.worldCenterOfMass第一种方式其实是认原创 2013-09-14 18:56:42 · 2495 阅读 · 0 评论 -
[Unity 3D] Unity 3D 性能优化 (一)
听到过很多用Unity 3D开发游戏的程序员抱怨引擎效率太低,资源占用太高,包括我自己在以往项目的开发中也头疼过。最近终于有了空闲,可以仔细的研究一下该如何优化Unity 3D下的游戏性能。模型贴图等美术资源的优化,手头资源不足暂时不去涉及;Shader代码的性能优化也往后放放;这里先试着分析分析Unity 3D脚本中最常用代码段的执行效率。GetComponent原创 2013-09-14 17:47:43 · 7785 阅读 · 1 评论 -
[Unity 3D] Unity 3D中使用第三方DLL
Unity 3D项目中使用第三方DLL总是免不了的事情,使用方法也很简单,在项目根目录(Assets/目录)下建立Plugins目录,然后将DLL放入此目录即可。然而在实际项目中,第三方DLL放入项目后,时不时会出现这样的编译错误:Internal compiler error. See the console log for more information. output was:U原创 2013-08-07 11:04:31 · 4886 阅读 · 1 评论 -
[Unity 3D]Unity4里用MonoDevelop调试WebPlayer
Unity 4.0的发布,带给网页游戏开发者最好的消息之一莫过于终于可以调试WebPlayer了,从此网页版导出后就只能看调试日志的日子一去不复返。 但是这个方便的功能在使用上却并不是那么的方便。Unity WebPlayer默认情况下并没有开启调试通道,要开启还得费一点功夫:1、Build网页版项目时一定要开启Development Build选项,并且勾选Script Debugg原创 2013-07-19 13:03:22 · 2935 阅读 · 0 评论 -
[Unity 3D] 重力感应与罗盘(一)
iPad 的玩家大概都用过 StarWalk 这款应用——强力到无以附加的星图软件。StarWalk 里的世界其实就是虚拟了一个环绕用户的天球,当然还能够与真实的天球对应得上,当用户举着 iPad 对向不同方位时,能够从 iPad 屏幕上看到天球上对应的那一方向上的区域,就如同真的在用望远镜观察天球一样。这里面的原理其实很简单,整个虚拟的天球就是游戏世界,主摄像机就在这个游戏世界的正中心点,当 i原创 2012-02-19 00:39:11 · 13725 阅读 · 2 评论 -
[Unity 3D] 重力感应与罗盘(二)
让世界旋转起来: 游戏世界的主摄像机就是我们在游戏里的“眼睛”,为了让“眼睛”能够与手持 iPad 的我们保持协调,跟随着我们自己转身而转动,好像我们自己就站在游戏世界里用自己的眼睛观察游戏世界一样,这里就需要解决几个数学问题。 既然要旋转主摄像机,那么首先需要找到旋转的参照,因为我们旋转主摄像机的目的是为了观察游戏世界,那么这个参照自然选取游戏世界坐标系。主摄像机的 +Z 轴朝向就是原创 2012-02-19 16:11:30 · 9150 阅读 · 10 评论 -
[Unity 3D] Quaternion.LookRotation
此函数作用是生成一个四元数表示的三维朝向,然后可以直接把这个朝向赋给游戏对象来变更其朝向,也可以通过线性插值(Quaternion.Slerp 和 Quaternion.Lerp)来实现游戏对象从当前朝向转到这个新生成的朝向上来。很方便也很好玩的东西,可就是两个参数理解起来太让人头大了…… 官网对此函数的参数和解释如下:Quaternion.Loo原创 2012-02-19 11:28:43 · 16383 阅读 · 5 评论 -
[C#] 利用部分方法添加调试代码(附录)
项目生成时屏蔽Debug代码的脚本:using System;using System.IO;using UnityEditor;using UnityEngine;public class BuildPlayer : ScriptableObject{ static string rootPath = Application.dataPath + Path.DirectoryS原创 2013-10-26 13:19:37 · 3042 阅读 · 1 评论