虚拟人物设计-虚拟动作编排-虚拟数字人生成

本文介绍了如何设计虚拟人物,从使用MakeHuman创建角色,调整骨架约束,设定T-Pose,到导出mh2格式文件。接着在Blender 3.2.0中,通过mhx-blender插件导入人物并制作动作。最后,讨论了如何保存骨架动作为fbx格式,并预告了后续的头发和衣服制作等内容。
摘要由CSDN通过智能技术生成
  1. 虚拟人物设计 

 a.下载 make human.下载渠道为:MakeHuman 1.2.0 | www.makehumancommunity.org

     源码为:GitHub - makehumancommunity/makehuman: This is the main repository for the MakeHuman application as such.

 2、虚拟人物骨架约束(在makehuman 中进行,我使用default)

如下图:

 3、人物姿势为T-Pose

4、虚拟人物导出(mh2格式,是因为其他格式的骨架,在blender中会异常)

 5、blender 下载,使用的是3.2.0版本:Download — blender.org

6、mhx-blender导入插件下载: https://download.tuxfamily.org/makehuman/plugins/mhx-blender-latest.zip

7、加载4导出的人物。导入过程以及导入后的结果如下: 

8、动作制作(插帧即可):

 9、删除人物相关的实体对象,保存骨架动作为fbx格式。

10、人物和动作混合执行:

# -*- coding: utf-8 -*-
import os
import re
import random
from datetime import datetime
import bpy


class ModelProcessingTool:
    def __init__(self):
        # self.start()
        print("finished!")
        ##blender 执行是用绝对路径
        self.base_data_path ="basicpath"
        self.scn = bpy.context.scene
        self.head_bone_reg=re.compile(r'.*[sS]pine.*')

    def process_movie(self, action_list, sound_list):
        start_time = datetime.now()
        action_list = ["arms","leg"]
        sound_list = ["visit","visit"]
        # 删除场景中的全部对象
        self.delete_all()

        dedumplicate_action = list(set(action_list))
        moudle_name = "person"
        self.load_module(moudle_name, type='fbx')
        # TODO 后续加载模型和动作需要分开
        # *********************数据加载*********************************
        print("load all actions and sound")
        action_object_map = self.load_all_action(dedumplicate_action)
        sound_object_list = self.load_all_sound(sound_list)

        # *********************场景预置*********************************
        print("hide render message")
        self.batch_hide_renders(dedumplicate_action)

        print("close self default animation")
        self.delete_all_default_animation(dedumplicate_action)

        print("prepare camera")
        target = bpy.data.objects[moudle_name]
        print("照相机设置")
        self.camera_set(target)
        print("prepare light")
        self.light_set()


        # *********************动作编排begin***************************
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会发paper的学渣

您的鼓励和将是我前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值