外观
TA小文档
约 733 字大约 2 分钟
2026-03-14
单位Unit相关:
基础OneShot VFX:
OneShot VFX在框架里直接设置了position / rotation,我就不接收这两个了
Unit_Enter_Event
事件名:OnUnitEnter
需要2个Event Attributes
- BurstDir (Vector3):粒子爆发的方向,应该是单位进入建筑方向的反方向
- SpawnColor (Vector4):粒子的颜色
Unit_Spawn_Event
事件名:OnUnitSpawn
需要1个Event Attribute
- SpawnColor (Vector4):粒子的颜色
像素拖尾:
拖尾的实现依然使用的是Trail Renderer + ShaderGraph 为了保证像素格的大小稳定,需要动态调整材质的参数,具体计算公式如下,手调出来的:
- PixelateDensity = new Vector2( 单位速度 * 4, Trail Renderer.Width * 20 )
材质实例化相关内容统一在后面
像素消散 / 生成:
由于单位的叠叠乐属性,消散 / 生成使用了遍历子物体上材质实例的丑陋方法 详见 Assets/Tests/Scenes/Visual/GO Scene -> Unit/UI上的 UnitVisualController.cs 控制脚本可以照搬
建筑Building相关:
基础OneShot VFX:
Building_Hit_Event
事件名:OnBuildingHit
需要2个Event Attributes
- HitDir (Vector3):攻击单位相对于建筑的方向
- SpawnColor (Vector4):粒子的颜色
Glitch 受击
实现在 BuildingOnHitGlitchShader 由于单位的叠叠乐属性,只作用在Building/icon上的效果最正常 基本不需要调参数,直接上材质就好
像素消散
同上
卡牌
自发光
在整个卡牌底部叠加了一层UI Image (Width = 144, Height = 204) 需要修改下预制件,具体长什么样见 Assets/Tests/Scenes/Visual/UI Scene -> Card Canvas
后处理相关:
后处理主要在两个位置
Unity 自带后处理:
要启用,请在场景中添加 Global Volume,并将 Volume Profile 设置成 Global Volume Profile
Vignette
暗角,几个参数自己玩一下应该能看懂
Bloom
检测亮度大的像素,自动处理自发光
Film Grain
简单噪点,可以改一改Type找找喜欢的
自定义后处理
位于 Assets/Settings/Renderer2D
Post Process_Basic Adjustment
用于调节全屏的亮度 Brightness / 饱和度 Saturation / 对比度 Contrast
提示光效
Bokeh
OneShot VFX
事件名:OnBokehSpawn
需要1个Event Attributes
- SpawnColor (Vector4):粒子的颜色
3.9ver 更新
Bokeh 应该是 Attach,跟摄像头的
3.10ver
拓展:世界空间单位 / 建筑的消散
依旧需要给每一层世界空间UI上材质,不同的是如果需要批量消散 / 生成,这一批GO应该只需要创建一个材质实例
世界空间中不再只接收一个 DissolveAmount ,需要接受更多参数:
DissolveDir:世界空间下整体消散 / 生成的方向
DissolvePointPos:世界空间的消散需要定义一个控制点,以垂直于消散方向,并且经过控制点的直线为分界线,分隔已消散和未消散的部分
引导线 Line Renderer 的临时解决方案
根据线拉了多长,需要动态调整 LineMat -> TilingX 的数值
如果觉得线太粗,直接调整 Line Renderer 组件 -> Width
更新日志
2026/4/16 11:07
查看所有更新日志
e4055-Merge pull request #12 from azaneNH37/doc于