高三时间很忙了啊,想起去年差不多这个时候,也发了个MMD的绘制(雾)。
前些时间把那时候代码改了改,补上了动作的支持,但还是有不小的BUG估计这个坑是填不了了。(而且下次写东西估计要转语言->严峻的事实)
先不说物理引擎(就是头发、裙裾之类的飘动;重力、弹力显现的碰撞之类的)没支持,对于IK(反向动力学)我照网上博客上的ccd算法有理有据地按自己思路写了写貌似还是不完美(有的时候会抖啊,可能是单精的精度误差?)。此外因为pascal没有GLM(一个与opengl相性好的数学运算库),我把以前的MatrixUnit也改了改以适应运算(也就是3d中常用的4×4矩阵、四元数、欧拉角),但是运算速度估计差得远了。
总的看下来,这次探索不是很好,而且我只写了pmd模型的(pmx的骨骼种类更麻烦,汗!)。
(百度上传gif要小,压缩后有失真)
写了两个库PmdDeal和VmdDeal分别处理模型和动作数据,绘制可以在我以前写的SimpleAnimeUnit中绘制,也可以用Glut自建窗口绘制。
SimpleAnimeUnit库由于在不断的修改中,所以变数很大(比如以前写的Galgame模拟器如Sag可能新的版本编译不起来。。)
Tip:如果用过MC的CustomSteve就可以把其中的动作数据借过来,能做一个简单的走动小游戏吧~
以后大概会用c++写这种东西,顺便研究Shader...(Pascal的OpenGL太老所以没着色器。。)估计是和Pascal无缘了
前些时间把那时候代码改了改,补上了动作的支持,但还是有不小的BUG估计这个坑是填不了了。(而且下次写东西估计要转语言->严峻的事实)
先不说物理引擎(就是头发、裙裾之类的飘动;重力、弹力显现的碰撞之类的)没支持,对于IK(反向动力学)我照网上博客上的ccd算法有理有据地按自己思路写了写貌似还是不完美(有的时候会抖啊,可能是单精的精度误差?)。此外因为pascal没有GLM(一个与opengl相性好的数学运算库),我把以前的MatrixUnit也改了改以适应运算(也就是3d中常用的4×4矩阵、四元数、欧拉角),但是运算速度估计差得远了。
总的看下来,这次探索不是很好,而且我只写了pmd模型的(pmx的骨骼种类更麻烦,汗!)。

写了两个库PmdDeal和VmdDeal分别处理模型和动作数据,绘制可以在我以前写的SimpleAnimeUnit中绘制,也可以用Glut自建窗口绘制。
SimpleAnimeUnit库由于在不断的修改中,所以变数很大(比如以前写的Galgame模拟器如Sag可能新的版本编译不起来。。)
Tip:如果用过MC的CustomSteve就可以把其中的动作数据借过来,能做一个简单的走动小游戏吧~
以后大概会用c++写这种东西,顺便研究Shader...(Pascal的OpenGL太老所以没着色器。。)估计是和Pascal无缘了