作りかけだったキャラクターモデルの完成……と、新しい挑戦

こんにちは。
メイドさんこと、女装子ゲームクリエイターtoメイドです(笑)

いつもコメント、ときにはメッセージをいただき、ありがとうございます💗



前から作っていたんだけど、諸事情でほっぽらかしにしてしまっていたキャラクターのモデルを完成させた。








和服にプリーツスカートという、少し前に流行った(?)ファッション。
姉に見せたら「田舎っぺみたい」と言われました(笑)

名前は「タカナ」。名字はありません。
由来は「鷹、刀」です。
短刀を使い、鷹のような素早い動きで翻弄するような戦い方をします。

短刀のモデルはまだ作れてないんだけど、キャラクターは一応完成したということでお披露目(?)みたいなこと。


トップスの和服は鷹の色をイメージしたつもりだったんだけど、姉には「ボロい服を着てる」とか「名前が野菜」等、散々に言われました(笑)








髪型は、ぱっつんにポニーテール。
短いながらも刀を使用することから「一閃」のイメージで直線になったぱっつんにしました。
サイドヘアーも刀をイメージして刃物っぽい感じに。
ポニーテールは、同じく刀ということで侍のイメージから。







髪は、ベースヘアーの上に前髪・サイドヘアーを被せるように着け、ポニーテールは後ろにさしこむようにつけています。










つまりは「ハゲ頭に髪をちょっと追加してるだけ」ということですね(笑)













個人的にこの角度が気に入ってます。


で、ここからまた、今まで作ってきたモデルと変わってる部分が。

通常、モデルのメッシュというのは「表側から見たときにしか表示されていない」……つまり、裏側から見ると透明になっています。


このように、通常は裏地が透明で見えない状態になっている。


これは、シェーダー(テクスチャを表示するための細かい設定)に「カリング」という処理が働いているためで、Unityでは描画によるPCへの負荷をできる限り減らして快適な動作をさせようとしているため、このカリングという処理がデフォルトでオンになっているらしい。

例えば、建物等の地形の場合、壁抜けのような不正プレイ……もといバグ技というかなんというかをしないぎりは地形の裏側を見る機会なんてほぼ皆無。
ので、わざわざ裏側を表示するなんて、そんなメモリの無駄使いはしなくていい……ということでデフォルトでオンになっていると。
このカリングという処理を、両面表示したいテクスチャに対してオフにすれば、そのテクスチャは両面表示される、ということになります。
タカナは、髪・トップス・スカートのカリングを無効にして両面を表示するようにしています。
今までは両面表示したいってなると、モデル制作の段階で「メッシュを全選択して反転して、頂点をくっつけて……」ってやってたんだけど、エディアンさんのように裏地の色が違う、とかでなければこれで十分。
ということで、タカナはカリングを無効にすることで対応しました。


で、スカートをじっくり見ててちょっと気づいたことが。

この画像はスカートを裏地のほうから見たものなんだけど。
シェーダーの設定によるものなのか、Vroidから出力するときのテクスチャの設定によるものなのか、詳しいことはちょっとわからないんだけど。
裏からスカートを見てみると、透けて向こう側が見えるようになっている。
表から見た場合は透けていません。
学生時代……特に小学時代かな――に夏服の女子のスカートが若干透けてたのを思い出した。

ダッテ、ワガハイ、オトコダモン。

ちなみに、トップスのほうは裏から見てもまったく透けてないので、たぶんシェーダーの設定によるものではないと思う。
スカートのテクスチャが意外と完全な不透明で描かれてない、という可能性もある。



次、今回やろうとしてる”新しい挑戦”
たぶん、画像を見ていただけるとわかるかな?

今まで作ってたモデルと少し作り方(?)が変わってる部分があるんだけど、どこかわかるだろうか。
下がスパッツ? それは「Re:Bell.-りべるどっと。-」ではいつものこと(笑)

たぶんこれだけだとわかりにくいかな。
……以前から作ってるエディアンさんと見比べてみるとわかるかも。




脚を動かすとヒラヒラをすり抜けて出てきていますね。
この時、ヒラヒラは全く動いていません。
対して、タカナのモデルは脚の動きにあわせてスカートも一緒に動いています。
これはスカートにもボーン(骨組み)を仕込んであるからです。

今までに作ってきたモデルは、スカートやヒラヒラの物理演算を「メッシュクロス」という処理に丸投げしており、スカートのボーンは使わないだろうということで削除していました。
しかし、これだと大振りな動きや素早い動きをしたときに衝突判定が追い付かず、簡単に手足がスカート等をすり抜けてしまいます。
いくらMagicaClothの力で強固に衝突判定が働いているといえど、その力にも限度があり、あまりに急な動きをするとMagicaClothでも対応しきれず、すり抜けます。

そういうこともあって……動画を見ていただいていた方にはわかると思うんだけど、モーションによってはエディアンさんの脚がヒラヒラをすり抜けて出てきたりしてたのを見たことがあると思う。

