公司
This commit is contained in:
0
1Project/GPU地形/ComputeShader生成无限世界地形.md
Normal file
0
1Project/GPU地形/ComputeShader生成无限世界地形.md
Normal file
52
1Project/ZYGame/州府前端流程.md
Normal file
52
1Project/ZYGame/州府前端流程.md
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# 宣战
|
||||||
|
- 宣战权限
|
||||||
|
- 时间
|
||||||
|
- 可宣战时间 点数
|
||||||
|
- 可配置
|
||||||
|
- 不可宣战周期
|
||||||
|
|
||||||
|
# 同盟城池界面
|
||||||
|
- 城池列表界面
|
||||||
|
- 分配奖励功能-列表
|
||||||
|
- 分配上限
|
||||||
|
- 配置
|
||||||
|
- 排序
|
||||||
|
- 占领buff奖励列表界面
|
||||||
|
- 分配记录界面
|
||||||
|
|
||||||
|
# 占领规则
|
||||||
|
- 首战
|
||||||
|
- 可以分配奖励
|
||||||
|
- 正式占领
|
||||||
|
- 超出可占领数量弹出放弃最低势力值提示
|
||||||
|
- 放弃占领
|
||||||
|
- **武侯**可以放弃
|
||||||
|
- 一小时缓冲
|
||||||
|
|
||||||
|
# 攻防
|
||||||
|
- 进攻:
|
||||||
|
- 个人攻击
|
||||||
|
- 主力
|
||||||
|
- 城防
|
||||||
|
- 集结攻击
|
||||||
|
- 列表
|
||||||
|
- 剩余时间
|
||||||
|
- 占领排行界面
|
||||||
|
- 等级限制(配置,加盟时间限制(配置,新增世界buff
|
||||||
|
- 功勋商店
|
||||||
|
- 防守
|
||||||
|
- 列表
|
||||||
|
- 互斥
|
||||||
|
- 主力
|
||||||
|
- 城防
|
||||||
|
- 攻占UI
|
||||||
|
- 首占
|
||||||
|
- 最终占领
|
||||||
|
- 占领结果
|
||||||
|
- 排行榜界面
|
||||||
|
- 保护
|
||||||
|
- 不在本赛季开放
|
||||||
|
- 非宣战时间
|
||||||
|
|
||||||
|
# 野城
|
||||||
|
- 单人进攻提示
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
- 拿到原mesh中的顶点uv,normals和bones以及bonesWeight,实例一张新的网格。通过RootTransform的算出来的每个顶点的Martix4x4与骨骼权重算出来的混合。
|
|
||||||
- 通过Graphsic.DrawMesh()来绘制这张网格,至此实现gpu蒙皮动画
|
|
||||||
37
1Project/海量渲染战斗/GPU动画工程/GPU蒙皮动画.md
Normal file
37
1Project/海量渲染战斗/GPU动画工程/GPU蒙皮动画.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
### 蒙皮动画原理
|
||||||
|
- 网格顶点可以绑定多根骨骼
|
||||||
|
- 所以网格顶点在运行时就可以确定为根骨骼的**空间矩阵** * **骨骼混合权重** * **网格空间坐标**
|
||||||
|
- 世界坐标系下 RootTRS * 骨骼混合TRS * ResetPoseTRS
|
||||||
|
|
||||||
|
### 为什么要升级到蒙皮动画
|
||||||
|
- 可以做动画混合
|
||||||
|
- IK
|
||||||
|
- 动态挂点
|
||||||
|
- 节省贴图
|
||||||
|
- 只需要渲染一张所有网格的顶点,不再需要每个clip都渲染全顶点贴图
|
||||||
|
|
||||||
|
### 混合架构:近处用 GPU Skinning,远处用顶点动画
|
||||||
|
|
||||||
|
这是很多项目最终的策略:
|
||||||
|
|
||||||
|
- Camera 近处:角色很重要 → GPU Skinning(可以混合、IK、物理)
|
||||||
|
|
||||||
|
- Camera 中远距离:角色只占几像素 → 提前烘成顶点动画、帧数降采样或干脆用 BillBoard
|
||||||
|
|
||||||
|
|
||||||
|
你的当前顶点动画管线可以直接作为“LOD 动画层”保留,不与 GPU Skinning 冲突,只要切换 Renderer/Material 即可。
|
||||||
|
#### 蒙皮动画需要记录的数据有哪些?
|
||||||
|
- 一张原始网格的Vector3数据贴图
|
||||||
|
- 收集骨骼和骨骼索引
|
||||||
|
- 重映射后的骨骼索引
|
||||||
|
- 如果之前
|
||||||
|
- 一个动作
|
||||||
|
- 该动作中骨骼每帧的坐标旋转
|
||||||
|
- 会在Shader中计算**混合骨骼**后的TRS * 原始网格的TRS
|
||||||
|
-
|
||||||
|
|
||||||
|
#### 蒙皮动画不同部位索引的问题
|
||||||
|
- 蒙皮的骨骼索引在cpu中无问题,在gpu中有问题
|
||||||
|
- Unity在创建骨骼的时候会检查骨骼**bindpose**和骨骼**索引**,如果索引超出,无法创建
|
||||||
|
|
||||||
|
---
|
||||||
7
1Project/海量渲染战斗/GPU动画工程/GPU顶点动画.md
Normal file
7
1Project/海量渲染战斗/GPU动画工程/GPU顶点动画.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
### 顶点动画原理
|
||||||
|
- 将蒙皮**网格**基于根骨骼的相对位移Vector3都写进一张图片中
|
||||||
|
- 在运行时,在Shader中根据根骨骼空间矩阵,算出每个顶点
|
||||||
|
### 烘焙阶段
|
||||||
|
- 采样Clip在根骨骼的GameObject上的动画
|
||||||
|
- 将采样到的每一帧网格顶点Vector3写进图片里
|
||||||
|
- 另外烘焙一份uv1进网格,用来存储顶点索引
|
||||||
0
1Project/海量渲染战斗/GPU动画工程/TODO 不同动作间的混合.md
Normal file
0
1Project/海量渲染战斗/GPU动画工程/TODO 不同动作间的混合.md
Normal file
0
1Project/海量渲染战斗/GPU动画工程/TODO不同动作存进Buffer中.md
Normal file
0
1Project/海量渲染战斗/GPU动画工程/TODO不同动作存进Buffer中.md
Normal file
0
1Project/海量渲染战斗/GPU动画工程/TODO转为Job组织数据.md
Normal file
0
1Project/海量渲染战斗/GPU动画工程/TODO转为Job组织数据.md
Normal file
Reference in New Issue
Block a user