[嘭嘭养成记]6. 根据蒙皮权重计算每个骨骼关节的承重
流程
- 统计蒙皮模型中,每个三角形所关联到的骨骼列表,以及其三个顶点的累积相关程度;
- 对每个骨骼点,计算其所有孩子的相关三角形,到该骨骼点的四面体的带符号的体积并累加。
几个坑
- 要做适当的cache……现在的话做了骨骼=>相关联的所有三角形的列表,还是有点慢……3000个面,44个骨骼点,算了有9秒的样子……orz;
- 注意计算三角形到骨骼根部的四面体体积之和,乃是一个近似;
- 注意在计算“骨骼=>相关联的所有三角形”的时候,有些三角形可能关联到了不在skinnedMeshRenderer.bones的骨骼上。应当把这个关联视作其最直接的父亲上。
效果
上图是我的这个模型的计算结果,从图中可以看出,
1. 确实是父亲的体积总要大于孩子的体积的;
2. 有些骨骼的体积是非常小的负数,这应该是因为此方法本身就是个近似的缘故;
3. 总体积亦即最根部的体积(Bip01 Pelvis),大约0.36,这个数值其实是实际体积的3倍(因为三角形三个顶点的权重和都是1),所以据此估计的模型体积是 0.12。美术给出的模型的boundingbox是 0.7*1.3*0.4 = 0.364。
——感觉这个体积还是偏大了。
——可能是因为一些单面的三角形的缘故,比如头发,发丝是单面的,而且还层层叠叠,导致体积被算多了。一些装饰品可能也是单层的,也会导致这个问题。
——不过这个问题在未来预想中的使用场所中,可能不太会存在。到时候应该会使用最简单的那个光头裸模~所以这个问题暂且先不考虑了~
[嘭嘭养成记]6. 根据蒙皮权重计算每个骨骼关节的承重相关推荐
- [嘭嘭养成记]5. 基于蒙皮网格顶点绑定骨骼权重的模型切分
最初的想法 (这一部分基本流程已经废弃了) 基本流程: 1. 做一些indexing,方便后边的计算: 2. 对于一个要切分的关节,记录其所有父关节和子关节.遍历所有三角形,如果三角形的绑定横跨了该关 ...
- [嘭嘭养成记]4. 使用已有诸多动作数据,统计关节的活动范围
想法 想要用这个活动范围,来限制玩家对于关节的操作. 走的是这样一个思路: 对动画中每个骨骼的旋转曲线,获取相邻两个关键帧,分别计算其欧拉角,用其确定小角的范围,将其记为关节的活动范围:如果已经有记录 ...
- [嘭嘭养成记]1. 在运行时获取unity中人物的动作曲线
最近有一个新的idea!很激动!激动到给这个idea起了个名字!叫做-- 嘭嘭! 以后带这个标题的博客,都代表着嘭嘭在成长哟 (๑•̀ㅂ•́)و✧! 问题产生的原因: 希望能够在游戏运行过程中,修改人 ...
- [嘭嘭养成记]3. 在运行时将局部动作合并为完整动作
本以为这个需求只是上一个需求的不重要的顺便,结果发现有重大设计失误.还是有的搞的. 方案1:用离线生成来合并(Obsoleted) 描述: 将待合并的动作的动作曲线直接放入一个动作文件中. 问题: 两 ...
- [嘭嘭养成记]2. 在运行时将完整动作分割成局部动作
需求描述 基本需求: - 将一整个动作,依照某些关节为分割点,切割为多个动作. 高级需求(待更新): - 分割的时候带一点父亲的动作: - 分割的时候根节点按照世界空间的动作: 这两个分割以后可能会有 ...
- “牌面”养成记10:打好牌,从做好这60件事开始[下]
[所谓"牌面",其实就是Product Manager的简称+谐音.也取胡"牌面"的寓意] <产品心经:产品经理应该知道的60件事(第2版)_闫荣> ...
- 论文指标评价体系及权重计算
一 .评价指标体系 评价指标体系构建在实际研究中使用较为广泛,比如企业绩效评价指标体系构建.政府财政支出绩效评价.医院绩效评价研究等等. 1.相关背景 在中国知网搜索 " 评价指标 &qu ...
- open函数返回-1_python高手养成记05:最详细的python函数教程
上一篇:python高手养成记04:python的所有数据类型,一篇足矣 题序 上一篇文章中,小编介绍了python最经常用到的6种基础类型,只要掌握了这6种基础类型,基本上就算打下了一个很好的基础了 ...
- 以太坊创始人:17岁的亿万富翁养成记
摘要: 以太坊创始人:17岁的亿万富翁养成记 转存失败重新上传取消转存失败重新上传取消 以太坊创始人出生于俄罗斯名为维塔利克布特林.他是一个多产的创始人.以太坊是一个以区块链技术为基础的,任意状态的, ...
最新文章
- 链接全局变量再说BSS段的清理
- 速卖通现在好做吗?深耕产品供应,优化售后发货才能走的更远
- linux 内存 段,Linux内存储器管理之分段机制
- 他95年出生,却拥有10年编程经验
- postman 不安全网站_接口工具分析(apipost、jmeter、postman)
- JavaScript语法(二)
- Javascript button onclick和input type button在form中失效解决方案
- win10家庭版远程桌面_win10 家庭版使用RDPWrap开通远程桌面服务
- thinkphp5 事务回滚_卓象程序员:ThinkPHP5实现事务功能
- javascript高逼格代码实现数组去重,JSON深度拷贝,匿名函数自执行,数字取整等...
- 数据库之SQL增删改查(UPDATE,DELETE,TOP,COMPUTE,WHERE子句)
- 微信网页支付之H5支付
- OverFeat 个人总结
- java 开发中相对路径的参照物是什么,参照路径的配置,以及相对路径前加不加(/)反斜杠区别
- github如何写博客
- 华为OD机试题:工厂流水线调度
- cadence 17.2 入门学习3 allegro
- 磁盘阵列技术RAID
- 一些常用的电脑词汇解释
- 通往奥格瑞玛的道路(二分 + Dijkstra)