【Blender实景合成】会跳舞的神里绫华

效果预览

本文将介绍Blender用于实景合成的工作流程。

先看效果:

神里绫华爬上了我的办公桌

模型和动作资源准备

角色模型

本次主要使用的是原神游戏中,神里绫华的角色模型,该模型米哈游在模之屋网站上进行开源。
下载地址:https://www.aplaybox.com/details/model/4Df5bmpQvE78

动作配布

动作配布为恋爱循环歌曲的舞蹈动作,由B站UP主兰若_Ruo开源。
下载地址:https://pan.baidu.com/s/10iaMm-lDt8LTNf20T3H03g (提取码:HMLR)

Blender安装mmd_tools插件

下载的模型格式为pmx格式,Blender默认不支持该格式的模型导入,需要使用其它插件,推荐使用mmd_tools插件。

下载地址:https://github.com/UuuNyaa/blender_mmd_tools

下载好zip文件后,在Blender里面,打开偏好设置,选择插件,点击安装,选择zip文件,即可安装成功。
在这里插入图片描述
安装完成之后,在软件内,按N呼出插件菜单。

在这里插入图片描述

动作物理烘培

物理动作烘培的目的是让模型的衣服头发等物件随动作的幅度具有一定物理效果,烘培之后,可以对相关部件进行绑定,以防实时计算消耗计算机资源。

动作物理烘培主要有两种方式,第一种方式是使用软件MikuMikuMoving2(MMM)进行动作烘培,另一种方式是直接在Blender中进行烘培。

MMM动作烘培

MMM动作烘培适用于一般小物体,比如毛发之类的物理动作,对于人物衣服等动作,导入Blender之后,可能引起穿模,这里更推荐第二种方式,不过顺带对该方式进行介绍。

MMM软件动作方式很简单,在拖入人物模型和动作之后,点击Physics菜单下的Record,等待动作做完,即可完成烘培。

在这里插入图片描述
烘培完成后,在File菜单下,点击导出动作即可。
在这里插入图片描述

MMD_tools动作烘培

MMD_tools自带了动作烘培功能。

首先点击按钮,依次导入模型和动作。

然后点开物理按钮,关闭IK切换,下面的参数子步数调小(这里调成2),选择烘培,等待即可。

在这里插入图片描述

运动追踪

下面打开VFX->运动追踪工作区。
在这里插入图片描述
上传一段实景拍摄素材,我这里上传的是我用麒麟臂手持手机拍摄的一段视频,后面又用pr的变形稳定器进一步做防抖处理,实景拍摄的视频,若太抖会造成跟踪点丢失。

下面勾选预通道和规格化,匹配选择上一帧,点击探测功能,软件会自动检索出一些用于跟踪的关键点。
在这里插入图片描述

选到第2帧,点击向后追踪,软件会自动进行计算。

在这里插入图片描述

跟踪完成之后,切换到解算子菜单,勾选关键帧和改善焦距,点击摄像机运动解算,这一步耗时较长,且进度条会长时间卡在0%位置上。

在这里插入图片描述
解算完成之后,软件会在右上角输出一个系数,若该系数小于1,则表示解算较为成功。

完成之后,选择任意一个点,点击设置原点,blender的三维坐标系原点会自动与该点对齐,再选择三个点,点击设置基面。最后在模型视图中,按0切换摄像机视角,点击左侧设置追踪场景,即可将模型显示在实景中,最后根据模型大小设置缩放旋转即可。

在这里插入图片描述

灯光调整

由于模型本身的材质反光和实景不一致,因此需要在场景中进行打光,以增加模型的真实感。

在场景中可以多建立几个面光光源,光源颜色可以用吸管吸取角色周围颜色。

在这里插入图片描述
设置完成后,进行渲染即可。

渲染图片视频化处理

由于渲染出来的是一帧帧图片,需要使用视频软件变成视频,这里使用剪映软件,首先在全局设置中,设置图片默认时长为1帧,之后,拖入图片序列,导出视频即可。

