直近2週間は、マベライのシーズン5とスタレゾをがっつり楽しんでしまい、モデリング作業が全く進められなかった…!
あと、ここ数日とある作文コンテストへ出す文章を作成していたこともあって、だいぶ更新間隔があいてしまったけど、久々に美少女3Dモデルの制作記をまとめてみた。
(コンテスト用の文章は、落選したらブログに掲載する予定w)
▼記事本文は「続きを読む」からどうぞ!
※24枚ほど大きい画像を載せているため、wifi環境での接続がオススメ。

▲手の平と手の甲は、①Ψマーク・②Aマーク・③Aマークの先端から水かきに繋がるラインを意識しながら作成した。




▲【>ゼロブレさんのBlender本】を読みながら、さらに作り進めた状態。
ゼロブレ本は、爪&手の甲&手の平&水かきの作成工程が見づらくて、どんなトポロジーなのか分からず大苦戦した。
特に爪の部分や指⇔手の甲を繋ぐ部分は作り方がいまいち想像できず、かなりぐちゃぐちゃなトポロジーになってしまった。
ただ、指の作り方だけは分かりやすかった!
一応人間の手らしくなったものの、三角面が多すぎるし、サブディビジョンを適応したら汚くなりそうでちょっと不安。
関節も、これで上手く曲がってくれるのかどうか…w

▲ゼロブレ本に頼りつつ、どのラインがどこへ繋がっているのかよく分からないまま肘を作っていった。
何回も画像を見ながら作ってみたけど、これで良いのかな?
自信が無さすぎる。

▲膝はかなり良いかんじ。

▲膝下(ふくらはぎ)の曲線はかつてないほど綺麗に整えられたと思う。
前から見えるお尻やふともも~お尻の曲線も、気合を入れて調整した。
どのくらい脚を太くするかでまだ悩んでいるものの、全体的な脚のラインは脚フェチでも満足できるレベルの仕上がりになってきたので嬉しい。

▲ヘソは「>なのです本」と似たような作り方だったため、スムーズに作成できた。


▲足の指は、足先の土台を軽く分割した後、適当に押し出して作った。
ただ、足の指まで作ってしまうと、土台に合わせて作っておいた靴の可愛らしいシルエットが崩れるのでどうしようか悩んでいる。
ソックスを履いた状態の足先(なのです本のように指を作らず土台だけで済ませるタイプ)にしておく方がデカ足にならないし、靴を履いた時のシルエットが可愛くなると感じた。
とりあえず指ありの足先にしておいて、靴からはみ出る指部分だけシェイプキーで縮小してフィットさせるべきか考え中。




▲リギング前の全体像(足の指を作らなかった初期バージョン)。
お尻部分は、ゼロブレ本のやり方がダイジェストすぎてついていけなかったので、Saba先生のやり方を思い出しながら作った。
書くほどでもない微調整をたくさんやった分、確実に前回よりリアルさが上がっているはず!
今回は「VRM format」という無料アドオンでVRM1.0用ボーンを時短作成するつもりだった。
※上記アドオンの使い方は「>VRM formatのチュートリアル」を参照。
ただ、作成中、VRM1.0用のボーンを作ると古いVRM対応ソフトで使えない問題が発生することに気付いてしまった。
VRM1.0で作ると予想以上に非対応ソフトが増えてしまいそうなので、今回はやっぱりVRM1.0形式やコンストレイントを取り入れずに進めようと思う。
(どうせならねじれ対策のコンストレイントに挑戦してみたかったけど、VRM0.0だとゼロブレ本のやり方でコンストレイントを設定できるか分からないから止めることにした)

