找回密码
 立即注册
搜索
查看: 1057|回复: 0

指南 如何转换和优化 MMD 运动以在 VAM 1.0 中使用

[复制链接]

991

主题

92

回帖

5万

积分

管理员

积分
55457
发表于 2023-10-17 10:18:15 | 显示全部楼层 |阅读模式
简介
  u- P7 F3 r: |" i6 p" s
MikuMikuDance (通常缩写为 MMD)是一款免费软件动画程序,可让用户制作动画并创建 3D 动画电影,最初是为 Vocaloid 角色初音未来制作的。 MikuMikuDance程序本身由樋口裕 ( HiguchiM )编写,自创建以来已经经历了重大升级。其制作是VOCALOID宣传视频项目(VPVP)的一部分

# S( B& H! S: o* \# ?
这是维基百科对MMD的介绍。然而,在下面的上下文中,当我们提到MMD时,我们可能更可能指的是网上流行的各种舞蹈动作文件,主要是K-POP和J-POP风格。感谢那些在 VAM 社区中可能不知名的 MMD 创作者。他们不断地将韩国偶像团体最新、最流行的舞蹈制作成MMD动画。他们中的许多人不仅动画质量很高,更重要的是非常性感。
5 \' t2 u4 j7 q( z! K( x
这是一个例子,
9 {: M  x0 G4 \$ e# a+ L

/ Z2 J) s8 B4 W1 A0 w7 b
每个人都喜欢音乐,谁不喜欢看性感的舞步呢? MMD 实际上在 VAM 社区中拥有庞大的用户群。多年来,我们的创作者不断为VAM开发和更新各种免费或付费的MMD播放插件。除了我们社区中其他天才创作者创造的音乐舞蹈场景之外,MMD还为玩家提供了另一种享受音乐和舞蹈的选择。
  Z- i1 c2 l6 ~& M
虽然使用MMD插件观看舞蹈既简单又直接,但在VAM中基于它进行二次创作就显得有些复杂了。将动画(例如 MMD 中的动画)传输到 VAM 等另一个平台的过程可能很复杂。它通常涉及将运动文件转换为兼容的格式,确保动画正确映射到角色的骨架,并优化它们以在新环境中获得最佳性能。

6 f; F+ F5 x# [0 q- ]. s
VaM Produce 69中处理和转换的舞蹈动作。阅读本指南后,您也可以创建类似的场景。

# F8 I1 {/ O( ?7 M; n, r
这就是本教程的全部内容。

' ~/ }8 s/ l9 n% s" Q  {+ u! {, o5 o- @
3 Q1 c! V3 q/ A7 P6 Y, t- P
准备
% S8 p; u' e& q3 U  c, `
虽然在以前,这似乎是一件很难完成的事情,但幸运的是,我们有Acid Bubbles为我们准备的一个强大的动画编辑工具,叫做Timeline。不久前,另一位创建者sfishere开发了一个名为 mmd2timeline 的 Timeline 插件。这使得像我这样的MMD爱好者不仅可以在VAM中享受数千种MMD舞蹈,还可以在它们的基础上进行自己的创作。

: k! Y0 g, \9 g9 i( J8 `
在本教程中,我们将使用以下插件:
4 S; x0 h7 R. x3 e. g# n0 k, G6 m
所需插件:
3 D# F- C1 G; ^( k
Timeline v6.3.1 by Acid Bubbles(您最好使用 v6.3.1 或更高版本,稍后我会解释原因。)
mmd2timeline v0.12 由sfishere提供

9 N# _0 U8 U& }8 A
选修的:
! ]8 q1 T  l8 l& {* [/ x
Acid Bubbles 的 Embody v1.6.0
Acid Bubbles 的实用程序 v1.4.0
VUML 1.9 作者: JayJayWon
ActionGrouper 1.9 由JayJayWon设计
MacGruber Essentials 16(免费)由 MacGruber 提供
# `2 B$ t& c& ], U( ~
如果您的目标是在 FPS 方面更高效地处理相机运动( CamRide ),而不使用窗口相机,但仍保持 FOV 的动态调整效果,本教程还将介绍如何使用上述可选插件来实现这一目标。
* s) q6 o. R1 @& |$ f
本指南附带一个场景课件,其中包括该指南所需的所有插件。它旨在通过提供参考点来帮助每个人理解。我希望它能如此。
  I3 W2 f( s5 c7 W7 l5 ]! S) |7 k
