
unity 搬砖
文章平均质量分 74
Jave.Lin
积跬步至千里
展开
-
Unity - Shader Compiled Log
这样的话,就可以真机上查看编译情况,每个以 Compiled Log 都是对应 Shader.CreateGPUProgram,因此如果要做: 变体优化,变体预热,都是一个比较好的调试Log。如果要做变体优化,或是 Shader.CreateGPUProgram 的 CPU 卡顿优化。先说一下,最近几天前,纷纷看到 unity install fee 的天才收费方案。顺便编写简单的 shader,创建 material,创建 prefab。设置 AB 信息,build AB。"实用工具/BuildAB"原创 2023-09-15 11:02:22 · 1348 阅读 · 0 评论 -
Unity - 搬砖日志 - UGUI合批优化 - Overlap(UI AABB 有重叠), Z != 0 照样合批的方案
这种如果有 UGUI 黑箱部分的合批逻辑,都会比较好处理(比如,如果你们项目有购买 unity 引擎源码,那是可以一探究竟,甚至可以自行修改的)另外,这些内容纯纯是搬砖,都是基于别人的引擎(unity引擎)下使用UGUI 的一些问题。其他项目组的一位 TA 大佬,分享了一下 UI 的 AABB Overlap 下的合批。然后我们没有unity引擎源码,在这种情况下,这位TA大佬都测试出来了,真的牛逼。相当于一个都合批不了,要是UI复杂,有多,那么性能就渣渣了。结果他自己做了一些尝试,发现可以这么整。原创 2023-07-01 13:30:58 · 1942 阅读 · 1 评论 -
Unity - Render Doc - 解决 Waiting For Debugger 导致连接不了 APP 的问题
比如会出现: Waiting For DebuggerApplication xxx (process com.xxx.xxx) is waiting for the debugger to attach.下面以 小米K50手机为例 (目前也就在小米机上遇到,其他机器没设置对应的选项),并后续带上解决方法原创 2023-04-30 16:14:19 · 4052 阅读 · 0 评论 -
Unity - 带耗时 begin ... end 的耗时统计的Log - TSLog
idxtagtimeSpanstartDescendDesclineStartlineEndDateTimeNowcontent"实用工具/测试/测试TSLog并写日志结果"tagdatatagtagtstagdataerror。原创 2023-04-21 15:52:46 · 2116 阅读 · 0 评论 -
Unity - 搬砖日志 - Texture.mipmapBias 无效的解决方法
发现是 unity 纹理一个 mipmapBias 的 import 属性,但结果设置了一样木有效果。而我们项目 Graphics API 刚刚好是 OpenGL ES 所以没有效果。因为美术发现有些贴图太糊,但是经过研究发现,mipmap0就是完全够精度的。因此对纹理的 mipmapBias import 属性设置是没有用的。但是不可能还要提升贴图的尺寸,因为经过多方咨询(咨询TA大佬)最后TA大佬说,试试 shader 修改。只能在材质面板中添加一个。原创 2023-03-10 21:39:08 · 2283 阅读 · 0 评论 -
Unity - Shader Graph 中的 Flipbook 节点算法BUG - Unity_Flipbook_float
flipidx : 10 (其实是编号,不是索引)到时结果采样到的是:20 的位置。应该是采样到是 10 的位置。原创 2023-03-10 21:21:32 · 1530 阅读 · 0 评论 -
Unity - 搬砖日志 - BRP 管线下的自定义阴影尺寸(脱离ProjectSettings/Quality/ShadowResolution设置)
发现 BRP 管线下的 Shadow Resolution 只能在 Project Settings/Quality/Shadow Resolution 去设置。只需要编写工具,批量对项目中的 Scene、Prefab,遍历其下所有 Light 的 GameObject 添加 改组件即可。(好久没搬砖了,偶尔健身一下,顺便将这些无技术含量的内容,记到 blog,不要记在脑子)还好我去公司中台请教了 TA 专家,他说 BRP 中一样是可以设置的。最近给项目做优化的过程中。原创 2023-03-06 21:37:18 · 1693 阅读 · 0 评论 -
Unity - 搬砖日志 - Android 的 Optimized Frame Pacing - 对应 ProjectSettings 配置字段:androidUseSwappy (影响锁帧)
备忘用,因为 project settings 动不动,会提交一堆不相关的配置字段修改。和 实际的 ProjectSettings 字段名字差异太大。Unity PlayerSettings 的 GUI 上。原创 2023-03-03 14:47:46 · 4227 阅读 · 0 评论 -
Unity - 搬砖日志 - 如何设置AssetDatabase.Create(“xxx.asset“, mesh) 的Read/Write=false
最近很忙,想写的 BLOG 都遗漏编写了踩坑的时间比较多,充电的时间少了很多为了减少以后自己填坑时间,随便简单的记录一下 搬砖日志。原创 2023-01-11 20:47:10 · 2029 阅读 · 3 评论 -
Unity - 搬砖日志 - MatierlaPropertyDrawer 中的参数如何匹配 - 自定义 Attribute 的参数提取
搬一下砖,并记录,免得后续重新搬砖。原创 2022-12-17 12:03:45 · 1836 阅读 · 0 评论 -
Unity - Shader - Projector 高空云层底下透明阴影 - semitransparent shadow
这种方式我最早是在 cat like coding 博主的文章看到的,这种方式我自己亲自测试过缺点:会有阴影抖动严重的现象)如下GIF就算我故意将 精度拉低(将距离边缘,那么 shadow map 的应用精度就会低一些)然后抖动的闪烁一样要不得。原创 2022-11-24 11:55:16 · 3500 阅读 · 5 评论 -
Unity - BRP管线关闭UpdateDepthTexture的绘制
但是 unity 的踩坑经验倒是增加了不少(还有很多坑的经验我都懒得写了,但是这些坑浪费查资料时间,还不如自己记下来,便于日后如果还有 BRP 项目的处理,就能更快的解决,反正下个项目,我们绝对不用 BRP 了,难受,性能也浪费,我反正首选 URP,满足我们的需求,性能上限也高一些)网上还有些人说设置 light 光源的 shadow = None,或是 ProjectSettings中的 Quality 将 shadow disabled 掉,但是对于我现在这个 BRP 项目来说,都没用。原创 2022-11-23 18:20:16 · 1820 阅读 · 0 评论 -
Unity Lightmap&LightProbe局部动态加载(亲测2020以及以上版本官方修复了)
因为 unity 内置的 bake 系统是只能跟单个场景走的并且,运行时,只有 active == true 的场景对象才有小如果你当前 additve 的方式 load 了多个场景,并且每个场景都有自己的 lightmap那么其他不是 active == true 的场景对象的 lightmap 将会失效(我是没搞懂为何 unity 这功能不制作好一些,这个功能应该很多项目都会有使用到的)---恰好,我们项目之前加载关卡的代码不是使用 加载 scene 的方式而是使用 加载 pr原创 2022-09-21 21:38:31 · 2827 阅读 · 1 评论 -
Adreno Hardware Tutorial 3: Tile Based Rendering - TBR - 笔记
加深对 TBR 的理解,便于日后做优化便于不使用 视频中调整进度的方式来查看内容,而直接从文本上搜索,便于后续的索引方式来回顾内容翻译 2022-08-11 23:34:08 · 788 阅读 · 0 评论 -
Unity - Shader - 搬砖日志 - Shader Graph 快速出原型,然后手撸 shader 还原,转换到 BRP/URP 使用
文章目录效果实现优化 SG 布局还原手撸 Shader需要和 ParticleSystem 有蒙版交互考虑自适应问题References首先,美术同学在网上找了一些效果: ShaderGraph第09节_血球但是美术同学,始终无法得到最终想要的效果,于是乎,让我帮忙还原 Shader Graph 效果效果实现为了方便参考视频的实现方式(实现方式有多种多样,为了快速让美术用上想要的效果,我就快速的喵了一下视频),就按照视频中大概的意思思路来实现,并且视频使用的是u3d 2018 版本,所以我也使用原创 2022-05-19 10:43:09 · 3039 阅读 · 1 评论 -
Unity Shader - URP - 抄作业 - Deep Crack - 裂痕深坑 - SRP Batch优化
文章目录环境思路建模Houdini设置好Geometry + Curve + Extrude3ds max设置好参考背景图使用:创建/图形/线,来勾勒刨面封口刨面转为可编辑多边形导出用于仅仅写入深度的面片挤出裂痕深度导出带挤出裂痕模型最终效果优化再次优化优缺点其他的裂痕方案完整的 Shader深坑部分裂痕表面部分Project环境Unity : 2020.3.18f1Pipeline : URP之前看了一下公司里有位同学买了 taecg 老师的课程里面有讲到 裂痕深坑 的制作方式(做法有多种,原创 2022-04-28 18:14:43 · 2853 阅读 · 0 评论 -
Unity Shader Graph - 软粒子 Fade 值,Screen Position.w 分量是啥
一般我们直接撸 shader 代码的话,直接拿:深度缓存/纹理的值 减去 片段的值来做过度 即可,这部分代码,以前在做水体、软粒子的shader 也有使用到:Unity Shader - BRP - Soft Particle - 软粒子Unity Shader - 实现简单水体 - 浅水到深水颜色控制核心的计算 fade 值在这float fade = saturate(_InvFade * (LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraD原创 2022-04-27 15:09:41 · 2601 阅读 · 0 评论 -
Unity - 画质设置
以前自己写的类,现在重新写一份 代码便于日后直接搬运使用Show me Your Code, Talk Is Cheap.GameQualitySettings// jave.lin 2022.03.17using System;using System.Collections.Generic;using UnityEngine;using UnityEngine.Rendering;// jave.lin : 输出系统的信息工具类public class DumpSystem.原创 2022-03-17 12:48:33 · 6024 阅读 · 0 评论 -
Unity - 性能优化 - 包体,内存 - 偏静态资源的优化
如果 产品 制作出来不经过优化,那不叫 产品,准确的说是:DEMO今天做了一些项目分析,发现这个项目惨不忍睹初步判断可以做的优化点:(下面是简述版本,详细的就不说了,免得影响可读性)原创 2022-01-22 19:05:42 · 3769 阅读 · 4 评论 -
Unity -搬砖日志 - 替代 卡渲 里面的接受 shadow map 阴影方式
备份,便于后面自己 CTRL+C/V可以看到目前市面上 二次元卡渲染 的手游产品中,人物接受阴影的处理方式都是走整体偏暗的方式而不是 shadow map 处理方式主要原因是因为 receive shadow map shadow 的话,会导致人物美观度大大降低特别是 shadow map 分辨率低的话,头发投影后,脸上接受阴影后,那效果真是令人难以接受毕竟 二次元卡渲染风格 的产品,都是靠卖相的走整体偏暗方式的接受阴影非常简单,基本上都是:Physics.RaycastOnTrigg原创 2022-01-11 17:44:07 · 2894 阅读 · 0 评论 -
Unity Shader - 搬砖日志 - 3D Noise, Noise 3D 相关
文章目录ProjectReferences备忘,2D 的 noise 有纹理或是现成的比较多3D noise 在 unity SG 出奇的没有封装显示再 shader graph 中,没找到 3D noise:Gradient Noise Node - 看目录中的每个 noise,都没有 3d noise然后 google :generate 3d noise in unity,找到一堆ProjectBackup : Testing3DNoise_U3D_2019_4_30f1R原创 2022-01-06 15:04:06 · 1686 阅读 · 1 评论 -
Unity - Meta Pass 给 Bake GI 的 Emission 自发光等信息无法烘焙到 Lightmap 中的问题
文章目录环境问题解决References环境Unity : 2019.4.30f1Pipeline : Built-In RP问题因为场景中需要走完整的 烘焙 方案然后我们自己写的 VS/FS 着色器则需要提供 meta pass如下,一个最简单的带 meta pass 的着色器// jave.lin 2021/28Shader "Test/T3_VerySimpleMetaPass"{ Properties { _Color ("Color",原创 2021-12-29 11:35:25 · 2703 阅读 · 0 评论 -
Gamma Correction/Gamma校正/灰度校正/亮度校正 - 部分 DCC 中的线性工作流配置
通过上面的 RenderDoc 抓帧分析 : gamma 和 linear 的区别我们可以得知sRGB 颜色空间是 色域范围定义的一种,原始线性空间颜色要转换到这个颜色空间,需要 pow(color, 1.0/2.2) 的,sRGB 颜色空间转到 线性空间,就是反过来 pow(color, 2.2)sRGB 格式贴图。原创 2021-12-28 21:18:45 · 9368 阅读 · 2 评论 -
Unity - 人物对象的 LOD 管理
文章目录Unity 没有内置的人物角色 LOD 管理可以自己写脚本按距离来控制扩展、及其问题ReferencesUnity 没有内置的人物角色 LOD 管理参考了 Unity 论坛上的某个帖子:Level of Detail management (LOD)虽然 Unity 没有内置的角色 LOD 管理但是我们可以自己根据距离来切换网格可以自己写脚本按距离来控制直接参考:https://pastebin.com/clone/K1S4Zjh0using UnityEngine;usin原创 2021-12-23 21:09:24 · 1701 阅读 · 0 评论 -
Unity Shader - 搬砖日志 - Dithering
文章目录简单的程序化 Dithering色戒纹理 Dithering程序化 动态 DitheringUnity 自带的 RGBA32->RGBA4444使用 keijiro dither 4444 优化RGBA8888->RGB565引用大神统计的一张 dither 算法图Shader 实践References简单的程序化 Dithering色戒纹理 Dithering下面的 dither 纹理图 3x3 像素,参考与:数字半色调技术/RIP/dithering algorithm原创 2021-12-22 18:37:44 · 3516 阅读 · 0 评论 -
Unity - 搬砖日志 - ToLua 如何屏蔽 wrapper 文件不生成对应的成员(方法、字段) - NoToLuaAttribute
方法很简单:只要我们再 VS 搜索:Lua/Generate All 的字符串,然后一路跟过去逻辑,就能找到下面的代码IsObsolete 的中文意思:是否过期的;是否被抛弃的;虽然意思不太适合,但是凑合着能达到一样功能效果就好我个人觉得这些常用功能,ToLua 作者就应该写再 github 仓库首页下说明 NoToLuaAttribute 之类的使用,对用户友好度会高很多...原创 2021-12-21 16:46:27 · 1267 阅读 · 0 评论 -
Unity - 搬砖日志 - 打开项目时崩溃/或是运行不起unity的日志
崩溃日志目录所在:C:/Users/admins/AppData/Local/Unity/Editor/Editor.log 其中 admins 是你的 windows 登录账号名打开该 Editor.log 搜索 Crash!!!,再 Crash!!! 后的所有都是崩溃相关的信息而 Crash!!! 前也是你需要注意的,如果每次查看崩溃的日志,都是再同一个地方出现,那就应该排查 Crash 前的操作是什么,如:加载资源,等再搜索:========== END OF STACKTRACE ======原创 2021-12-21 10:31:17 · 8757 阅读 · 2 评论 -
Unity Shader - 板砖日志 - 简单的树、草 等植物的 随风飘扬 动画
文章目录目的思路Shader目的便于后续自己的 CTRL+C,V的面向复制、粘贴编程思路非常简单:可以使用 perlin noise,simple noise 或是其他的 noise 函数,又或是 noise tex 来提取顶点 xyz 的偏移然后 vs 里便宜就好了,需要阴影跟随飘动的投影就加上 “LightMode”=“ShadowCaster” 的 passShader...原创 2021-12-13 21:10:42 · 2154 阅读 · 2 评论 -
Unity Shader - 深度缓存复用
文章目录环境目的思路问题DX 中的问题,OpenGL 没有问题References环境Unity : 2018.2.11f1管线 : Built-In(这个项目使用比较旧的 Unity 版本)目的最近制作一个功能,在 Bloom 后处理,只对某部分得 对象有效(需求有点奇怪)如:原来得 Bloom 效果会对整个屏幕所有像素都有影响(这是后处理得特色),但美术想要只对 场景 中得 角色对象有 Bloom 效果思路先绘制 场景中得所有得角色 到一个 _MaskTex 的纹理中(shad原创 2021-12-11 13:13:38 · 1575 阅读 · 2 评论 -
Unity - 搬砖日志 - SimpleCamControl
文章目录MySingleCameraTargetMySimpleCameraControllerMySimplePlayerControllerReferencesMySingleCameraTarget// jave.lin 2021/11/12// 简单的 Camera Target 类using UnityEngine;public class MySingleCameraTarget : MonoBehaviour{ [Header("视图逻辑前向")] publi原创 2021-11-13 16:03:57 · 1609 阅读 · 1 评论 -
Unity - 搬砖日志 - URP Overlay Camera.clearDepth 没有 setter
文章目录环境问题目的环境Unity : 2019.4.30f1URP : 7.7.1问题如题,但是却又 Inspector 中的 ClearDepth 的设置,如下图目的因为需要在脚本中对一些相机动态设置为 Overlay,并取消 Clear Depth,但结果发现 UniversalAdditionalCameraData API 中竟然没有 Setter,真的是服了!Unity 论坛上也有人发问一样的问题,但是一样没有得到官方的回复:(Overlay) Camera Stack原创 2021-11-09 21:28:40 · 1948 阅读 · 2 评论 -
Unity - URP记一次 UGUI Mask无效的问题(自己挖坑自己填)
问题正常 UGUI ScrollView 中的 Viewport 对带有 Mask 组件的功能,其实就是 write stencil buffer 1然后后续的 渲染对象 equal stencil 1 才通过而已,然后所有子对象绘制完后,会再试绘制 viewport 对应的区域重置这些像素的 stencil,具体可以查看我之前的一篇:Unity - 搬砖日志 - RenderDoc 分析为何 UGUI ScrollView 下 Stencil 不能与 其他 3D 层的对象有交互?(Mask 组件的问.原创 2021-11-05 16:41:56 · 2932 阅读 · 0 评论 -
Unity ShaderGraph - 给低版本的 ShaderGraph 添加 Render State (Pass Setting) 的功能
文章目录环境目的将 Package Manager 安装的 Shader Graph 包资源 cut先查看 shader graph 生成的代码查看源码Render State 相关代码开始抽丝剥茧分析过程ShaderGraphImporter.GetShaderText 获取入口逐个 SubShader 读取Graph视图中所有节点,并配置生成前的数据逐个 Pass 配置生成数据pass render state 的配置数据生存读取模板 + 处理模板开始扩展简单粗暴的 Render State (Pass原创 2021-11-04 16:29:33 · 1378 阅读 · 1 评论 -
Unity - 搬砖日志 - 获取 child 相对 parent 下的 rotation
今天有位小伙伴问我如何获取 child 相对 parent 下的 rotation也就是 child 相对 parent 下的 世界坐标下的四元数但是啊,四元数,我一直还没去啃这块老骨头后面都是搜索得到结果,到时推导过程很简单推导过程:已知 Unity 中 Transform parent, Transform child想要获取:child 相对 parent 下的 Quaternion 应用变换,如下:Transform parent, Transform child;child..原创 2021-11-04 15:57:52 · 830 阅读 · 0 评论 -
Unity URP - 搬砖日志 - Base Camera 的 Stack 不显示 Overlay Camera
RT如下图显示先有一个 Base Camera,注意 是在 DontDestroyOnLoad 分类场景下的再如下图显示,另有 uicamera 也是 DontDestroyOnLoad 下的相机,RenderType 是 Overlay的再如下图显示,另有 cameraWeapon 也是 SurvialModeMap 场景下的相机,RenderType 是 Overlay的按文档来说,只要是 Overlay 类型的相机,都可以设置到 Base 相机下的 Stack 来达到 叠加 或叫原创 2021-10-30 16:55:33 · 4637 阅读 · 2 评论 -
Unity Shader - 搬砖日志 - Built-in RP Shader 升级到 URP Shader 出现 redefinition of _Time 错误
之前我升级部分 Built-in RP Shader 直接新建 shader,调整使用每一个 Shader 中对应的内容都是基本上很少遇到有 redefinition of _Time 的 shader 编译错误问题但是啊,我在对复杂一些的 Custom Shader 升级时,没使用批量 Replace,很容易漏掉 上面的 CGINCLUDE, CGPROGRAM 的替换然后编译提示:redefinition of _Time,然后就一脸懵了去搜索还好发现有人遇到同样问题,但是都是问题集合里面的其中原创 2021-10-29 15:16:23 · 2596 阅读 · 2 评论 -
Unity Shader - URP 中的 #pragma prefer_hlslcc gles 的作用
在阅读 URP 的 shader 发现基本都有这么一些编译指令: // Required to compile gles 2.0 with standard SRP library // All shaders must be compiled with HLSLcc and currently only gles is not using HLSLcc by default #pragma prefer_hlslcc gles原创 2021-10-27 14:22:15 · 2312 阅读 · 0 评论 -
Unity - Projector - 实时[假]阴影
References【Unity Shader】结合Projector和Rendertexture实现实时阴影UnityEffects(2)之ProjectorShadow(手游上的实时阴影方案)原创 2021-09-30 10:52:52 · 3893 阅读 · 0 评论 -
Unity - 搬砖日志 - 如何获取 unityhub://20xx.xx.xx/xxxxx 地址
打开:download/archive如果打不开就翻Q来打开(我自己试过翻墙也打不开,可能是网络翻Q节点问题),就换 V, P,N 或是换其他网络转传节点,再试试即可打开后,界面如下复制 “Unity Hub” 按钮的连接,就是:unityhub://20xx/xxxxxx 的URL 了然后在 浏览器 此连接即可唤醒 unity hub 安装了...原创 2021-09-27 19:05:13 · 417 阅读 · 2 评论 -
ILRuntime - 写个简单的游戏 DEMO 工程
文章目录ILRuntime DebugServer 的优化VS 生成事件设置ProjectReferences具体其他简单的用法可以参考 References 中的 官方DEMO其中 HotFix 层的 Behavior, Component, UIView 等封装我写的这个 DEMO 学习用,里面部分简单的用法可以相互学习、交流整个已上传到:GitHub 上了:javelinlin/ILRuntimeU3DDemoILRuntime DebugServer 的优化因为我们在 主工程 中如果原创 2021-09-23 19:56:55 · 415 阅读 · 0 评论