![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c#
文章平均质量分 60
进击的Shader
这个作者很懒,什么都没留下…
展开
-
解决 Unity3D AssetBundle 异步加载与同步加载冲突问题
解决 Unity3D AssetBundle 异步加载与同步加载冲突问题原创 2022-09-10 18:22:09 · 2754 阅读 · 1 评论 -
Unity Atlas 图集资源依赖打包规则
Unity Atlas 图集资源依赖打包规则原创 2022-06-04 14:11:20 · 1435 阅读 · 0 评论 -
GameFramework.ObjectPoolManager 详解
总图1.存储实例想要使用对象池,存储实例的类型必须继承于ObjectBase。 其中诸多属性决定了该实例在池中的生命周。其中索引相关的属性为:Name 对象的名称Target 对象携带的内容这两个属性均可以用来在池中索引对应的 ObjectBase 实例。释放相关的必要属性为:Locked 锁定状态,锁定状态为 true 不会被释放。CustomCanReleaseFlag 自定义释放标记,自定义释放标记为 true 不会被释放,可在继承的类中编写逻辑通过控制释放标记原创 2020-09-24 10:13:23 · 345 阅读 · 0 评论 -
Unity优化之GC——合理优化Unity的GC
Unity优化之GC——合理优化Unity的GC 转载请标明出处http://www.cnblogs.com/zblade/ 最近有点繁忙,白天干活晚上抽空写点翻译,还要运动,所以翻译工作进行的有点缓慢 =。= PS: 最近重新回来更新了一遍,文章还是需要反复修改才能写的顺畅,多谢各位的支持 :D 本文续接前面的unity的渲染优化,进一步翻译Unity中的GC优化,...转载 2020-04-27 15:48:28 · 262 阅读 · 0 评论 -
C Shap 如何唯一确定一个类,当多个程序集具有相同的全名类时,避免冲突或意外的替换。
1.首先 c shap CLR 运行时如何确定一个类 ? c shap 源码中调用一个类,在编译成IL时,IL 并不仅仅记录类全名,而是记录 程序集名+类全名,这样就能唯一确定一个程序集中的类,从而避免冲突和替换。如上图中反编译出的IL代码中,所有涉及到对类的调用都时采用程序集名加类全名的方式。2.外部别名,外部别名只是作为源码层面的语法使用,当采用外部别名访问某个类的操作被编译为IL...原创 2020-03-12 14:43:45 · 397 阅读 · 0 评论 -
AssetBundle中加载资源的三种方式
AssetBundle中加载资源的三种方式原创 2020-01-20 16:36:10 · 2515 阅读 · 0 评论 -
Unity3D RectTransform 成员 localPosition 和 anchoredPosition 详解
1.RectTransform.localPosition(本地位置) RectTransform.localPosition 顾名思义就是表示相对于父元素的位置,但是它不同于Transform.localPosition ,它是一个像素为单位的坐标,这个像素坐标系的原点依然是 RectTransform.parent.position,但是相较于Transform.localPosi...原创 2020-01-02 11:02:00 · 11942 阅读 · 0 评论 -
Unity3D 重复的使用 AssetBundle.LoadAsset<T>() 同一资源对象,并不会导致性能问题
之前查找网络上一些资料,说是重复的使用 AssetBundle.LoadAsset<T>()来获取资源对象; 虽然不会导致重复的反序列化资源,但是相比于将对象存储在字典中的管理方式,依然会慢上三倍的速度,对此一直比较疑惑,想必Unity官方的内部实现应该也不至于如此不堪,于是做了如下测试,(为了公平起见资源包中仅有一个预制体Cube,字典中也只存有一条内容,这样两种方式查询时的干扰都一...原创 2019-12-25 10:50:07 · 5621 阅读 · 0 评论 -
Unity3D 层剔除距离与层球形剔除 layerCullSpherical 和 layerCullDistances
Camera.layerCullDistances 层剔除距离,可以分别设置不同Layer的物体的剔除距离,比如可以将小物件比如地上的石头灌木的剔除距离设置的近一些,而大的物体如房子子树木等设置的远一些,这样可以节省算力,这个属性是一个float类型的数组,如果要设置这个值,你需要创建一个float[32] 也就是含有32个元素的数组,因为Unity3D最高支持32个Layer,然后按照...原创 2019-12-13 09:53:07 · 1433 阅读 · 0 评论 -
Unity.Time 小白科普
Unity.Time 里面的一系列和时间相关的数据,往往是我们做动画处理的依据,比如 Time.deltaTime*每秒移动距离=本帧需移动的距离,等等,可以说Time类是非常重要的,他直接关系游戏中的逻辑更新,同时Unity.Time 和fixedUpdate 也息息相关,直接决定了每帧中fixedUpdate的调用次数。现在因为一个偶然的任务需要做客户端和服务端的帧同步,所以我有...原创 2018-08-12 13:19:40 · 4351 阅读 · 1 评论 -
Unity3D 光照数据简介
之前一直对光照部分不清不楚很多地方也没有研究,恰逢遇到一本《 UNITY 3D SHADELAB实战详解》里面详细的讲解了部分Shader段,有关光照的的详细内容,但是依然不全,于是硬着头皮啃了一部分,这里把一些心得写下防止忘记了。我个人认为Unity3d 光照处理流程分为三步,1.决定调用什么Pass,2.为Pass准备合适的光照数据,3.在Pass中进行对应的光照计算。这三步其实就是我们的...原创 2018-08-10 14:16:51 · 641 阅读 · 0 评论 -
一句话总结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 · 9208 阅读 · 2 评论 -
四元数的简单应用
关于四元数,网上的教程很多,但是大多都是装B版本,像我一样早就把线性代数换给老师的同学,会发现看了之后还是云里雾里,既不知道怎么用,也不知道用了有什么意义,现在我来已最直白,最简单的方式告诉大家用法。1.四元数表示的旋转公式如下代表旋转行为的四元数有四个分量:(X,Y,Z,W),W为实部,XYZ为虚部,什么是实部虚部?不懂忽略就行了,等有空去看《3D游戏与计算机图形学中的数学方法》youku 视频...原创 2018-04-09 09:26:36 · 4337 阅读 · 8 评论