衝突判定の範囲を越えた動きを瞬時にしているために判定の処理が追い付かず、
脚がすり抜けて出てきてしまっている







あとはジャンプしたとき等、降りてくるときにスカートが全開になって下品だ……という声もあった。

エフィのスカートの物理演算
階段を上るときのジャンプ中にスカートが全開になって下品だ、という声が結構あった




ということで、カーテンや旗などの”動きが少ない、または動かないもの”であればメッシュクロスはうってつけなんだけど、キャラクターのようなバリバリ動きまくるものには絶望的に向いていない、ということがわかった。

では、どうやって対処するか。
実は、MagicaClothにはメッシュクロス以外にもう1つ、物理演算の種類があって。
それが「ボーンクロス」という処理である。

揺れものの物理演算に、メッシュクロスではメッシュを直接動かしていたのに対して、こちらはボーンを参照して演算をします。
ので、ちゃんと作ればきれいな演算ができるかもです。

……というのが、新しい挑戦。
要は「ボーンクロスと使った演算に挑戦してみる」と。

まだ触ったことすらないのでまったくわからないんだけど、ちゃんと勉強して使いこなせるようになりたいと思う。

以上のようなことで。
作りかけだったキャラクターを完成させたこと、新しい挑戦についての話でした。



最後までお読みいただき、ありがとうございました。

おまけ

タカナちゃんがやってみました


「グラビアアイドルがしそうなポーズ」









本来のタカナはこんなキャラクターじゃないんだけど……変な想像力が働き、ついやってしまったという。
まぁいいか(笑)

Blenderを使用してモーションを自作

こんにちは。
メイドさんこと、女装子ゲームクリエイターtoメイドです(笑)

いつもコメント、ときにはメッセージをいただき、ありがとうございます💗

「素材は無ければ自分で作る」をモットーにして、今日もゲームを制作しております。
ということで、今回は”モーションデータの素材がなかなか見つからないので、自作することにした”という話。

わからない方のために説明すると。
モーションデータとは……モーションはわかると思う。
動き、動作とかいう意味。
で、モーションデータというのは、動きを設定したデータのこと。
3Dモデルに動きをつけるときは「ボーン」という骨組み……粘土に針金を仕込んであるようなイメージかな――が設定されてるんだけど、そのボーンというものに「この部分はこんな風に動いて、こっちはこう動いて……」と、動く部位・動き方を一通りリスト化して、動けって言われたらそのリストに沿って動かす、指示書のようなもの。

『パンチのモーションをして』と言われたらパンチの動きの指示書のとおりに動き、
『走るモーションをして』言われたら走る動きの指示書どおりに動く、といった感じ。

3Dものを見てるとわかると思うんだけど、ゲームだとキャラクターによっては全く同じ動きをしている2人がいたり、3Dキャラクターを使用したダンス系の動画での振り付けとかだと、寸分違わず同じ動きをしていることがあります。
これは上記の「動きの指示書」を、全く同じものが使われているからです。

この指示書が、自分の思い描いてるものが見つからないので自分で作ることにした、というのが今回書く話です。




そもそもの話。
「モーションデータって、どうやって作ってるんだろう?」という。
一応Unityでも作れるんだけど、けっこう手間がかかるうえに、別のツールで使いまわすことができない。
例えば、データ自体はUnityで使うために作ったんだけど、何らかの事情があってUnreal Engineを使うことになり、同ツールでも同じ動きをさせたい……と思ってもそれができない。
その上、一度設定したアニメーションはそのオブジェクトに対してしか使うことができない。
つまりは、エディアンさんに設定した動きをエフィにもさせたいと思ってもできず、同じ動きをさせようと思ったらエフィにも1から同じように設定をしないといけないという。
いろいろ応用しようと思ったらかなりクセのある機能である。

ちなみにだけど。
スパッツくじ”のエディアンさんの動きはUnity標準のアニメーション機能で作っています。


そんなこんなで、応用を利かせるために他のツールで作る方法を探していた。

基本的にはオートデスク社より発売の「Maya」という3D系の統合ソフトを使って作るみたいです。
Mayaとは、大手のメーカーや同人サークルも使用している高品質な3Dデータが作れるソフトで、モデリングはもちろん、ボーンの設定、モーションデータの制作まで、同ソフト1本ですべてできてしまいます。
スマホゲーム「白猫プロジェクト」の3Dモデルもこのソフトで作られているそうです。
あとは、同人サークル「AQUA STYLE」様制作の「不思議の幻想郷シリーズ」のオープニングで流れる3Dムービーもこのソフトで作られてたかな?

が、このMayaというソフト、もともと業務用でつくられたソフト、商用前提のソフトっていえばいいのかな――つまりは大手のゲーム会社等で使われることを想定した本格的なソフトってことで価格がとても高いです。
しかも、料金は月額制で買い切りではないという。

