Closed CheungBH closed 2 years ago
I have followed your instructions that activate add-ons in the blender and successfully ran the webcam demo of ROMP. However, I find that there's nothing in the blender even when I pressed Ctrl+E.
Are there anything I missed?
The steps for camera and video versions are exactly the same, as the local server sends the poses and translations into Blender. The difference is where the local server gets the poses and translations from.
Be sure to place your own 3D character in Blender and the character's skeleton is exactly the same as the SMPL skeleton. If you just want to show the effect, open up the beta.blend I placed in blender folder, which includes a 3D character downloaded from Mixamo with the same skeleton as SMPL, which is the 3D character I showed in the Demo. If you don't have a perfectly matched 3D character, pressing Ctrl+E will definitely not respond, or will report some errors. This work is not perfect, so it is troublesome to use, I wrote in the readme as detailed as possible and gave some files for reference, I hope you can run successfully!
camera和video版本的步骤是完全一致的,都是本地服务端将poses和translation发送到blender中,区别在于本地服务端从何处获取poses和translation。
blender中一定要放置你自己的3D人物,并且该人物的骨架与SMPL骨架完全一致。如果只是为了展示一下效果,可以打开我放置在blender文件夹中的beta.blend,其中包括了一个从mixamo中下载的3D人物,该人物的骨架正好与SMPL一致,也正是我Demo展示的3D人物。如果没有完全匹配的3D人物,按Ctrl+E肯定是没反应的,或者会报一些错误。
这项工作很不完善,所以使用起来比较麻烦,我在readme中尽可能写的详尽了并给了一些文件作为参考,希望你能运行成功!
我在blender里面打开了你的beta.blend文件,发现里面是个没有颜色的人(但形象是出来了,应该就是和SMPL一致的)
我的camera demo也跑通了。不过我按control+E的时候依然没有反应,动画人物还是没有动(camera那边一直在跑)。请问这个问题要怎么解决啊。 我blender里面的real time mocap开起来了,sh webcam.sh也在另外一个terminal里面跑着。
颜色得点右上角那四个并列小图标的第三个或第四个,你可以稍微去学一下我在resource里面放的blender教程,学一下第零章 天赋篇就行,很快的。 如果要用webcam的话,貌似是webcam_blender.sh那个脚本吧,不是webcam.sh。 你可以先尝试一下video的版本,用ROMP输出一个npz的文件,然后把字段调好了,用我放在src的那个server.py传输一下数据到blender中。 不过我晚点稍微更新一下步骤吧,或者录个视频,到时候你再试试。
对了,ctrl+E要把鼠标放在3d人物所在的那个界面再按,这样至少会报个错吧 至少有个connection error
谢谢! 我尝试了一下输出npz文件,不过我在跑server.py的时候,发现整个程序停在了 https://github.com/yanch2116/CharacterDriven-BlenderAddon/blob/261d502d9a0baaee10a978eb95e3ef1738ac46b4/src/server.py#L44 这一句上,debug的时候也下不去。 想知道这是怎么回事呢
我在demo文件夹里面放了那个demo1.npy,你可以直接把server.py中的getData函数中的path换成你本地的demo1.npy的文件路径,然后测试一下。 sock, addr = s.accept()这句只有当客户端发来了请求后才能够继续往下运行,你运行了server.py之后再去blender中在3d人物的界面按下ctrl+E,这样应该就会继续往下运行了。 可以看一下https://www.liaoxuefeng.com/wiki/1016959663602400/1017787560490144 这个教程。
我在demo文件夹里面放了那个demo1.npy,你可以直接把server.py中的getData函数中的path换成你本地的demo1.npy的文件路径,然后测试一下。 sock, addr = s.accept()这句只有当客户端发来了请求后才能够继续往下运行,你运行了server.py之后再去blender中在3d人物的界面按下ctrl+E,这样应该就会继续往下运行了。 可以看一下https://www.liaoxuefeng.com/wiki/1016959663602400/1017787560490144 这个教程。
谢谢,明白了。但是我打开了你的.blend文件,结果还是没上色,人物本身也没跑起来。 我看了看开blender的终端,里面显示好像少了个文件 /home/Downloads/white.mp4。是不是少了个什么文件啊
我从命令行打开这个文件,没有显示你那些内容,不过那个white.mp4是我之前作为背景的一个视频,应该没啥影响。 颜色的话,你点了那个小图标吗,点了才有颜色。 右下角这里表示当前帧,开始帧和结束帧,我打开看了一下初始是在400多帧,400多帧的地方是没动画的,可能与这个有关?你得把当前帧调到第一帧去。貌似我这个人物已经绑定了demo中的动作了,你可以用自己的poses序列覆盖掉的。
这个确实会有提示,但是没啥影响,就是渲染的时候做背景的视频文件不存在,在compositing里面可以设置一下视频的路径,在readme中也有说。 把小图标点到第四个之后,texture加载了就没这个提示了。
我从命令行打开这个文件,没有显示你那些内容,不过那个white.mp4是我之前作为背景的一个视频,应该没啥影响。 颜色的话,你点了那个小图标吗,点了才有颜色。 右下角这里表示当前帧,开始帧和结束帧,我打开看了一下初始是在400多帧,400多帧的地方是没动画的,可能与这个有关?你得把当前帧调到第一帧去。貌似我这个人物已经绑定了demo中的动作了,你可以用自己的poses序列覆盖掉的。
太感谢了!texture出来了人物也跑起来! 现在就差最头疼的一件事,Ctrl+E怎么都没反应。。 我想知道如果要驱动卡通任务跑起来,我应该导入的是Alpha.fbx还是Beta.blend啊(虽然我都试了Ctrl+E都不行) 还有就是”用自己的poses序列覆盖掉“,这个“覆盖”是个什么操作啊 感激🙏
打开Βeta.blend就行,这个文件中我设置好了灯光和摄像机,实际上你打开的时候进入的那个scripting界面就是我的脚本,你不需要自己去安装脚本的,直接点击上面的运行按钮,看到左下角那个run_script()提示就行。 脚本运行成功之后,再点击layout进入3D view视图。
打开终端,运行server.py。 再回到blender中按下Ctrl+E,此时终端会提示正在传输的帧的id。 传输的同时,blender中的3D人物就会跟着动了,并且在传输完成后,你把当前帧调到第1帧,然后按下中间的播放,就能看到3D人物的动画了。
在Blender中,你要想记录动画,就得在关键帧上面保存当前画面的信息,每一帧保存一个动作,这样连着播放就像是动画了。 我不知道你用这个的目的是什么,应该是自己有一段3D姿态估计出来的动作序列,然后想传输到这个小人中,看看效果吧。 所以之后你应该会传输自己的数据,然后在每一帧上进行保存。我说的覆盖就是指你传输自己的数据到3d小人中,然后保存到关键帧上,并且把之前我的动作数据覆盖掉。 还是强烈建议去学一下blender教程第零章,一个小时就把基础的blender操作和动画知识讲的差不多了。如果你想搞清楚3D人物是如何被驱动的,看blender动画骨骼篇。 看这两章内容,大约花费两三个小时,但是基础的知识就差不多都知道了,不涉及到3D建模的知识。
打开Βeta.blend就行,这个文件中我设置好了灯光和摄像机,实际上你打开的时候进入的那个scripting界面就是我的脚本,你不需要自己去安装脚本的,直接点击上面的运行按钮,看到左下角那个run_script()提示就行。 脚本运行成功之后,再点击layout进入3D view视图。
感谢!是这个run我之前一直没点,所以没反应。现在python那边能够收到blender发回去的信号了。 不过我也遇上了那个key "Pelvis" not found'的问题。我看到是要active Armature,不过我发现我好像没能像你的demo那样选中
怎么点都是这个样子
我自己也不清楚active了没有,感觉这样是没active是吧?
按Shift就能多选了
太感谢了! 跑起来了!
不过我遇到很奇怪的事情,就是第一帧总会出现Pelvis not found,然后我得重启blender并且没有重新连接才能成功跑起来,后面的帧都没事。 所以我的步骤是:打开blender->运行server.py->打开beta.blend->Ctrl+E(Pelvis not found)->不保存并重新打开beta.blend-> Ctrl+E(跑起来)。 有时候如果重启了blender导致重新连接了,也会Pelvis not found
知道这个是怎么回事嘛
太感谢了! 跑起来了! 不过我遇到很奇怪的事情,就是第一帧总会出现Pelvis not found,然后我得重启blender并且没有重新连接才能成功跑起来,后面的帧都没事。 所以我的步骤是:打开blender->运行server.py->打开beta.blend->Ctrl+E(Pelvis not found)->不保存并重新打开beta.blend-> Ctrl+E(跑起来)。 有时候如果重启了blender导致重新连接了,也会Pelvis not found 知道这个是怎么回事嘛
把这个bug修复了,而且不需要再选中Armature了,重新下载一下文件试试看吧~
感谢!现在Pelvis not found的问题解决了!按下了Ctrl+E数据已经可以源源不断传输过来了。不过现在是blender里面的人没反应。。 我用的是你最新那个beta.blend文件,跑的是最新的代码。 情况是,我在传输的过程中,整个blender是处于卡死的状态,人没有在移动,然后什么按键也按不了;传输完成后,scripting左下角显示的是bpy.context.space_data.shading.type = "RENDERED"(应该是接收过来了?),
然后我无论按下播放键还是拖动进度条,画面人物都保持着原始状态。
这是。。还少了哪个步骤嘛
不知道为啥你的3D人物进入了edit模式,你选中一下Armature然后点击左上角,进入object模式就行了
你每次重新打开文件运行都会这样吗?还是只是不小心点到了Edit Mode?
没有诶...我一直是object mode喔... 这是运行到一半的情况,数据在传输,显示也是object mode,但是人保持原姿势...
虽然不知道为啥,但是你这个确实是进入了Edit Mode,只有Edit Mode才会这样。 你是一打开blend文件就这样,还是运行插件之后才会这样?
好像是一打开就这样了。我的完整操作:
你重新下载个最新的文件试试看,我往里面放了个背景图,没道理会这样呀,我一打开就是正常的object模式 你试试看选中Armature,然后点Edit Mode,然后再点回Object Mode
还是一样... 我的操作都在这里了 https://drive.google.com/file/d/1PrPEViU6YtaMKOZ1pomS_pVpjqXV1TLv/view?usp=sharing 是不是漏了哪一步啊..
还是一样... 我的操作都在这里了 https://drive.google.com/file/d/1PrPEViU6YtaMKOZ1pomS_pVpjqXV1TLv/view?usp=sharing 是不是漏了哪一步啊..
你不要open最近的文件,你重新下载一下我整个repo,然后再打开beta.blend,最新的那个应该是有背景的
还是一样... 我的操作都在这里了 https://drive.google.com/file/d/1PrPEViU6YtaMKOZ1pomS_pVpjqXV1TLv/view?usp=sharing 是不是漏了哪一步啊..
你不要open最近的文件,你重新下载一下我整个repo,然后再打开beta.blend,最新的那个应该是有背景的
唔,可是我开的就是最新的那个了就是这样...因为我录屏之前反复尝试过,所以才在open recent里面..
还是一样... 我的操作都在这里了 https://drive.google.com/file/d/1PrPEViU6YtaMKOZ1pomS_pVpjqXV1TLv/view?usp=sharing 是不是漏了哪一步啊..
你不要open最近的文件,你重新下载一下我整个repo,然后再打开beta.blend,最新的那个应该是有背景的
唔,可是我开的就是最新的那个了就是这样...因为我录屏之前反复尝试过,所以才在open recent里面..
按我的理解肯定是blend文件哪里出了bug,既然打开就是这样的,还没到运行插件这一步
@CheungBH 今天又有个人出现了同样的状况,后来我发现我的Blender是3.0,然后我去下载了2.93的测试了一下,果然人物卡在那里一动不动,不知道为啥。后来我重新导入了一下模型,又上传了,你试试看可以正常运行了吗
就是这个原因!跑通了,太感谢了!
Hello. I have successfully run the demo of ROMP, which exported .fbx file. And currently I want to use the .fbx to control the character. Can you provide steps for the video demo? I can only see the camera one