流程

  1. 统计蒙皮模型中,每个三角形所关联到的骨骼列表,以及其三个顶点的累积相关程度;
  2. 对每个骨骼点,计算其所有孩子的相关三角形,到该骨骼点的四面体的带符号的体积并累加。

几个坑

  1. 要做适当的cache……现在的话做了骨骼=>相关联的所有三角形的列表,还是有点慢……3000个面,44个骨骼点,算了有9秒的样子……orz;
  2. 注意计算三角形到骨骼根部的四面体体积之和,乃是一个近似;
  3. 注意在计算“骨骼=>相关联的所有三角形”的时候,有些三角形可能关联到了不在skinnedMeshRenderer.bones的骨骼上。应当把这个关联视作其最直接的父亲上。

效果


上图是我的这个模型的计算结果,从图中可以看出,
1. 确实是父亲的体积总要大于孩子的体积的;
2. 有些骨骼的体积是非常小的负数,这应该是因为此方法本身就是个近似的缘故;
3. 总体积亦即最根部的体积(Bip01 Pelvis),大约0.36,这个数值其实是实际体积的3倍(因为三角形三个顶点的权重和都是1),所以据此估计的模型体积是 0.12。美术给出的模型的boundingbox是 0.7*1.3*0.4 = 0.364。
——感觉这个体积还是偏大了。
——可能是因为一些单面的三角形的缘故,比如头发,发丝是单面的,而且还层层叠叠,导致体积被算多了。一些装饰品可能也是单层的,也会导致这个问题。
——不过这个问题在未来预想中的使用场所中,可能不太会存在。到时候应该会使用最简单的那个光头裸模~所以这个问题暂且先不考虑了~

[嘭嘭养成记]6. 根据蒙皮权重计算每个骨骼关节的承重相关推荐

  1. [嘭嘭养成记]5. 基于蒙皮网格顶点绑定骨骼权重的模型切分

    最初的想法 (这一部分基本流程已经废弃了) 基本流程: 1. 做一些indexing,方便后边的计算: 2. 对于一个要切分的关节,记录其所有父关节和子关节.遍历所有三角形,如果三角形的绑定横跨了该关 ...

  2. [嘭嘭养成记]4. 使用已有诸多动作数据,统计关节的活动范围

    想法 想要用这个活动范围,来限制玩家对于关节的操作. 走的是这样一个思路: 对动画中每个骨骼的旋转曲线,获取相邻两个关键帧,分别计算其欧拉角,用其确定小角的范围,将其记为关节的活动范围:如果已经有记录 ...

  3. [嘭嘭养成记]1. 在运行时获取unity中人物的动作曲线

    最近有一个新的idea!很激动!激动到给这个idea起了个名字!叫做-- 嘭嘭! 以后带这个标题的博客,都代表着嘭嘭在成长哟 (๑•̀ㅂ•́)و✧! 问题产生的原因: 希望能够在游戏运行过程中,修改人 ...

  4. [嘭嘭养成记]3. 在运行时将局部动作合并为完整动作

    本以为这个需求只是上一个需求的不重要的顺便,结果发现有重大设计失误.还是有的搞的. 方案1:用离线生成来合并(Obsoleted) 描述: 将待合并的动作的动作曲线直接放入一个动作文件中. 问题: 两 ...

  5. [嘭嘭养成记]2. 在运行时将完整动作分割成局部动作

    需求描述 基本需求: - 将一整个动作,依照某些关节为分割点,切割为多个动作. 高级需求(待更新): - 分割的时候带一点父亲的动作: - 分割的时候根节点按照世界空间的动作: 这两个分割以后可能会有 ...

  6. “牌面”养成记10:打好牌,从做好这60件事开始[下]

    [所谓"牌面",其实就是Product Manager的简称+谐音.也取胡"牌面"的寓意] <产品心经:产品经理应该知道的60件事(第2版)_闫荣> ...

  7. 论文指标评价体系及权重计算

    一 .评价指标体系 评价指标体系构建在实际研究中使用较为广泛,比如企业绩效评价指标体系构建.政府财政支出绩效评价.医院绩效评价研究等等. ‍1.相关背景 在中国知网搜索 " 评价指标 &qu ...

  8. open函数返回-1_python高手养成记05:最详细的python函数教程

    上一篇:python高手养成记04:python的所有数据类型,一篇足矣 题序 上一篇文章中,小编介绍了python最经常用到的6种基础类型,只要掌握了这6种基础类型,基本上就算打下了一个很好的基础了 ...

  9. 以太坊创始人:17岁的亿万富翁养成记

    摘要: 以太坊创始人:17岁的亿万富翁养成记 转存失败重新上传取消转存失败重新上传取消 以太坊创始人出生于俄罗斯名为维塔利克布特林.他是一个多产的创始人.以太坊是一个以区块链技术为基础的,任意状态的, ...

最新文章

  1. 链接全局变量再说BSS段的清理
  2. 速卖通现在好做吗?深耕产品供应,优化售后发货才能走的更远
  3. linux 内存 段,Linux内存储器管理之分段机制
  4. 他95年出生,却拥有10年编程经验
  5. postman 不安全网站_接口工具分析(apipost、jmeter、postman)
  6. JavaScript语法(二)
  7. Javascript button onclick和input type button在form中失效解决方案
  8. win10家庭版远程桌面_win10 家庭版使用RDPWrap开通远程桌面服务
  9. thinkphp5 事务回滚_卓象程序员:ThinkPHP5实现事务功能
  10. javascript高逼格代码实现数组去重,JSON深度拷贝,匿名函数自执行,数字取整等...
  11. 数据库之SQL增删改查(UPDATE,DELETE,TOP,COMPUTE,WHERE子句)
  12. 微信网页支付之H5支付
  13. OverFeat 个人总结
  14. java 开发中相对路径的参照物是什么,参照路径的配置,以及相对路径前加不加(/)反斜杠区别
  15. github如何写博客
  16. 华为OD机试题:工厂流水线调度
  17. cadence 17.2 入门学习3 allegro
  18. 磁盘阵列技术RAID
  19. 一些常用的电脑词汇解释
  20. 通往奥格瑞玛的道路(二分 + Dijkstra)

热门文章

  1. 浅谈敏捷思想-02.敏捷核心思想
  2. 重装android studio 始终提示SDK installed
  3. 浅谈NFT抵押借贷的三种模式:点对点、资金池和中心化模式
  4. 考研英语筹备 list-1
  5. 阿拉伯数字大写转换(含小数)
  6. 7z rar zip之间的区别
  7. 罗永浩锤子ROM Pre-α公测版下载及刷机教程
  8. uniapp连接佳博打印机实现蓝牙打印票据功能
  9. 用Visual Studio 2008进行Silverlight开发
  10. 小插件大功能轻量化森BIM插件手把手教学