4 E  z1 o. ?& f
  S8 l& Z: A" V3 f
第一部分 -转换
001.jpg
% \, ]" P# ]& W- L% l; F0 a. k  F1 X  d/ R' P; j3 ^/ Y
步骤01,我们创建了一个新场景并添加了角色原子。首先要做的是打开手控面板,将双手的控制方式改为JSONParams 。以后如果将转换后的Timeline动作文件导入到其他场景中,记得进行这样的更改,否则Timeline将无法控制十个手指。
002.jpg * A2 R! Z/ ~3 S. G) F6 ^
  Z, K. f4 T( o' |' x. Q
步骤02,我们在角色原子上分别加载Timeline和mmd2timeline插件。实际使用时,不必同时将它们保留在字符原子上。导入时间轴运动后,可以删除 mmd2timeline 插件。
003.jpg
/ o9 m/ k4 ]/ F# Q* m. S/ Z* o8 B. n6 M! F, `$ h# y( R  o, Z
步骤03、mmd2timeline插件的面板非常直观。首先,您需要决定是否启用高跟鞋效果。请注意,转换完成后更改会比较麻烦,请根据自己的需求进行选择。然后单击“ InitAtom ”。初始化字符原子后,点击“导入Vmd ”。
004.jpg
6 ]  F) j9 ~0 O6 O* `- Q8 m" t4 ]% j, j& w6 s5 b2 I0 s3 @- Z& a; r
关于高跟鞋效果的一个附带说明是,对于mmd2timeline转换的动作,如果勾选高跟鞋效果,以后使用时就不需要依赖其他插件来辅助高跟鞋了(非常方便的选择)。只需穿上VAM自带的默认高跟鞋,即可实现高跟效果和鞋跟的物理碰撞。如果你想给她穿上其他高跟鞋,只需穿两双鞋,然后调整默认高跟鞋的透明度将其隐藏即可。
005.jpg
* W/ ~' `# R8 \  V( G. M! p( f1 n8 M  K# P; a3 \' X
步骤 04,导航到您需要转换的运动文件,该文件通常带有. vmd扩展名,点击完成加载。
006.jpg 2 V$ t7 S* ?% S* S  N5 Z

