Bob Blog

If you want knowledge,you must toil for it.

Unreal中的水

水体系统

水体系统背景 年份 游戏 实现方式 截图 1996年 《Wave Race 64》 Sin,屏幕分辨率小效果ok 1998年 《雷神之锤》 动态纹理制作的半透水 ...

TownShip的海水效果

通过Unity复刻海水效果

TownShip海水效果抓帧 分为海水效果、鱼群游动、鱼跳跃、海岸线浪花、帆船航行、点击水面特效、海鸟滑翔等效果 海面Mesh 整个海面是由多块小区域不规则海面构成,每个小区域是由多个菱形mesh构成。菱形比方形波动效果更好。 海岸线浪花Mesh 海岸线的浪花是叠加的一组mesh 4个通道贴图 Waterx贴图 前三个通道分别如下: Red通道:小细碎浪...

通用渲染管线(URP)HLSL

HLSL基本语法及库函数

HLSL语义 顶点着色器(Vertex Shader)语义 输入 描述 类型 BINORMAL[n] 次法线 float4 BLENDINDICES[n] 混合指数 uint BL...

电影级对话生成

二款游戏学习笔记

本文是基于《刺客信条:奥德赛》 电影级对话自动生成系统学习整理的资料,工具开发作者是Ubisoft一个名为Francois Paradis的程序员,集结他21年来剧情生成系统之精华。第二部部分是《巫师3》剧情对话系统简单介绍,工具作者是动画技术导演Piotr。最后是国产游戏对话表现类型总结。 《刺客信条:奥德赛》 -Procedural Generation of Cinematic D...

荒野大镖客2画面分析

画面抓帧

使用renderdoc对《荒野大镖客2》Pc版本画面抓帧分析。 [光] 1、spot light,point light,directional light [场景] 1、建筑物件,地形,植被,水体,云,天气雨雪,雾 2、马,角色 [脚印] Parallax Occlusion Mapping 参考资料: the Atmospheric World gta

阅读UGUI源码

事件机制

[Selectable] Button/Dropdown/InputField/Scrollbar/Slider/Toggle都是继承Selectable实现,Transition实现状态间切换。 public class Selectable : UIBehaviour, IMoveHandler, IPointerDow...

阅读UGUI源码

关于顶点数据

了解UGUI源码更方便为游戏性能调优和扩展项目所需特制组件,UGUI源码Git地址。 [顶点辅助类] 存储Mesh所需的数据:顶点,顶点色,UV,法线,切线,和三角面顶点索引,数据都用ObjectPool构成的ListPool来维护【游戏设计模式:对象池模式】,这样可反复使用节约内存。如果是自定义特制形状UI组件就需要借助VertexHelper来组织数据。数据最终通过CanvasRen...

阅读UGUI源码

Graphic

[GraphicRegistry] GraphicRegistry管理所有Graphic,内部通过IndexedSet维护数据 public class GraphicRegistry { private readonly Dictionary<Canvas, IndexedSet<Graphic>> m_Graphics = ne...

Unity AssetBundle

文件格式解析

Unity 生产资源内部文件格式说明: Asset Bundle Internal Structure 文件类型 序列化文件(serializedFile) 序列化文件是AssetBundle的重要组成,本质上是对象和元数据的集合. 文件头(header) 文件以0x14字节开头. 文件头中数据都是以big-endian(大端模式:数据的低位保存在内存的高地址中,而数据...

数据结构与算法

链表

学习数据结构与算法资源 《算法导论》- Cormen,T.H. 算法可视化项目 算法可视化项目 算法可视化项目 topcoder leetcode coursera 以下题目均来自leetcode 翻转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1...