[置顶] Unity零散笔记

1、预处理 在C#中的预处理功能很弱。除了使用#if #else #end 之外,还可以尝试使用[System.Diagnostics.Conditional(“UNITY_EDITOR”)]这种属性条件。...
阅读(867) 评论(2)

【Unity编程】Unity动画系统(一)

Unity动画系统Unity动画系统,也称为“Mecanim”,提供了以下功能: 简单的工作流程,设置动画的所有元素,包括对象,角色和属性。 支持导入外部创建的动画片段和使用内置动画编辑器制作的动画片段。 人型动画重新定位,动画角色的运动控制可以被所有的角色模型共享,即角色的外观(SkinedMesh)和运动(Animator)是分离的,它们互相组合之后形成最终的动画。 用于编辑动画状态的的简化工作...
阅读(3548) 评论(3)

【Unity编程】Unity中关于四元数的API详解

Unity中关于四元数的API详解Quaternion类Quaternion(四元数)用于计算Unity旋转。它们计算紧凑高效,不受万向节锁的困扰,并且可以很方便快速地进行球面插值。 Unity内部使用四元数来表示所有的旋转。...
阅读(1642) 评论(2)

【Unity优化】如何实现Unity编辑器中的协程

Unity编辑器中何时需要协程当我们定制Unity编辑器的时候,往往需要启动额外的协程或者线程进行处理。比如当执行一些界面更新的时候,需要大量计算,如果用户在不断修正一个参数,比如从1变化到2,这种变化过程要经历无数中间步骤,调用N多次Update,如果直接在Update中不断刷新,界面很容易直接卡死。所以在一个协程中进行一些优化,只保留用户最后一次参数修正,省去中间步骤,就会好很多。...
阅读(1882) 评论(0)

【Unity编程】四元数(Quaternion)与欧拉角

四元数是高阶复数的数学,它用在游戏中的作用主要是计算三维矢量的旋转,它使用先将矢量映射到纯虚四元数,再应用旋转四元数的方式进行映射。最后可以达成旋转目的。...
阅读(2824) 评论(0)

【Unity优化】为C#定制联合(Union)提高序列化速度

当执行连续大量的序列化时,使用联合可以很好地避免GCAlloc产生,而且效率要比BitConvertor来的高。...
阅读(1921) 评论(1)

【Unity编程】欧拉角与万向节死锁(图文版)

总结来说,欧拉角的“万向节死锁”问题,是由于欧拉旋转定义本身造成的。这种围绕选旋转前固定轴的先Z、再X、再Y的旋转操作,与其最终所预期的三个轴向可以旋转的结果并非一定是一对一的映射。某些情况下是多对一的映射,造成一些旋转自由度的缺失,也就是“死锁”。...
阅读(2806) 评论(2)

【Unity优化】构建一个拒绝GC的List

Unity系统的泛型List存在的问题是:它在finally中回收枚举器时执行了Box操作。自定义List时,正确实现泛型格式的IEnumerable、IEnumerator是关键,需要避开枚举单元被Current时,值类型被强制转换成对象类型的Box操作。...
阅读(2127) 评论(6)

【Unity编程】Unity中的欧拉旋转

写这篇博客之前,我搜索了网上很多关于欧拉角的定义,发现大部分引用自维基百科的定义,而它们与Unity是不同的。在这篇文章中,我会深入解释Unity中欧拉角的定义,和欧拉旋转注意点。...
阅读(1970) 评论(0)

【Unity优化】Unity中究竟能不能使用foreach?

关于这个话题,网络上讨论的很多,我也收集了一些资料,都不是很齐全,所以自己亲自测试,这里把结果分享给大家。foreach究竟怎么了?研究过这个问题的人都应该知道,就是它会引起频繁的GC Alloc。也就是说,使用它之后,尤其在Update方法中频繁调用时,会快速产生小块垃圾内存,造成垃圾回收操作的提前到来,造成游戏间歇性的卡顿。...
阅读(3636) 评论(7)

【Unity优化】我所理解的IL指令

我所理解的IL指令,这里目前只列举了一些常见指令,box、unbox、newobj、ldc、stloc等等,我认为比较重要的指令,学习Unity最好是要深刻了解C#较为底层的IL实现。...
阅读(910) 评论(0)

【Unity优化】Unity优化技巧进阶(持续更新中...)

关于Unity中的Foreach这个话题,网络上讨论的很多,我也收集了一些资料,都不是很齐全,所以自己亲自测试,这里把结果分享给大家。foreach究竟怎么了?研究过这个问题的人都应该知道,就是它会引起频繁的GC Alloc。也就是说,使用它之后,尤其在Update方法中频繁调用时,会快速产生小块垃圾内存,造成垃圾回收操作的提前到来,造成游戏间歇性的卡顿。...
阅读(888) 评论(1)

【Unity Shader】如何修改LineRenderer与TrailRenderer 中的颜色

LineRender和TrailRender是两个好东西,很多Unity拖尾特效都会使用到它们。一些简单的介绍可以参见官方的API文档。 在这里探讨一下它们具体的渲染方式,而后给出一些Shader以便更好地控制它们。...
阅读(3450) 评论(0)

【Unity编程】Unity3D-使用对象池高效管理内存

本节通过一个简单的射击子弹的示例来介绍一个比较通用的Unity对象池的写法...
阅读(2058) 评论(7)

【Unity编程】 Transform

每个游戏对象(GameObject),其存在于游戏世界,都有一个位置、朝向、大小等基本定位信息;其存于Hierarchy面板,也存在与其他GameObject的相对关系,如父子关系、兄弟关系。Unity中使用Transform来描述和操作这些属性。   Transform的字面理解就是“变换”的意思,所有的GameObject,当其被创建完成之后,均自动创建了这样一个变换组件,你不需要手动创建这个组件,而且无法删除此组件。...
阅读(1008) 评论(2)
22条 共2页1 2 下一页 尾页
    个人资料
    • 访问:56183次
    • 积分:920
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:0篇
    • 译文:1篇
    • 评论:35条
    关于Andrew
    Unity游戏开发程序员,
    开源游戏引擎Cyclone2D作者,
    我最近在开发一款3D赛车游戏
    热爱图形学、物理学、架构等研究,
    有兴趣的同学加群:528266922。
    博客专栏
    最新评论