これはさすがに手が出ないので、他の方法を……と思って探していたら、なんとBlenderでもモーションの制作ができるみたいだった。

Blenderとは、Mayaと同じく3D関係の統合ソフトで、こちらも業務用途でドイツだったかな? のスタジオで使われてたものらしいんだけど、そのスタジオが倒産したかなんかで他の会社がBlenderを買収。
現在はオープンソースのソフトウェアとして共同開発が行われ、現在もバージョンアップが繰り返されていて、そのたびに機能が続々と追加されている。
オープンソースということで、無料でダウンロード・使用ができる。
つまり、Mayaには劣るかもしれないけど、同等の機能がタダで使えるということである。
ちょっと操作性にクセがあったりするんだけどね……
その点は無料で使えるということで許容するべき範囲内かな、と。

講座等のページで使われているBlenderのバージョンは2.70から2.78ぐらいまでのものが多かったけど、2.80でも同じことができ、かつUnityも認識できたので、メイドさんは2.80を使用しています。

「バージョン」についても、わからない方のために(要点だけ)説明しとくと。
バージョン(Version、Ver. と記載されることもある)は1を初版として、基本的には小数点以降の番号が上がっていきます。
バージョン表記の整数が0のもの……0.5のような表記となっているソフトはまだ正規品としてリリースされていない、要は「未完成品」の意味になります。
中にはバージョンが0表記で完成品となっているものもありますが……基本的には上記の考え方で問題はないです。

つまり”スパッツくじ”はVer.0.95なので「完成間近の未完成品」ということです(笑)
過去に書いている「早くVer.1.00を公開したい」は「早く完成させたい」という意味で書いています。

で、バージョンは「数値が高いほど新しいもので、使える機能も多い」です。
他の機能との相性の問題等で削除されたりする機能もたまにあったりしますが、基本的には最もバージョンの高いものを使用することが推奨されます。



ということで、Blenderを使用してモーションを作っていく。
以降の、モーションの作り方等はこちらのページ「Blenderを使ってUnityにアニメーションを追加する手順」を参考にした(以下、参考ページと記述)。
Blenderのダウンロード、日本語化からUnityへの取り込みまで一通りのやり方が書かれている。
メイドさんは日本語化までは前からやってあったので、実際にやってみるのはその次から。
アドオンの追加はやってなかったので、やっておいた。
上にも書いたけど、メイドさんはVer.2.80を使っている。
Ver.2.80を使う際の注意点としては、インターフェース(ウィンドウのレイアウトやボタンの位置・見た目等)がちょっと違うので、参考ページは……確認したかぎりでは2.78がスクリーンショットと同じだった(日本語化するためのボタンが少し違ったけど)ので、おそらくはVer.2.7系じゃないかと思われる。
参考ページでは「File」→「User Preferences」をクリックして設定画面を~と書いてあるけど、Ver.2.80では「User Preferences」という項目は「編集(Edit)」メニューにある。

また、アニメーションの原理・補完・その他、細かい説明等も参考ページで解説されているので省略。
メイドさんがやったことだけ”書きます。




Blenderを起動すると、こんな画面が出てくる。
その前になんかポップアップでファイルオープンのウィンドウが出てくるけど、画面上のポップアップウィンドウ以外のどこかをクリックすれば消える(ポップアップウィンドウに閉じるボタンはない)。

真ん中にCube(正方形)があるので削除する。
最初の状態だと上記の画像のようにCubeが選択された(周りが黄色で囲まれている)状態なので、Deleteキーを押せば削除できる。
右のリストから選択して右クリックメニューから削除もできるけど、このリストにあるものすべて使わなくて削除する関係で、最初からリストを右クリックで削除したほうが早いかもしれない。







Rigifyアドオンが正しくインストールされていれば、オブジェクトモードの「追加」から「アーマチュア」に「Human(Meta-Rig)」という項目があるはずなのでクリックすると、ヒューマノイド(人型)のボーン一式が作成される。

「Human(Meta-Rig)」を選択すると……





ヒューマノイド(人型)のボーン一式が作成される。

これを、タイムラインを使用してアニメーションを作っていくことになる。







というわけで、モーションを作ってみた。

戦闘中の待機モーションを想像して作った。





ちなみに、以前はストアにあったものを使っていた。

停止しているときが待機モーション。
過去の記事では「ど素人の構え」なんて失礼なことを書いてたような気がするけど……







今回作ったモーションを動かすとこんな感じに。
こちらはBlenderでの制作中の画面。

これをUnity上でエディアンさんに適用してみると……










む~う……
もっと素人っぽい動きになったような。

なんか武術も何も知らないような人が、なんとなくやってみたような構えっぽい(笑)
もうちょっと人の動きとかをよく観察してみたりするべきかなって思った。

やっぱりというかなんというか、そう簡単にはいかないか。
要勉強、だな。


以上のようなことで。
モーションを自作した、という話でした。




最後までお読みいただき、ありがとうございました。