绑定是实现骨骼动画非常重要的一个技术。尤其在人物,生物上非常常用。只要模型上绑定好骨骼,就能通过一套预置好的动画数据来实现一些诸如行走,奔跑等动作。
要在模型上绑定骨骼。一般是在 maya,blender 一类的 3d 软件中实现的。几乎很少(通常也没必要)在游戏引擎中去做实时绑定。一是耗时长,模型越复杂,顶点需要计算的数量就越多。二是大多数美术资源都是预制好的,从模型,贴图到绑定蒙皮。
个人一直关注 procedural generation。经过实践,在游戏引擎内已经可以做到模型和贴图的实时生成。如若能把绑定环节也解决,就能涵盖更完整的流程。
这是近期一个探索成果。整个视频的生物都是实时用算法生成的。优点是形态多样,不占用储存空间。传统的制作流程上,若要出现1万种生物,就需要1万个模型。会产生非常可怕的数据量。虽然能通过提取模块,在一定程度上进行压缩,但灵活性相当有限。
上面视频中的生物模型生成用到了 marching cube + signed distance functions。这里重点会分享关于实时绑定的实现思路以及解决方法。
解决过程
若直接在google 搜索 procedrual rigging 一类的关键词,几乎没有相关教程。(可见这一技术并不常用)而解决这一问题的突破口,是从一个叫 tai