很多游戏都有捏人系统,因为只玩单机游戏,见过的有黑道圣徒系列,Illusion进入Unity时代系列,MOD有老滚5的BodySlide,软件听说过一个MakeHuman。
总结一下,目前能找到的开源或能参考的项目有3个。
1.MakeHuman
2.BodySlide
3.I社系列,目前最新版的游戏叫PlayHome,虽然我一直习惯叫HomePlay
先说MakeHuman
官方网址
http://www.makehumancommunity.org/
Gayhub
https://github.com/makehumancommunity/makehuman
写本文时最新版本为1.1.1,看说明在往Python3迁移工程,但是目前这个版本的源码是Python2.x的,我用2.7成功编译过了
第三方依赖库有
numpy
pyQt
pyOpenGL
都可以下载到
https://www.lfd.uci.edu/~gohlke/pythonlibs/
编译比较简单
MakeHuman1.1.1\makehuman目录下,那几个.py文件挨个运行一下,最后运行makehuman.py就行了
然后搞个什么靠谱的IDE,比如说PyCharm,调试一下什么的。
值得一提的是Gayhub上有个MakeHuman的JS版本的移植,效果看起来还行,但是我不知道怎么编译运行。
看他在线的例子效率还挺不错的。
https://github.com/makehuman-js/makehuman-js
====================
然后来说说BodySlide
https://github.com/ousnius/BodySlide-and-Outfit-Studio
写本文时Release版本为v4.4
依赖库,除了下载的工程带了的,还需要
OpenGL,glu32等等
Autodesk FBX SDK
wxWidgets
其中wxWidgets要自己编译,写本文时wxWidgets最新版本为3.1.0
目前我用的VS2015,在下面的目录直接打开工程即可
wxWidgets-3.1.0\build\msw\wx_vc14.sln
需要注意的是
BodySlide-and-Outfit-Studio-4.4项目用的是MT运行时,而wxWidgets-3.1.0默认是MD,所以Debug和Release要改一下再编译。
然后还有可能出现找不到头文件的问题,就是这个setup.h文件
D:\CPPLibs\wxWidgets-3.1.0\lib\vc_lib\mswu\wx\setup.h
在这行
#include wxSETUPH_PATH_STR
如果出这个错误,可以简单粗暴的换上绝对路径,变成
#include "D:\\CPPLibs\\wxWidgets-3.1.0\\lib\\vc_lib\\mswu\\wx\\setup.h"
当然也有其他解决办法,但是我图省事没都试验,感兴趣的可以试试。
https://www.codeproject.com/Questions/337274/Cannot-open-include-file-lib-vc-lib-mswud-wx-setup
不出意外工程就能正确编译出来了,运行一下会自动寻找老滚,辐射什么的路径,我只装了老滚5
但是直接运行并没什么鸟用,缺少配置文件,上次玩老滚5也是好多年前了,隐约记得下过一个叫什么
CB++Bodyslide v0.9
然后里面有个Bodyslide文件夹,里面有配置文件
把这几个文件丢到当前工程目录下就行了,或者你自己设置的exe文件目录,能找到资源目录就行。
其他配置可能nexusmods上也能找到,懒人,图省事就没找,用多年前的,反正能运行就行。
随便选个预置选项,点Preview,拉个滑块就有效果了
2018.02.22补充
发现老的CB++Bodyslide v0.9中的数据放到最新的Bodyslide中并不能直接编辑单个身形,只有个全身渐变,重新找了CBBE原版,试了下才可以。
度
1qYgDXLE
fs24
这样就可以仔细研究捏人的具体实现了。
最后I社的游戏大家都知道哪找,就不说了。
虽然还没试过,但是通过dnSpy,配合IPA写个插件工具,应该也能得到顶点信息,做部分参考,应该也有一定的参考价值,最主要的是捏人可能更偏日系一些,更有参考价值