▲VRM0.0用アーマチュアを作り直すにあたって、位置調整済みVRM1.0用アーマチュアのトランスフォーム値を新しく追加したVRM0.0用ひな形アーマチュアへコピペしたら、ゼロから各ボーンの位置調整をせずに済んだ。
※上図の位置ズレした状態をなおす方法(=別々のひな形アーマチュア同士でボーンの大きさや位置を全部コピペして揃える方法)は初めて知ったので、ChatGPTに教えてもらった内容を一応メモしてみる。
import bpy# ここを必要に応じて変更OLD = "ArmatureOld" # 古いアーマチュア名NEW = "ArmatureNew" # 新しいアーマチュア名old_arm = bpy.data.objects[OLD]new_arm = bpy.data.objects[NEW]for bone in new_arm.pose.bones: if bone.name in old_arm.pose.bones: ct = bone.constraints.new('COPY_TRANSFORMS') ct.target = old_arm ct.subtarget = bone.name print("Copy:", bone.name)import bpyOLD = "ArmatureOld" # ← 古いアーマチュア名NEW = "ArmatureNew" # ← 新しいアーマチュア名old_obj = bpy.data.objects[OLD]new_obj = bpy.data.objects[NEW]# 1) collect edit-bone transform data from old armaturebpy.ops.object.mode_set(mode='OBJECT')bpy.context.view_layer.objects.active = old_objbpy.ops.object.mode_set(mode='EDIT')old_edit_bones = old_obj.data.edit_bonesdata = {}for eb in old_edit_bones: # copy vectors so we don't reference mutable data data[eb.name] = (eb.head.copy(), eb.tail.copy(), eb.roll)# 2) apply to new armature (only for names that exist)bpy.ops.object.mode_set(mode='OBJECT')bpy.context.view_layer.objects.active = new_objbpy.ops.object.mode_set(mode='EDIT')new_edit_bones = new_obj.data.edit_bonesfor name, (head, tail, roll) in data.items(): if name in new_edit_bones: eb = new_edit_bones[name] eb.head = head eb.tail = tail eb.roll = roll print("Applied edit-bone:", name) else: print("Not found on new armature:", name)# return to object modebpy.ops.object.mode_set(mode='OBJECT')print("Done: copied edit-bone transforms.")import bpyNEW = "ArmatureNew"obj = bpy.data.objects[NEW]for pb in obj.pose.bones: while pb.constraints: pb.constraints.remove(pb.constraints[0])print("All constraints removed from", NEW)VRM用人型新規ひな形ボーンに位置調整済みVRM用人型ボーンの情報をコピペしたい時は、上記のやり方でコピペできると思う。
(本来は手作業で各ボーンを指定してコピペしないといけないから、アーマチュアの情報をコピペするならスクリプトで一括処理する方が楽らしい。
今後使う機会は無いだろうだけど記録しないと絶対忘れるので自分用に整理してみた)
一通りやってもVRMLiveViewerへ読みこんだ時に「The given key was not present in the dictionary」と出て失敗する時は、一旦ボーン作成前のBlenderファイルを開いて0.0用ひな形ボーンを新規作成➡そのまま何もせずにボーンとパーツをF4➡VRMでVRM出力してVRMLiveViewerにVRMモデルとして読みこめるかチェックしてみる。
VRMが無事に読みこめたら、位置調整しておいた旧1.0アーマチュアをアペンド機能で読みこんで、その後に上のコピペ作業や自動ウェイトを実行すれば大丈夫なはず。
自分はいじりすぎていたのか一旦コピペ作業が失敗したものの、アペンド機能を使ってリトライしたらなぜか上手くいった。
訳が分からないけど、とりあえず0.0対応アーマチュアへのコピペはできたみたい。





▲ボーンと各パーツを選んでオブジェクトモードからCtrl+P>Automatic Weightsを実行しただけの状態だとこんなかんじ。
少し動かすくらいなら破綻はしていないけど、①腕全体のバランスと②肉厚すぎるなで肩っぽさ(≒肩の主張の薄さ)と③肋骨の存在感の無さ(≒上半身のペラペラ感)と④かかとの丸みの無さが微妙。
あと、⑤へそ横の高さまで伸びるふともも付け根の筋肉もあっさりしすぎている。
立ちポーズなら良さげに見えても、座らせてみたら太もも前面上部や腰付近の痩せぶりがかなり目立っていた。
肘も、中途半端な曲げ方だと痩せているのがバレる。
それから、VRMのひな形ボーンは胸揺れ用のボーンが抜けていることに気付かず、うっかりそのまま自動ウェイトを実行してしまった。
後で胸ボーンを追加しておかないと…!
肩甲骨も、サブディビジョン適応後にやる気があれば作る予定。
(リアル系のモデルじゃないし、テクスチャとして描いても良いかも)

▲VRM Live Viewer内で仮VRMを踊らせてみると、やっぱり腰付近&ふとももの付け根&脇の下&肘の内側などは、自動ウェイトだけだと原型が残らないくらい痩せてしまう。
また、お腹付近にも変な段差ができている。
このへんは、面倒くさがらずに毎回手動でウェイトや形状を調整しないとダメそう。

▲3tene内だと全体の比率がとても良いかんじだった。
VRM Live Viewer内ではふとももの太さが過剰だと感じたけど、3tene内だったらものすごくちょうど良い脚に見える。
棒っぽい脚の3Dモデルが好きじゃないから、どのソフトで見てもこういう起伏強めの柔らかそうなムッチリ美脚に見えるよう調整していきたい。
id:VtuberHudan★現在、Twitch配信は休止中(ごめん!)
★「不断シエル」について
・MMO&シューターゲーが好き!
・好奇心旺盛なキッズVTuber!
★取り扱い分野
・好きなゲームの紹介&攻略。
・VTuber関係の技術紹介&雑談。
・UE5やBlenderの学習メモ記事。
★Twitterもフォローしてもらえると超嬉しいです!
当ブログの文章や画像を外部サイトへ転載しないでください。
また、コンテンツの模倣や、成りすまし行為などもご遠慮ください。
当ブログの記事が元で発生した損害への責任は一切持ちません。
(間違った情報が含まれる可能性もあるため、各記事は全て自己責任で参照してください)
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。