01Unity动画系统详解1:在Unity中如何制作动画?
今天讲了如何使用Unity内的Animation给物体做动画,希望你能记住一下几点:
Animation Clip是Unity中保存动画的资源文件,保存在工程中。
Animator是Animation Clip的播放器。
Animator Controller是一个“导演”,类似“播放列表”,用来指导Animator如何播放其中的Animation Clip
02Unity动画系统详解2:如何导入使用外部的动画?
今天讲了如何将外部模型动画导入到Unity中,希望你能记住以下几点:
1、Animation Type选项有4个:
None 不导入动画
Generic 通用动画:适用于所有的动画类型,特别适用于非人形的动画。
Humanoid 人形动画
Legacy 旧版本动画(为了兼容Unity3.x旧版本,不建议使用)
2、在Unity中可以分割动画成为一个个片段。
03Unity动画系统详解3:如何播放、切换动画?
今天讲了Animator组件,希望你能记住一下几点:
如果把Animation Clip比作是一段视频的话,那么Animator就是一个视频播放器,用来控制多段视频的播放、切换等等。
Animator Controller就是一个剧本,用来指导视频播放器如何播放多段视频。

04Unity动画系统详解4:如何用代码控制动画?
通过上一篇咱们知道了播放动画需要使用Animator,那么如何用代码控制动画呢?
Animator中可以设置参数,用来控制Transition的变化
Has Exit Time也是transition切换的一个条件,只有transition的所有条件都满足时才会进行切换
在代码中可以使用Animator类中的SetXXX方法控制参数,进而控制状态的转换。
05glibc下的内存管理
我们正在开发的类数据库系统有一个内存模块,出现了一个疑似”内存泄露”问题,现象如下:内存模块的内存释放以后没有归还操作系统,比如内存模块占用的内存为10GB,释放内存以后,通过TOP命令或者/proc/pid/status查看占用的内存有时仍然为10G,有时为5G,有时为3G,etc,内存释放的行为不确定。
06Unity Shader 常用函数
Unity Shader 常用函数
将方向向量由模型空间变换到世界空间
将顶点由模型空间变换到世界空间
将顶点由模型空间变换到观察空间
将法向量由模型变换到世界空间
...

07为什么要引入齐次坐标,齐次坐标的意义
1. 使用齐次坐标,可以表示 平行线在透视空间的无穷远处交于一点。在欧氏空间,这变得没有意义,所以欧式坐标不能表示。即:齐次坐标可以表示无穷远处的点
2. 引入齐次坐标的目的主要是合并矩阵运算中的乘法和加法,表示为x=P∗X的形式。即它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。
08原神的渲染部分
首先是全局光照部分。因为原神自己宣称是全动态光照……直接光部分好说,反正都已经延迟了,而间接光部分,做成动态的也就是lpv,以及升级版的vxgi。lpv……成本在于最开始的rsm部分,也就是和原始光照数量有关。如果只处理天光,体素再稀疏点还是有可能在手机上运行的。而且看之前有人拆包的结果,里面确实有个lpv的库(顺便一提lpv
UE内置,vxgi也有插件进行支持)。但这种东西,真想在手机上跑还是疯狂了一些。而且原神在时间变动和天气变动时光照其实是有跳变的,如果真是实时GI好像并不会这样,这种跳变更容易出现在多套烘焙数据切换上。而且就原神的画面效果……多套烘焙数据插值也完全能做到。所以我觉得原神使用烘焙probe方式的间接光照还是可能的,即使包里有lpv,也可能只是放着没用,这个要看抓帧结果了。
09UGUI研究院之界面中使用DoTween
因为NGUI中已经有UITween了,可是UGUI中是没有这样的Tween的。我看过UGUI的Demo它的实现方式是用Animator来做的,这样每一个需要移动的对象就要挂上一个AmimationController并且还要去编辑动画。。
10Unity Shader之TRANSFORM_TEX方法
1. TRANSFORM_TEX主要作用是拿顶点的uv去和材质球的tiling和offset作运算, 确保材质球里的缩放和偏移设置是正确的
下面这两个函数是等价的。
o.uv = TRANSFORM_TEX(v.texcoord,_MainTex);
o.uv = v.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
11OpenGL片段着色器是如何进行线性插值
OpenGL的片段着色器在进行渲染之前,实际上会对out里面的数据,例如FragPos,Normal进行线性插值例如顶点(1,0,0,1)和(3,0,0,1),就会对中间的像素插值(2,0,0,1)。由于一个面上的顶点法向量都是相同的,所以Normal进行插值的时候,同一个面上生成的值都是相同的。
在片段着色器中,会对面一个插值出来的像素计算它的颜色,进行(ambientColor + diffuse) * objColor的计算,由于每个像素点FragPos不同,所以会计算出如上图那样立方体面中心很亮的结果,而不是像我理解那样先计算正方形面的四个顶点,然后进行插值渲染,这样就会出现一个颜色都相同的立方体面。
12OpenGL的矩阵转换及投影矩阵的计算方法
在OpenGL中,眼睛空间中的3D点投影到近平面(投影平面)上。下图显示了眼空间中的点(xe,ye,ze)如何投影到近平面上的(xp,yp,zp)。裁剪(视锥剔除)和NDC转换都已集成到GL_PROJECTION 矩阵中。

点击排行

站长推荐

猜你喜欢
站点信息
- 建站时间:2016-04-01
- 文章统计:728条
- 文章评论:82条
- QQ群二维码:扫描二维码,互相交流
