Andrew的游戏世界

专注Unity3D游戏开发

排序:
默认
按更新时间
按访问量

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

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

2017-03-11 17:08:08

阅读数:13266

评论数:8

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

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

2017-03-18 01:21:53

阅读数:10298

评论数:0

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

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

2017-03-04 01:13:17

阅读数:8827

评论数:9

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

Unity动画系统Unity动画系统,也称为“Mecanim”,提供了以下功能: 简单的工作流程,设置动画的所有元素,包括对象,角色和属性。 支持导入外部创建的动画片段和使用内置动画编辑器制作的动画片段。 人型动画重新定位,动画角色的运动控制可以被所有的角色模型共享,即角色的外观(SkinedMe...

2017-04-28 22:27:31

阅读数:8003

评论数:3

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

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

2017-03-09 17:26:23

阅读数:7875

评论数:0

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

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

2017-02-25 21:21:53

阅读数:7514

评论数:0

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

关于Unity中的Foreach这个话题,网络上讨论的很多,我也收集了一些资料,都不是很齐全,所以自己亲自测试,这里把结果分享给大家。foreach究竟怎么了?研究过这个问题的人都应该知道,就是它会引起频繁的GC Alloc。也就是说,使用它之后,尤其在Update方法中频繁调用时,会快速产生小块...

2017-03-01 11:23:40

阅读数:6489

评论数:1

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

本节通过一个简单的射击子弹的示例来介绍一个比较通用的Unity对象池的写法

2017-02-21 08:01:34

阅读数:5171

评论数:8

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

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

2017-03-11 00:44:53

阅读数:4119

评论数:8

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

Unity编辑器中何时需要协程当我们定制Unity编辑器的时候,往往需要启动额外的协程或者线程进行处理。比如当执行一些界面更新的时候,需要大量计算,如果用户在不断修正一个参数,比如从1变化到2,这种变化过程要经历无数中间步骤,调用N多次Update,如果直接在Update中不断刷新,界面很容易直接...

2017-03-22 22:46:45

阅读数:3850

评论数:0

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

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

2017-03-27 01:06:27

阅读数:3850

评论数:3

【Unity编程】下载和安装Unity

1.1、下载和安装Unity 1.1.1 选取版本 首先找到Unity官方网站https://store.unity.com/cn,如果要下载最新版本,可以选择“立即下载”。不过我建议你最好下载一个稳定版本,Unity更迭版本比较快,一般当出现5.5的时候,你用5.4.x,x取最大的一个版本号...

2017-02-15 01:40:34

阅读数:3822

评论数:3

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

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

2017-03-15 16:28:41

阅读数:3646

评论数:1

【Unity编程】 Component 组件脚本及其基本生命周期

默认的脚本继承自MonoBehavior类,这个类是通常的自定义脚本组件继承类,也就是我们自己所编写的脚本的父类。而Unity内部组件,如相机等是继承自 MonoBehavior的父类Behavior或者再上层的父类Component。Unity为何要分成三个级别继承?从Component到Be...

2017-02-17 08:15:17

阅读数:2734

评论数:0

Runtime Mesh Baker v1.1.2 发布了

Runtime Mesh Baker v1.1.2 发布了

2017-09-21 01:37:45

阅读数:2721

评论数:2

Unity声音-音源

音源组件(AudioSource)音源是场景中在某个位置的发声装置,好像一个喇叭。它播放着音频片段 (Audio Clip)。 发出的声音将输出到声音监听器(audio listener),或者声音混淆器(audio mixer)。稍后再说混淆器,一般相机会默认自带一个AudioListener...

2016-12-14 09:52:04

阅读数:2701

评论数:0

【Unity编程】Unity中的基本概念

介绍Unity中的基本概念:游戏对象、场景、资源、相机、预制件等等

2017-02-16 09:35:00

阅读数:2404

评论数:0

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

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

2017-03-02 21:39:59

阅读数:2231

评论数:0

【Unity编程】 Transform

每个游戏对象(GameObject),其存在于游戏世界,都有一个位置、朝向、大小等基本定位信息;其存于Hierarchy面板,也存在与其他GameObject的相对关系,如父子关系、兄弟关系。Unity中使用Transform来描述和操作这些属性。   Transform的字面理解就是“变换”的意...

2017-02-19 22:23:22

阅读数:2082

评论数:2

Unity零散笔记

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

2017-03-21 20:28:13

阅读数:1969

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