关于UnityShader实例化那些事
关于UnityShader实例化那些事
概述
本篇文章会介绍内置渲染管线和URP渲染管线下,Unity
Shader如何实现实例化和实例化时的一些细节。注意本文不对单通道渲染的实例化、粒子的实例化和Dots实例化做过多的说明,只会简单提及。
环境
Windows10
Unity2022.3.34f1c1
Universal RP 14.0.11
内置渲染管线
简单shader实现实例化
Unity官方文档中是有具体的例子的。文档地址:实例化简单实现。这里我直接将源码贴进来,方便我自己解释。虽然官方文档中已经对实例化的参数进行了详细的说明,但是我觉得既然自己去写文章了,那就自己再记录一下。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455Shader "Custom/SimplestInstancedShader"{ Pro ...
新电脑的博客迁移手册
新电脑的博客迁移手册
前言
因为各种原因,我又换了一台电脑。这时候我想把自己博客转移过来,以方便自己的日常使用。但是上一次迁移都已经是两年前的事情了。我早就忘了具体的步骤,再加上之前我并没有记录下来,所以这次我痛定思痛要写一篇文章来记录这个步骤。如果你也是用Hexo框架的博客,或许这篇文章能帮助到你。
安装顺序
xshell和xftp的安装
xshell和xftp是我认为好用的远程服务器操作工具,这个直接在官网上下载个人版本就好了。不过我在安装xftp8和xshell8出现1603错误。在网上搜寻后,我找到一份解决解决方案:https://blog.csdn.net/weixin_45930320/article/details/120740480。
下载git
配置git信息。但是在之前,我们要先看到之前的博客中git的信息是怎样的。因为我偷懒都是设置全局的,所以我就只给出全局的解决方案。
1git config --global --list
记住这只能是旧电脑上进行的命令,新电脑上因为Git没有进行配置会 ...
在Unity中实现体积光
在Unity中实现体积光
吐槽
最近项目进度停滞下来了,所以我就开始帮忙同事做一些效果。其中有一个效果就是体积光。我本着没做过就去做的精神,拦下了这个活。我一番资料查找下来并跟着网上的文章做了一下,我发现这个效果的实现复杂的一批,然后效果还不能满足策划。幸好策划识趣不要这个效果了,不然这简直就是折磨。不过我既然去学了,那必要写一篇文章记录一下这个效果。
## 前言 体积光(Volumetric
Lighting),又可以叫做GodRay,是一种模拟光线透过空气中的尘埃、雾气、烟尘等粒子形成的光柱效果。本文参考着网上的文章(Unity后处理——体积光)来实现的效果并加了一些自己的理解,如果你觉得我写的有问题可以去看一下我参考的文章。
## 环境 Windows 10 Unity 2022.3.8f1c1 Universal RP 14.0.8 Core RP
Library 14.0.8 ## 搭建场景
我们先搭建场景,差不多像下图这个样子就好了,摄像机也放到差不多的位置。
添加参数控制
...
最近的总结2024.9
最近的总结2024.9
仍然迷茫
其实在8月末的时候,我负责的项目已经完工了,剩下的就是只是一些无关痛痒的表现修改和bug修复。实际上从8月中旬时,我就几乎没做什么事情了。我算了算时间才发现,直到现在我已经一个多月没做什么事了。这段时间内,我每天的上班状态就是偶而去帮帮同事出出主意、或是帮美术写一些Shader,大部分时间我就在等待着下班。
自工作以来,这是我最清闲的一个多月,也是我最烦恼的一个多月。我想清闲应该不必多说,没啥事的我可不就是清闲吗?这样的我本来不该有太多的烦恼,但我一旦闲下来就开始胡思乱想,烦恼便是从中而生。
我清楚的明白,我现在所会的技术不值一提,至少现在我的技术还不能够做让我到大厂中去。无论是引擎本身还是图形学方面,我都有很长的路要走。这空闲的时间刚好可以让我去看视频提升自己,不过我害怕在公司中看视频学习会被领导发现然后开除我。虽然其他的同事也这么干,但是我还是害怕。这仍然不是我主要的烦恼,我主要的烦恼是通过这几天的行为,我发现自己对于学习有一种极其强烈的抵触。
一开始我并没有意识到这份抵触, ...
径向模糊(URP下的实现)
径向模糊(URP下的实现)
前言
最近项目上要用到径向模糊的效果,而我又不会。我看了网络上的文章,我就感觉前人之述备矣。不过为了我自己不忘记,因此我写了这篇文章来记录这次我所学到的东西。
环境
Windows10
Unity2022.3.8f1c1
Universal RP 14.0.8
Core RP Library 14.0.8
介绍
径向模糊(Radial
Blur),是一种从中心向外呈幅射状的逐渐模糊的效果。在游戏中常常用来模拟一些动感的效果。
流程
径向模糊的特点是从某个像素为中心向外辐射状扩散,因此需要采样的像素在原像素和中间点像素的连线上,不同连线上的点不会相互影响。
第一步:确定径向模糊的中心点
第二步:计算采样像素与中心点的距离,根据距离确定偏移程度,即离中心点越远,偏移量越大。
第三步:将采样点的颜色值做加权求和。
第四步:将模糊的颜色和原本的颜色进行线性差值混合。
具体实现
在开始实现前,请确保你的相机开启了后处理。
...
简单的卡通渲染
简单的卡通渲染
前言
这篇文章是我在2024.2.21便想写的文章。可是因为各种各样的原因,最终拖到了现在去写。但是我也不打算多写什么东西,因为有些东西我也不懂,有些地方我也觉得莫名其妙。所以这篇文章就当是一次尝试了的记录了。
代码
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916 ...
Unity下的描边处理
Unity下的描边处理
前言
最近策划突然要做日系赛璐璐风格的卡通渲染,所以我又要去学这方面的知识。而描边则是此类风格中必要的一环。我在网上看过许多关于描边的做法,它们之中各有利弊。我怕遗忘,因此我想用这篇文章来记录一下。
本篇文章的代码会涉及Unity的内置(Build-In)渲染管线和通用渲染管线(URP)。如果其中有存在错误的地方,也请大家指出。
环境
Windows10操作系统
Unity2022.3.8f1c1
Universal RP 14.0.8
额外操作
在内置(Build-In)渲染管线中,某些描边的方法是需要一个额外的Pass来渲染描边。比如我们使用顶点扩展方法进行描边处理。但是在URP下,我们单纯的声明一个额外的Pass是没有作用的。我们必须在URP的设置中添加一个Render Feature,然后将Shader标签中的LightMode声明为我们所添加的Render Feature名称。
查找项目URP设置方法:Editor->Project Set ...
UnityAB包学习笔记扩展
UnityAB包学习笔记扩展
前言
我之前有写一篇关于UnityAB包学习的笔记。在这篇笔记中,我额外安装了Asset Bundle Browser1.7.0。这个Unity官方在最近几年都没有更新了,我想大概率是Unity官方想推AA包吧。所以AB包的API其实没有太多的修改,因此之前笔记应该还没有过时。故,我并不想再多赘述一次,如果你没有关于使用AB包的经验,你可以先去看之前我写的笔记,然后再来看这篇文章。
因为本人并没有参与过什么大型项目的游戏开发,因此下文的代码只是我个人的钻研。但是下文的代码还是有跑过项目的。只是这些项目几乎只有加载包中资源而没有卸载包资源的情况。
环境
Windows10操作系统
Unity 2022.3.8f1c1
Asset Bundle Browser1.7.0
加载依赖
AB包之间是存在依赖的情况,如果我们想正确加载一个包中的资源,那么我们要先将这个包所依赖的包加入其中。一般而言,我们只要能获取到AssetBundleManifest这个类型的变量,我们就可以获 ...
2024.7.26有感而发
我本来是不打算写这篇文章,但心里总是想着这事,所以还是写一下吧。
最近有些迷茫,我不知道怎么去提升自己。看着网络上大几百的教程,我又怕这教程没什么用。我愈发的迷茫,但我又不知道该怎么办。
我现在待在这个公司也一年多了,不出什么意外,我大概今年就在这家公司过去了。几个月前我和同事一起做出了个日流水能达到10万的游戏。年前领导发出豪言壮语想要做一款手机游戏出来,我本以为这个游戏能变为我们做手游的契机。可惜现在每天就几百块的流水,聚道分成后到我们手里也才十几块。他现在也只能继续做着我们现在的项目,并想找出一缕希望的曙光。随着我继续待在这个项目组里,我也明白除非有什么天大的机遇,否则项目组最多也只能养活自己。大家并没有什么太强的技术,说白了就是大家都菜。我们没有什么能力整出足够吸引他人眼球的效果,而在现在的风气中,这无疑就是在说自己没有赚钱的能力。我很想帮团队做出他想要的项目,但我真的菜,我做不到。我不禁怀疑自己是否是做游戏的这块料。
巧的是,刚好这时候前同事找我寒暄了一下。或许他也有些郁闷了吧。在对话中,我了解到他又换了一 ...
自己学习Protobuf的整理
自己学习Protobuf的整理
前言
本篇文章是我自己在学习Protobuf时做的整理。如有错误,还望告知,谢谢。
环境
Windows10
Unity2022.3.8f1c1 il2Cpp .Net FrameWork
Google.Protobuf 3.27.1
Protobuf文件写法的简单说明
下列说明以protobuf
csharp教程中的内容为例子说明。
我们创建一个以.proto为后缀名的文件。并填入以下示例内容:
1234syntax = "proto3";package tutorial;import "google/protobuf/timestamp.proto";
所有的Protobuf文件都以syntax作为开头。syntax关键字用于指定.proto文件所使用的Protobuf语法版本。现在支持proto2和proto3。proto2和proto3之间有一些区别,但是因为我项目使用的是proto3,所以下文大多以proto3 ...