这里注意视频序列的帧率需和渲染时一致,这里默认都是30帧/秒.

在这里插入图片描述

拓展:增加阴影

我此次环境中并不包含复杂的光影关系,因此没有对模型的阴影做处理,为了增加真实性,可以进一步添加模型阴影,具体方式可参考:https://www.bilibili.com/video/BV1sq4y1Q78S/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/96473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1500*B. Zero Array(贪心数学找规律)

Problem - 1201B - Codeforces 解析&#xff1a; 因为每次减少2&#xff0c;如果总和为奇数肯定无法实现。 特例&#xff0c;如果某个数大于其他所有数的总和&#xff0c;同样无法实现。 其他均可实现。 #include<bits/stdc.h> using namespace std; #define int long l…

六、vpp 流表+负载均衡

草稿&#xff01;&#xff01;&#xff01; vpp node其实就是三个部分 1、plugin init 2、set command 3、function 实现功能&#xff0c;比如这里的流表 今天我们再用VPP实现一个流表的功能 一、流表 1.1流表----plugin init VLIB_REGISTER_NODE 注册流表节点 // 注册流…

在CSV文件读取时id读取之后成了‘锘縤d‘,该怎么修改

问题描述 准备用python实现一个小想法&#xff0c;里边数据可能会有点多&#xff0c;也为了代码能成块展示&#xff0c;所以打算写一个读取文件的函数。此时考虑到python中可以直接将CSV格式文件读取成字典的形式&#xff0c;所以尝试了一下。但是中间出现了错误&#xff0c;第…

软件测试|Python自动化测试实现的思路

Python自动化测试常用于Web应用、移动应用、桌面应用等的测试 Python自动化实现思路通常分为以下几步&#xff1a; 1. 确定自动化测试的范围和目标&#xff1a; 首先需要明确需要进行自动化测试的范围和目标&#xff0c;包括测试场景、测试用例、测试数据等。 2. 选择自动化…

Golang接口实现OCP原则

文章目录 Golang接口实现OCP原则实例 Golang接口实现OCP原则 OCP&#xff1a; Open-Closed Principle 开闭原则&#xff0c;对扩展是开发的&#xff0c;对修改是关闭的。 实例 package mainimport "fmt"type Pet interface {eat()sleep() } type Dog struct { } t…

详解IDEA git 版本回滚

作者简介 目录 1.git分区 2.未commit&#xff0c;进行回滚 3.commit未push&#xff0c;进行回滚 3.1.undo commit 3.2.reset 4.已commit&push&#xff0c;进行回滚 1.git分区 git的版本回滚其实就是回滚不同的分区&#xff0c;所以在聊git回滚之前我们有必要简单了解…

开源即时通讯IM框架 MobileIMSDK v6.4 发布

一、更新内容简介 本次更新为次要版本更新&#xff0c;进行了若干优化&#xff08;更新历史详见&#xff1a;码云 Release Notes、Github Release Notes&#xff09;。MobileIMSDK 可能是市面上唯一同时支持 UDPTCPWebSocket 三种协议的同类开源IM框架。 二、MobileIMSDK简介…

css选择器及其权重

在CSS中&#xff0c;选择器是用来选择HTML元素并应用样式规则的一种方式。每个选择器都有一个与之相关联的权重&#xff0c;用来确定当多个规则应用到同一个元素时&#xff0c;哪个规则会优先生效。权重是由选择器的类型和组合方式来决定的。下面是一些常见的CSS选择器及其权重…

基于风驱动优化的BP神经网络(分类应用) - 附代码

基于风驱动优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于风驱动优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.风驱动优化BP神经网络3.1 BP神经网络参数设置3.2 风驱动算法应用 4.测试结果&#x…

递归

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析&#xff08;3&#xff09; 目录 &#x1f449;&#x1f3fb;汉诺塔 &#x1f449;&…

redis 雪崩,穿透,击穿及解决方案