% F5 N! G) r0 y( Z# n
步骤05,开始转换之前,您可以调整转换选项。当然,你也可以中途进行调整。采样速度对最终结果和运动转换的质量没有任何影响,因此您可以将这些值保留为默认设置。至于骨骼的调整,大多数情况下是没有必要的,除非转换后发现动作明显异常。关于这一点,我们会在后面的优化章节中详细阐述和解释。
5 W$ N$ d# p# d& @5 M. f, y8 U
现在,我们直接点击“开始样品”,然后去泡杯咖啡,耐心等待。
007.jpg 008.jpg
- l+ H' @. y6 _$ D# D& o# D! t1 Q  A- J7 ?* n
' _$ R% F  |# d" I8 f" l2 D- Q" e3 M, U
步骤06,mmd2timeline完成MMD动作采样后,单击“导出人物动画”,给它任何你喜欢的名称并保存。
009.jpg 4 s; M, b4 ~1 ~2 g- b& D1 a
8 z7 Z: z9 l. r6 y
步骤07,接下来,我们将打开时间轴面板。在“更多”选项卡中,选择“导入/导出动画”,然后按照Timeline的指导将刚刚转换的运动文件导入到Timeline中。
010.jpg
$ @+ c) A8 k) W9 O6 m7 Q" P" N) f
5 ~* @4 e" B5 t& a8 T0 i
步骤08,这里需要注意的是,导入Timeline后,通常会默认循环播放。我们不希望这样(特别是当你打算使用后面介绍的CamRide时)。因此,在“编辑”部分中,取消选择“循环”选项。关闭循环后,最后一帧的动作与初始帧相同,因此我们接下来需要进行一些调整。首先,在时间轴中,单击选择所有控制目标,使它们突出显示。
011.jpg % `5 s+ L5 X0 Q" z# d' v; J
5 f) `3 U" _+ F$ c, ?
步骤09,将时间轴的时间轴拖到最后一帧(你会发现它与初始帧相同),然后使用“<f”键返回一帧,选择“复制”,然后返回到最后一帧框并选择“粘贴”。
012.jpg 013.jpg 6 W% i' d1 ^, \, g" I+ H+ J  A
$ S6 D6 v, q* G$ {* j2 V
6 L( X2 a) o1 Z/ H3 P  v7 F
第10步,现在,打开“场景音频”并将音乐文件加载到场景中。然后返回到时间轴,单击“目标”选项卡旁边的“+”,然后选择“添加音轨”。您会注意到一个额外的触发控制条目已添加到您的时间线中。
014.jpg & D: I, I. Y/ u. m( q6 b

4 u3 g& Y. z4 E
第11步,现在,让我们将音频源添加到场景中。
015.jpg " c6 {* p6 s- F$ U! b
' ~5 b. Z7 i# F
AudioSource的控制面板,将默认设置更改为如图所示。我强烈建议您这样做,特别是如果您打算使用CamRide 。
016.jpg 4 L+ ~+ _# ^7 @5 t+ y2 ^+ b

( x6 Y& G5 e& l  _. r1 y
第13步,让我们回到时间轴,并在您之前添加的“Audio 1”时间轴的初始帧处添加这样的触发器。
5 g; i3 S( }4 F- g7 a) A: n" H. n
过去,我们需要额外的步骤来确保动作和音乐完美同步。然而,在最新版本的 Timeline 中, Acidbubble成功解决了长期以来困扰许多人的实时同步问题。我们对他表示感谢。这就是为什么我建议使用最新版本的时间轴。到目前为止,您的转换工作已基本完成。
017.jpg $ S+ X+ \8 Z1 n: d
: R* F1 P# ~+ b( d/ d0 f# d9 @
第14步,您可以转到插件预设面板并将整个设置保存为插件预设。这样,您就可以在任何其他场景中将其作为动画预设进行调用。至此,基本的MMD动作转换就基本完成了。

* U/ x6 m2 [6 o2 |  l& b! p
7 N/ O+ R* e+ B7 `/ `6 H' J; Q1 ?4 z" T* e7 ^5 S! P- h
第二部分 - CamRide

9 D, S% y( g/ c$ C+ J; J9 m1 K/ u
通常,绝大多数MMD文件都带有相机运动文件,通过mmd2timeline转换后,可以直接用于生成CamRide以供VAM使用。现在让我们深入研究如何实现这一目标。
018.jpg
$ L* E" V/ X2 G7 p) H5 j9 w8 `8 \" j7 W; W
第15步,打开场景中的WindowCamera控制面板,加载Timeline插件以及名为mmd2timeline.CameraAtom.cslist 的插件。同样,完成转换后,您还可以删除mmd2timeline插件。
019.jpg , R# \3 b% K( T6 X2 Q! t, ?

+ U! ?& y1 m; V  ]
第16步,就像我们之前所做的那样,单击“导入相机Vmd ”并选择我们要转换的相机运动。
020.jpg 1 B3 \( r! q8 \7 r4 @, {2 ^) V

- {1 ]+ y" t0 ~+ Z
第17步,相机运动不需要像之前的角色运动处理那样进行采样。因此,加载文件后,只需单击“导出”并以您喜欢的任何名称保存。
021.jpg , H/ e. p5 I: T) D8 A

! Z" x. l2 ~' z) J" C+ D' |
第18步,就像我们之前处理角色运动的方式一样,将相机的运动导入到相机原子的时间轴中。取消选中循环后,复制倒数第二帧并覆盖最后一帧。此外,您需要转到“选项”选项卡并取消选中“与其他原子同步”。
022.jpg
$ k  {8 v, ]- L
0 G: t: h6 ?& i! Q; u) d! M0 s
第19步,然后,返回到我们在第13步中在角色原子时间轴上添加的触发点,开始播放音乐。添加两个触发器:第一个触发器停止并重置相机原子上的时间轴,第二个触发器将相机的运动与音乐和角色运动同步以同时开始。

2 h" e" ^' T$ j2 g" X0 e+ \
其实到这一步,常规的转换操作就已经完成了。但如果想要达到最好的效果,关于相机还有很多细节需要我们解决。
2 l$ Y/ e, p* k: o& C* y) B& Q8 v
首先,是相机高度的问题。 MMD社区的创作者在制作MMD时,通常会以卡通人物模型为基础。这些角色的身高、比例甚至骨骼本身与我们通常使用的模型有很大不同,它们更接近真实的人体比例。这不仅会在将 MMD 角色动作适应 VAM 时带来潜在的挑战(我们将在后续章节中深入研究并解决),而且还常常使摄像机高度看起来不正确。在许多情况下,您可能会觉得默认相机在画面顶部留下了太多的空白空间。

1 {6 _: X- S+ Y+ Y
幸运的是,这个问题很容易解决。这是一个简单的解决方案:
023.jpg
: v% L  V5 s- f3 P) w( v# h/ Z2 j# y3 q0 x5 \- e
第20步,让我们创建一个子场景并将其命名为“ CamPan ”。它的作用正如其名,用于调整相机的高度。
024.jpg
# K4 |% P# M6 \9 T2 y, {* R
2 F' w" w( R7 v$ X: _- F
第21步,将我们的WindowCamera放入CamPan子场景中并将其设置为其子原子。
025.jpg
3 W  n! i+ {% o* o2 z  g0 r- k5 n- [4 f& _+ M1 ^, E' v: v+ m  x
步骤22、这样就可以调整CamPan的高度来适当修改整个相机运动的帧比例,而不改变相机运动本身。根据我的经验,在大多数情况下,您可以尝试 -0.1 到 -0.2 之间的值。您可能已经注意到截图中的相机取景与之前相比有所不同,并且人物在取景中的位置现在看起来更加合理。

8 m# Y, d& \& N9 ^
到这里,所有的步骤似乎都已经完成了。不过,从场景性能的角度来看,我不建议您使用WindowCamera来处理CamRide 。继续按照以下说明操作,在不使用WindowCamera 的情况下实现CamRide ,至少可以节省几十帧的帧率损失。
( |' s, l5 {" c
那么,让我们继续:
026.jpg
! h7 |& s' p: ~0 a
' n  Q& u/ k' q3 {. L. `8 [: C* g
第23步,首先,我们取消选中这两个选项并关闭WindowCamera 。
027.jpg 8 X) n& ^; K' F) S

# f2 T$ N8 L  ?9 T* M
步骤24,创建一个新的空原子,命名为“ CamRide ”,并将其移动到与WindowCamera的位置完全重叠的位置。确保其位置坐标和角度与WindowCamera完美对齐。最简单、最有效的方法是使用“从场景中选择对齐”功能。
028.jpg 7 N$ {) E, Q6 ~; ?  r( _3 c

+ d: m! b, }2 ^0 b' M
步骤 25,在CamRide空原子上,加载以下插件:来自 MacGruber Essentials 的ParentHoldLink 、来自 Utilities 的FieldOfViewController 、VUML、 ActionGrouper和 Embody。
029.jpg $ i) ^8 F3 w& X4 r/ o
! D6 E: m0 a- m$ I1 \
步骤26、激活ParentHoldLink后,修改CamRide的控制设置,如上图所示。
030.jpg # H, T5 f$ r- ^; R
; w, u2 ~) T1 D' p0 x8 K
第27步,打开VUML插件面板,点击“Add VFLOAT”,按照上面的截图进行设置。
031.jpg + f; Q& m& `/ K% {  i$ M/ [

: a% D2 L  u2 c$ W& \5 h2 U+ U* C
ActionGrouper的控制面板后,调整设置以匹配屏幕截图中显示的内容。这样做的目的是将上一步中从 VUML 获取的 FOV 值传递给FieldOfViewController ,以更改桌面 FOV。您可能已经注意到桌面视野已经改变。

; n+ p7 O1 ?) b2 _4 i6 @
你都完成了。

2 l6 x8 d- v$ H% R3 J2 V) X, F0 R
现在,即使不使用WindowCamera ,我们仍然可以实现CamRide的功能。而且,通过改变桌面FOV,我们可以实现FOV的变化。当场景很简单时,这种处理CamRide的方法可能看起来与直接使用WindowCamera没有太大区别,就像本教程示例中几乎是一个空场景一样。但是,当您创建更丰富、更复杂的场景时,您将能够注意到它们的性能差异。

5 K3 v- {: W* m# l7 [# q* L7 C
  l3 c0 I& L/ r. Y' W
3 }+ Y3 O! J6 C9 {9 i  ]# {
VaM Produce 69中转换的舞蹈或创建您自己的场景

9 E4 q. M5 B' N- y1 Q2 z# o+ j. N! t  g
虽然VaM Produce 69提供了许多预制的舞蹈,但您也可以将自己转换的动作直接加载到此场景中使用。您只需要执行几个简单的步骤:
032.jpg
1 Q' }# ^6 k4 A( s' r
" L6 T3 `4 g- O2 T
步骤29,就像我们之前在步骤10中所做的那样,将相应的音乐文件加载到场景中。
033.jpg
' x) L+ d  s: W  [$ V5 F
0 W9 @  r1 d* M; h9 a) M, d- q! `
第30步,打开角色原子的“插件预设”面板,加载我们之前保存的插件预设,替换现有的预设。
034.jpg
" i6 A* n+ a" I' G7 W9 S, [- _9 T9 V4 o7 ^2 g- g6 B
步骤31,打开时间轴,在“编辑”选项卡下,将动画名称更改为“舞蹈”。
035.jpg $ H4 K" e6 e- p- Y; ?

9 ?6 K0 Y7 h% y  ^- v' h
WindowCamera的预设面板并将当前预设替换为您之前保存的预设。无需对时间轴进行任何修改。如果你想调整相机高度, VaM Produce 69中有一个名为“ CamPan ”的原子。只需找到并调整它的高度即可。

0 x, [8 }4 A+ f/ i* G
然后点击播放。

4 h5 e$ e" u5 {* A; H
当您想要创建自己的场景或将舞蹈动作导入其他场景时,步骤是相同的。
3 _: A" d' k0 q; Q* Y
/ n+ G2 a: J/ M- P

8 t. {9 ~. ~. Q
第四部分 -运动的进一步优化

; b) K0 s. L/ z& H$ b* c
嗯,这是一个很大的话题,需要考虑很多方面,需要处理的方法也很多。光是这一章你就几乎可以写一本书了。所以,今天我们就这样吧。在前面的部分中,我们讨论了如何转换 MMD 运动以在 VAM 中使用。在下一次更新中,我们将更深入地优化它们,以确保它们在 VAM 中表现得更好。
5 |9 i! h) S, i, i/ \( q. P
如果您有任何问题或建议,请在讨论中留言。我会尽力回复大家。
报告

: x) V% b9 D# b+ M/ T; O: H
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-8-5 11:29 AM , Processed in 0.110280 second(s), 26 queries .

Powered by xyh-moon X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表