dx9能力有限,只能做静态物体的instancing。dx10开始支持4096个常量寄存器,贴图格芦橡式可以是R32G32B32A32_FLOAT,每个实例在shader都有一个int的实例id对应。在这些新能力下,把动画数据存储在贴图里,每个实例陪键旁的位置矩阵存在常量寄存器里,可以实现skinning &instancing, GPU Gems 3 Chapter 2. Animated Crowd Rendering 就介绍了这种方法。
可以看到第一个贴图data only应该就是动画数据
但是shader常量却只有12个float4,但人物有14个,估计不是在常量寄存器里设置位置的方法。
看vs shader
每个骨骼取数据的方式是perInstData * 98 + boneId * 3 +2, perInstData * 98 + boneId * 3 +3,perInstData * 98 + boneId * 3 +4,猜测perInstData应该是动画的时间,由cpu在每次drawcall时设置。一帧的动画数据用了98个float4,可以表示32个骨骼了,还多出2个float4会在ps中使用。如果每亮亩秒用30帧数据,这张贴图能表示22秒,已经挺多的了。
在文明5中查看文明特性的方法如下:1. 打开游戏并进入主返念敬菜单,点漏慎击“单人游戏”。
2. 选择“创建游戏”或者“自定义游戏”,进入设置界面。
3. 在设置界面中,可以看到文明列表。选择某一个文明,点击右侧的“详细信息”按钮。
4. 这时会d出一个新窗口,其中包含该文明的各项属性和特性,包括起始单位、建筑、科技等,以及神明、政策等特殊属性。高租
通过这个方法,你可以查看游戏中所有文明的特性和属性,了解游戏内容并优化自己的游戏策略。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)