一、缓存雪崩&#xff1a; 1. 原因: 缓存雪崩是指在我们设置缓存时大量采用了相同的过期时间&#xff0c;导致缓存在某一时刻同时失效&#xff0c;请求全部转发到DB&#xff0c;DB瞬时压力过重雪崩。 2. 解决方案: 将失效时间分散&#xff0c;通过生成随机数使得key的过期时间…

Redis 分布式锁

Redis分布式锁 - 胤凯 (oyto.github.io) 分布式锁 1、什么是分布式锁&#xff1f; 在分布式场景下的锁&#xff0c;比如在多台不同机器上的进程&#xff0c;去竞争同一项资源&#xff0c;就是分布式锁。 2、分布式锁有哪些特性&#xff1f; 互斥性&#xff1a;只能让一个竞…

java 将字符串转为Base64格式与将Base64内容解析出来

首先要引入依赖包 import java.nio.charset.StandardCharsets; import java.util.Base64;然后对应一下两个代码 将字符串转为Base64 Base64.getEncoder().encodeToString(需要转换的字符串.getBytes(StandardCharsets.UTF_8));将 Base64 字符串解析成原来的内容 byte[] deco…

每日一题 901. 股票价格跨度(中等,单调栈)

理解题目&#xff0c;对于第 i 天&#xff0c;要求的是前 i - 1 天所满足条件的跨度 思路&#xff1a; 暴力搜索的方式是&#xff0c;对于每一个第 i 天都遍历搜索 i - 1&#xff0c; i - 2&#xff0c;…&#xff0c;直到第 j 天大于当前价格优化&#xff0c;考虑哪里进行了…

SQL的CASE WHEN函数、CAST函数、CONVERT() 函数、COALESCE()函数、DATEDIFF()函数

一、CASE WHEN简单使用 SELECT CASE WHEN age > 18 AND age < 25 THEN 18-25WHEN age > 25 AND age < 35 THEN 25-35WHEN age > 35 AND age < 45 THEN 36-45ELSE 45END AS age_groupFROM peopleGROUP BY age_group;二、CASE WHEN语句与聚合函数一起使用 SE…

论文总结:3D Talking Face With Personalized Pose Dynamics

论文解决的问题:大多数现有的3D人脸生成方法只能生成静态头部姿势的3D面部,只有少数几篇文章关注头部姿势的生成,但这些文章也忽略了个体属性。 解决方法:框架由两个独立模块组成:PoseGAN和PGFace。给定输入音频,PoseGAN首先为3D头部生成一个头部姿势序列,然后PGFace利用…

blender光照系统设置

0&#xff09;Viewport Shading设置里面的Lighting下面的参数&#xff1a; Scene Lights,Scene World - Scene Lights是指在渲染模式下是否使用场景中的灯光对象来照亮物体。 - Scene World是指在渲染模式下是否使用场景中的世界设置来作为背景和环境光。如果关闭该选项&#…

数据库基础知识

数据库 什么是数据库, 数据库管理系统, 数据库系统, 数据库管理员? 数据库 : 数据库(DataBase 简称 DB)就是信息的集合或者说数据库是由数据库管理系统管理的数据的集合。数据库管理系统 : 数据库管理系统(Database Management System 简称 DBMS)是一种操纵和管理数据库的大…

Redis Cluster Gossip Protocol: FAIL, UPDATE

返回目录 FAIL的发送 过程 构建消息头把处于FAIL状态的node的ID填入消息的数据部分广播消息 遍历cluster节点字典:跳过还没有创建连接的node跳过myself和处于handshake的node给node发送FAIL消息FAIL的接收处理 过程 第1 ~ 3步是涵盖所有类型的消息&#xff0c;详细请参考…

RPA自动化全平台文章同步助手

在当今文案自媒体时代&#xff0c;我们通常在各大平台都拥有账号&#xff0c;需要同步发布文章。然而&#xff0c;这个过程常常让人感到非常繁琐&#xff0c;因为我们需要将文章复制粘贴到不同平台上。但是&#xff0c;现在我们可以借助RPA&#xff08;Robotic Process Automat…