- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 解决 Unity3D AssetBundle 异步加载与同步加载冲突问题
解决 Unity3D AssetBundle 异步加载与同步加载冲突问题
2022-09-10 18:22:09
3296
1
原创 如何修改Unity3D UGUI 默认 shader 实现自定义 UI 表现
如何修改 Unity3D UGUI 默认 shader 实现自定义 UI 表现
2022-08-04 10:12:50
6580
原创 GameFramework.ObjectPoolManager 详解
总图1.存储实例想要使用对象池,存储实例的类型必须继承于ObjectBase。 其中诸多属性决定了该实例在池中的生命周。其中索引相关的属性为:Name 对象的名称Target 对象携带的内容这两个属性均可以用来在池中索引对应的 ObjectBase 实例。释放相关的必要属性为:Locked 锁定状态,锁定状态为 true 不会被释放。CustomCanReleaseFlag 自定义释放标记,自定义释放标记为 true 不会被释放,可在继承的类中编写逻辑通过控制释放标记
2020-09-24 10:13:23
394
原创 Transform.SetSiblingIndex() 设置规则
1.SibingIndex 从0开始依次向后增加12.设置SibingIndex 时,如果设置的索引>当前索引,原有索引上的元素至当前元素之下的元素一律向上移动(索引-1)3.设置SibingIndex 时,如果设置的索引<当前索引,原有索引上的元素至当前元素之上的元素一律向下移动(索引+1)4.设置SibingIndex 时,大于ChildCount-1 等于 ChildCount-1,小于0 无效5.新加元素,索引一律为 ChildCount-1, 也就是最后一个...
2020-06-10 16:23:26
13577
2
转载 明白.net中的垃圾回收机制
https://www.red-gate.com/simple-talk/dotnet/net-framework/understanding-garbage-collection-in-net/
2020-04-28 13:27:12
227
转载 Unity优化之GC——合理优化Unity的GC
Unity优化之GC——合理优化Unity的GC 转载请标明出处http://www.cnblogs.com/zblade/ 最近有点繁忙,白天干活晚上抽空写点翻译,还要运动,所以翻译工作进行的有点缓慢 =。= PS: 最近重新回来更新了一遍,文章还是需要反复修改才能写的顺畅,多谢各位的支持 :D 本文续接前面的unity的渲染优化,进一步翻译Unity中的GC优化,...
2020-04-27 15:48:28
319
原创 C Shap 如何唯一确定一个类,当多个程序集具有相同的全名类时,避免冲突或意外的替换。
1.首先 c shap CLR 运行时如何确定一个类 ? c shap 源码中调用一个类,在编译成IL时,IL 并不仅仅记录类全名,而是记录 程序集名+类全名,这样就能唯一确定一个程序集中的类,从而避免冲突和替换。如上图中反编译出的IL代码中,所有涉及到对类的调用都时采用程序集名加类全名的方式。2.外部别名,外部别名只是作为源码层面的语法使用,当采用外部别名访问某个类的操作被编译为IL...
2020-03-12 14:43:45
462
原创 Unity3D RectTransform 成员 localPosition 和 anchoredPosition 详解
1.RectTransform.localPosition(本地位置) RectTransform.localPosition 顾名思义就是表示相对于父元素的位置,但是它不同于Transform.localPosition ,它是一个像素为单位的坐标,这个像素坐标系的原点依然是 RectTransform.parent.position,但是相较于Transform.localPosi...
2020-01-02 11:02:00
12658
原创 Unity3D 重复的使用 AssetBundle.LoadAsset<T>() 同一资源对象,并不会导致性能问题
之前查找网络上一些资料,说是重复的使用 AssetBundle.LoadAsset<T>()来获取资源对象; 虽然不会导致重复的反序列化资源,但是相比于将对象存储在字典中的管理方式,依然会慢上三倍的速度,对此一直比较疑惑,想必Unity官方的内部实现应该也不至于如此不堪,于是做了如下测试,(为了公平起见资源包中仅有一个预制体Cube,字典中也只存有一条内容,这样两种方式查询时的干扰都一...
2019-12-25 10:50:07
5840
原创 Unity3D 层剔除距离与层球形剔除 layerCullSpherical 和 layerCullDistances
Camera.layerCullDistances 层剔除距离,可以分别设置不同Layer的物体的剔除距离,比如可以将小物件比如地上的石头灌木的剔除距离设置的近一些,而大的物体如房子子树木等设置的远一些,这样可以节省算力,这个属性是一个float类型的数组,如果要设置这个值,你需要创建一个float[32] 也就是含有32个元素的数组,因为Unity3D最高支持32个Layer,然后按照...
2019-12-13 09:53:07
1591
原创 Unity.Time 小白科普
Unity.Time 里面的一系列和时间相关的数据,往往是我们做动画处理的依据,比如 Time.deltaTime*每秒移动距离=本帧需移动的距离,等等,可以说Time类是非常重要的,他直接关系游戏中的逻辑更新,同时Unity.Time 和fixedUpdate 也息息相关,直接决定了每帧中fixedUpdate的调用次数。现在因为一个偶然的任务需要做客户端和服务端的帧同步,所以我有...
2018-08-12 13:19:40
4466
1
原创 Unity3D 光照数据简介
之前一直对光照部分不清不楚很多地方也没有研究,恰逢遇到一本《 UNITY 3D SHADELAB实战详解》里面详细的讲解了部分Shader段,有关光照的的详细内容,但是依然不全,于是硬着头皮啃了一部分,这里把一些心得写下防止忘记了。我个人认为Unity3d 光照处理流程分为三步,1.决定调用什么Pass,2.为Pass准备合适的光照数据,3.在Pass中进行对应的光照计算。这三步其实就是我们的...
2018-08-10 14:16:51
700
原创 一句话总结Unity物体渲染先后顺序
依次按条件先后顺序进行排序渲染处理。先按上层条件排序,如上层条件相同,则进入下层条件牌序,最终分出先后Camera Depth: 越小越优先|---1.RenderQueue 2500已下(含2500),优先于RenderQueue 2500已上|----|---1. Sorting Layer/Order in Layer 按照Sorting Layer/Order in Layer...
2018-07-20 17:08:58
9401
1
原创 四元数的简单应用
关于四元数,网上的教程很多,但是大多都是装B版本,像我一样早就把线性代数换给老师的同学,会发现看了之后还是云里雾里,既不知道怎么用,也不知道用了有什么意义,现在我来已最直白,最简单的方式告诉大家用法。1.四元数表示的旋转公式如下代表旋转行为的四元数有四个分量:(X,Y,Z,W),W为实部,XYZ为虚部,什么是实部虚部?不懂忽略就行了,等有空去看《3D游戏与计算机图形学中的数学方法》youku 视频...
2018-04-09 09:26:36
4781
8
原创 Unity3D GI 模式下光照贴图对实时光照系统的影响
GI Baked 模式1.灯光工作模式为 baked ,静态物体所接受包含间接和直接光的光照贴图,实时渲染时静态和动态物体都不计算该光源2.灯光工作模式为 mixed ,静态物体接受包含间接光的光照贴图,实时渲染时静态和动态物体都会计算该光源的直接光照信息3.灯光工作模式为 realtime ,静态物体无该光源的光照贴图,实时渲染时静态和动态物体都会计算该光源的直接光照信息
2017-12-01 10:55:52
2038
原创 Unity3D 片元NDC空间z值(ZBuffer)转View空间z值,公式推导
《Shader入门精要》中十三章中深度和法线纹理一节,别后的原理中列出了如何从 Z纹理中将本片元的NDC空间下的z值还原成View空间下的z值附上表达式推导过程,手写方便和我一样数学都换老师的童鞋,少走弯路,呵呵。
2017-11-30 17:51:21
2713
原创 Unity3d 空间变换中齐次矩阵的w小秘密
1.使用变换齐次矩阵与某个齐次坐标相乘得到的结果,2.使用结果中的w分量,进行齐次除法得到归一化后的齐次坐标,3.用变换齐次矩阵的逆矩阵与归一化后的齐次坐标相乘(注意我们是用归一化后的齐次坐标,不是上面第一步变换后的齐次坐标),的到还原后的齐次矩阵,其w分量将会有一个特殊的值,4.如果将还原后的齐次矩阵使用其w分量进行齐次除法,将得到我们最开始用于变换的齐次坐标,彻底还原还原
2017-11-30 11:03:45
1920
原创 Unity3d 关于碰撞事件触发,触发器事件触发和 RigidBody以及IsKinematic RigidBody,Collider以及IsTrigger Collider 的条件总结
本人刚开始对碰撞事件和触发器事件的触发条件搞不清楚,经过网上查找了几篇博文和自己的手动测试,总结如下,只要记住这些可信规则和原因,在任何情况下应该都可以明白,会不会触发,避免新手走弯路,网上的博文和表格可以看一下,但是那个没有总结规律,只是表象意义不大Unity3d 关于碰撞事件触发,触发器事件触发和 RigidBody以及IsKinematic RigidBody,Collider以
2017-08-14 19:16:03
3614
1
原创 Unity3D 游戏画面像素与单位关系,简介。
1.游戏画面像素-》Unity3D单位(Unit)可以看到屏幕中,正交相机的视口高度,刚好可以填满一个单位的cube,注意2点1.图中cube 的缩放xyz设置的都是1,这样cube 就是默认的一个Unity3D单位的长宽高2.正交相机的视口大小Size 设置的是0.5而不是 1也就是说正交相机的视口大小Size 的意义是,本正交相机输出的游戏画面的
2017-08-01 11:32:45
18127
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人