見出し画像

一晩で清蘭作ろうぜチャレンジ

唐突に起きた、いや起こした激動の日々。その時に新しく触れた事についてのメモを兼ねてここに記しておく事にする。いや3/4くらいメモだと思います。多分。なぜならこの時に行った行動を書いてるだけなので。


Stage1 機械要塞 -Workplace-

それは2022/01/20のこと。

職場で何とか眠気を堪えようと(いや別にその時は微塵も眠くなかったけど)仕事の作業の事だの家帰ったらやる事だのその次の日の21にある東方改変アバターの集会イベントの事を考えるだのと頭を色々と回していたら、いきなりピーンと思いついてしまった。

一晩で清蘭作ろうぜ!!!!!!!!

いま考えるとアホなん?と思う。

しかし何故か当時はテンションが異様に高く、そのアバター集会に出すために作っていたヒソウテンソク(どう見てもマジンガーだろ……)の調整がまだ終わってないにも関わらず「やりましょう!!!!」と脳内会議が勝手に進行した。ちなみにその日と次の日はちょうど残業があったのだが拒否した。ごめんて。

画像1

Stage2 秘密の神判場 -Brain Conference-

とは言ったものの、一体どこから作ればいいのか。

職場でその試みが考え付いた時点でどういうプランにすればワンチャン間に合うかを考えた。

まず使うアバターから。流石に素体から作るなんてのは流石に無理があるってレベルじゃないからだ。しかし別に自分もそこまでアバターをたくさん知ってる訳じゃないしさてどうするかと思った矢先に、無料アバターなのにクオリティが高いみんな大好き右近ちゃんの事が思い浮かんだ。まあ考える猶予なんて家に帰ったらあんまりないだろうし、このまま何もなかったら右近ちゃんにするか~って感じで決まった。じゃあ他の衣装とかはどうしようか、と考え始めた。

その中で考えた択としては、

・髪型とかなんかはBoothで探して、服はMMDから引っ張ってきてしまおう(Easy)

・髪型とかなんかはBoothで探して、服は自分で作る!(Normal)

・髪型から服まで自分で作れ。小物はBoothで仕込む(Hard)

・素体以外全部(Lunatic)

の4つ。ただ、MMDから引っ張ってくるっていうのは正直かなりグレーゾーン(製作者様からの許可がないなら基本的にあまりやらない方が良い感じ 自分がMMDerで、衣装をうまいこと改変して……って感じなら良いのかもしれないが、結局そこも改変後は権利持ちません!っていうのもあれば知らんがなってのもあったと思うので結局それ次第な気がする いや詳しいことは知らんけども)なので、色々考えたら服を作って他をBoothで探すのが一番無難な形だろうという事で、Normalに決まった。

Stage3 優しく厳しき愉快な地獄 -Blender-

てな訳で残業を拒否して家に帰ったら早速ネットを開きつつBlenderを開いた。

と言っても、自分はBlenderに関しては滅茶苦茶初心者。ヒソウテンソクにボーンを入れた関係上、身体のボーンを入れる事とウェイトを設定する事は理解できているが、それ以外はてんでダメ。メッシュも適当に移動させる、伸ばすをやった程度なので押し出しの存在もその時は「どう使うんだ?」くらいの認識だった。

未来は暗黒次元と思いつつひとまず服をどう作るかを調べる事にした。調べた限りでは、素体の胸辺りまでのメッシュを程度選択して、その後にShift+Dで複製、そのまま何も触らずにEnterでコピーを確定してからPを押してなんか選択すると別オブジェクトとして表示されるので、なんかそこからうまいことやるらしい。

それならとりあえずは素体が必要だなと思い、右近 素体で検索してみる事にした。(当時はUnityにあるものをFBXとして出力するという考えが無かった)意外と出てきてくれるもので、そこで出てきてくれた素体をパスワードがわかんないけどなんか適当に入力したらダウンロード出来た。

Blenderにインポートして早速上に書いてある事をやり始める。

画像2

3Dビューのシェーディングをワイヤー状にして透過表示をONにして、正面からでも背面のメッシュまで選択できるようにしたらShift+左クリックでいい感じにメッシュを指定して、その後に余分に指定された所をCtrl+左クリックで取り除く。

その後は上の通りにオブジェクトとして複製し、そこから作業。

隣合わせの頂点を指定して、Eキーを押すと押し出しが出来るので、その押し出しやGキーでの移動(実質的な選択箇所の拡大縮小)、Rキーでの回転をうまいことやりくりして服の形状を作っていくらしい。早速頂点を選んでEキーで押し出しを選択すると、なんかメッシュが出てくる。

画像3

なるほどこれをなんとかすればいいんだなと分かったので、身体がうまくめり込んでこないように角度やサイズを気にしつつ、これをどんどん形成していく。正直言って当時は記事を書こうなんて思っておらず、スクショなんて撮ってないのでここから先はある程度割愛させていただく。実際ここからやるのは本当に身体にめり込まないように角度を気を付けながら押し出し続け、最終的にはすこーしだけ離れた頂点同士を指定して結合するだけなので。

とりあえず清蘭のワンピースは結構短めなスカートで、中で履いてるドロワーズが見えるレベルなので太ももに入り始めるくらいまでで形成を終わる。ちなみにドロワーズはそこそこ前にBoothで買ったのを既に持ってたのでそれを履かせた。

というわけである程度の形が出来たら、次にフリルをつけていく。場所は首周りの開いた部分、スカートの裾、袖辺り。本来はもう少しあったような気もするけど時間が惜しいのでヨシ。

ここもフリルの作り方をなんか調べていく。そうするとなんか良い感じのサイトが出てきてくれたので、このサイトにある60秒で作る方法とかいうのを実践する。ただしモディファイアーの設定が本体の服にまで作用して何か起きても嫌なので、押し出した後の段階で一度複製しておく。作った後はフリルの部分をソリッド化で0.01だか0.001だかを指定して申し訳程度の厚みをつけておいた。

そして後はスカート部分の変な紐と玉の集合体を作るだけになった。これもどうしようかと思い一先ずBlender 紐で検索すると出て来たのがカーブ機能。これをなんかやりくりすればいいらしい。

というわけで早速それを作るべくオブジェクトモードで追加、カーブ、円を選択。そうするとなんかいい感じの円が出てきてくれたので、これの形を編集モードで整えてから、うまいことスカート部分のサイズに合わせる。その後はそのカーブのプロパティを開いて、ジオメトリから押し出しを選択して数値を入れるとなんかメッシュが精製されるので、オブジェクトモードで右クリック→変換→メッシュを選択したら、その時点で扱いがカーブからメッシュになった。

画像5

後はそれで作った円の頂点をスカートの頂点を結合出来るように、服と円のオブジェクトを選択してCtrl+Jで同一のオブジェクトにする。その後は円の上部とスカートの下部をそれぞれ細分化して、細い紐っぽいのを押し出しで精製して結合する。で紐部分にそれぞれUV球を作って合わせる。

そうして無事に形作る事が出来た。

画像4


Stage4 Blender地獄深部 -Vertex Weight-

この段階になったら、後は少し不自然な所の頂点を削除したり、結合して変な凹みやでっぱりを修正していく(経験不足で直せない所とかもあった)

後はウェイトを設定するだけという事で、素体にあわせたウェイトをする為にウェイト転送なるものを利用してみるも、何でか上手くいかない。

仕方ないので衣装をFBX出力する。メッシュのみを選択してリーフボーンとアニメーションベイクのチェックマークを外して出力した後、新しいプロジェクトでその衣装をインポート。次に素体のボーンを得る為に、先ほどの素体をボーンのみで出力してこちらもインポートしていく。

後はBlenderをもう一個開いて素体のFBXをインポートし、その素体のウェイトペイントをいい感じに模写みたいなやり方で写していって完成。

UV展開は服に縦に一つのシームをつけた後、UV Editingで服のUVの場所を色々と調整してから、テクスチャペイントでちょうど切り込み部分で切断されているせいで少し塗りづらい所を直接描いて、あとはそれを画像保存してついにUnityを開く。

画像6

今回の場合は背中部分だった

Stage5 いずれ還りて気付かば故郷 -Unity-

Unityに素体から衣装、テクスチャまでをそれぞれインポート。次に素体をHumanoidにしてマテリアルもレガシーにして設定を諸々済ませる。ここらへんというかこっから先は申し訳ないがもはやメモるまでもないくらい身に沁みついているのでかなり省略させていただく。後は着せ替えツールをインポートして、実際にサイズが少しだけ合わずに申し訳程度にサイズを変更してから装着。その後にドロワーズも調整して履かせた。

あとは各々好きな小物を仕組んだり、DLした髪型(清蘭っぽいのはあったけどまさしく清蘭!っていう髪型は流石になかった)をうまいこと合わせる。

しかしここで髪型があんまり気に入らなかった。なのでBlenderで髪部分を良い感じに削り取る。ついでに服を着せたお蔭で内部の不要な身体のメッシュも分かったので、はみ出し防止の為に素体の不要なメッシュも削っていく。ボーンは怖いので触らない。

画像7

色を変えたりうさ耳を生やしたりする前

そうした感じにある程度「まあこれならいいか……」ってなった後は、テクスチャやマテリアルの色を変更してうまいこと髪色を合わせる。

Stage6 現と幻の架け橋 -Animation SDK-

最後にVRCSDKを設定するのだが、この右近ちゃん、如何せんSDK2時代のものなのでSDK3は自分で最初から設定する必要がある。いやSDK2から3に移動するアセットとかあったと思うからそれ使えばいいんだろうけど、こっちのが慣れてるので。

といっても目線設定、Eye lockなどSDK3を設定するだけなら別に何ら問題はないのでここも省略。あとはcontroller等を設定するだけ。

ひとまず表情を作成する。アバターを選択してアニメーションを開いて新規作成した後に、素体の表情関連のBlend Sharpを一通り入れて、そこからひたすらアニメーションを複製して各々に数値を設定して作りたい表情を設定するだけ。

次にcontroller等の設定をしていく。ここは初めから作るのではなく、A3Boxをインポートして、Face Boxで表情固定をするためにさっきのアニメーションを一通り挿入して設定していく。ハンドジェスチャーでの表情設定をさせないように、数値を全て0にしたさっきのアニメーションも入れる。(表情が荒ぶるのがそこまで好きじゃない派なので、ハンドジェスチャーがどうしても荒ぶってしまう所とかで自分は使ったりしてる。嘘つきました。わりと基本つけてます。)

ここで割と見落としてしまうのだが、それらを使用している間は口が動かない。なので、元から口が開いているアニメーション以外は、画像の通りのアニメーターの場所からMotth&JawをTrackingにしておく。

画像8

これで表情固定を使ってでも口がしっかり動くようになったので、表情等の設定はこれで終了。小物も怠惰を極めているのでA3Boxに入れる為に新しくアニメーションを作るのではなく、Radial Inventoryを使って設定する。

これでアバターも完成ってわけ

画像9

エピローグ

結果的に(ホンマにギリギリだけど)集会に参加して写真撮れてよかったねって感じでした。結果的には一晩+数時間になってしまいましたしこの衣装も粗は結構ありますけど、それでも頑張ったな……って自分自身を珍しく褒めたたえてました。 間に合ってなかったら膝から崩れ落ちてました。

画像10

まあこん時ちょっとした事情で表情出なかったんですけどね。

何はともあれこれで木曜日の仕事帰り+金曜の数時間を賭けた唐突な閃きとテンションと勢いだけで精製されたチャレンジは終わりを迎えました。

最初に言ってたヒソウテンソクも同時に調整してたせいで結構な時間を費やしてしまったのですけど、まあ形として残った物はここにありますし、自分で作った分愛着も割とすぐに沸いたりしました。アバター改変に関する知識もまた増えましたし。何より案外楽しかったので良かったです。最近の中で大分充実した時間になりました。

今回は清蘭の衣装が割と作るのが簡単な方で救われましたけど、他の少し複雑な衣装を着てる子の格好をしようとしてたら果たしてどうなっていたのやら……。

何はともあれ皆さんも、何か思いついたら一晩で作るチャレンジ、やってみては如何でしょうか。いい経験になりますよ。それでは。













Extra Stage 隔たれし夢幻世界へ -Full Tracking-


―――――――――――なんて事で終わるほど、この世界は甘くない。


上記の通りにイベントに出る事が出来て良かったのですが、最終的な問題は一つだけありました。といっても大半の方にはあまり関係ない事ですので、ここから先は読まずにページを閉じて頂いて構いません。

では、その問題というのは果たして何なのか。それは、この右近ちゃんのアバターがフルトラにそこまで向いていないという事です。

そもそも右近ちゃん自体をこのイベントで初めて使ったので仕方ないのですが、トラッキングをする時に出てくる白い球があるじゃないですか。あれって大体足首とかそれより少しだけ上辺りに出るじゃないですか。右近ちゃんはあろうことかそれが膝辺りに出現してしまうんですよね。

画像11

この状態で適応すると、膝立ちとかした日にはもう変な体勢を取ってしまいます。流石にこれはまずいので何とかしないといけないと思いました。だって、この状態でダンスなんて踊ったら、どうなるか想像したくないでしょう?

という訳で早速Blenderを開きます。Unityにインポートした素体のFBXを開いて、次に肩から指までを編集モードで指定した後、Shift+Dで複製し、Sキーを押した後にXキーで軸を固定して拡大させる……のですが、この右近ちゃんはTポーズでなく斜めに腕を下ろしているので、ここは手動で適当に一瞬動かしてから、左下から拡大の数値をXYZそれぞれ同じ数値を入力して拡大します。今回は1.5にしました。その後は別に必要な作業ではないかもしれませんが、一応形だけでも肩の位置を元の位置に合わせるように移動します。

この時に移動させた数値はもう片腕を動かす時にコピペして使うのでメモっておきましょう。 あとは結局そこまで意味があったのか分かりません(今回はメッシュを消していたから良いけど、基本動かすとそこのメッシュも追従して動くので従来のアバターの見た目が崩れる可能性がある)が、お尻のボーンを少し上に動かします。そうして出来たのがこちら。

画像12

これが出来たらさっさとFBXに出力して、Unityにインポートします。

次にインポートしたFBXファイルをクリックしてHumanoidにした後にRigからコンフィグを開きます。複製したボーンが001の名称がついたまま入っているはずなので、それを肩から指先まで全て変えます。

画像13

ShoulderからWristまでを差し替えた後に手の項目を開くと、左みてえになんかちょっと一瞬怖くなる感じになってますけど、右の通りこれらもすべて対応する001に差し替えます。

画像14

その後に画面を見ると見事にTポーズ取れねえよアホって言われるので、一番下の欄にあるPoseからResetを押した後にEnforce T-Poseを押すと完璧な状態になります。これで後はApplyを押して閉じます。

次。非常に面倒ですがこの調整したFBXファイルをHierarchyに入れて既存のアバターを複製し、そこから本体のボーン以外のオブジェクトとボーンを全て移動させます。いちいちまた設定しなおすのも面倒なのでこれがたぶん頭使わない方法です。ちなみにダイナミックボーンとかの指定しているRootは多分ダメになってるのでそこだけしっかり変えておきます。あと本体についてる髪とかに関してもダイナミックボーンが消えてると思うので、それもなんか頑張って復元します。多分そういうアセットどっかにあります。VRC Avatar DescriptorとかAnimatorとかはコピペするだけで終わり。

最後。本体の肩から指先までのボーンを指定して、Rotation Constraintを追加してから、In Activeにチェックを入れて、Sourceの+ボタンを一回押して、一つだけ枠を作ります。

画像15

そうしたら後はそれぞれ一個ずつ指定して、Left ShouderにLeft Shouder001、Left armにLeft arm001、って感じで001族をSourceに該当するものを入れていきましょう。

これで完成です。実際にVRCを起動して見てみると、白い球が見事に移動してくれていました。これで過剰な足の動きとかも無事に抑えることができますね。

画像16


……ええ、気付いた人は一瞬で気付いたかもしれませんが、全く同じボーンの方向をしているのに何故か右手だけひしゃげてます。

Unityでゲームモードにして観察してみたら、本当に怪奇な形をしていました。こんなんじゃ人前に出れへん!

画像17

でまあ正直白い球ももう少しだけ上にあげて足首辺りにしたいなーとも思ったので、上の動作を全部やり直します。 ボーンの拡大を1.5倍でなく1.4倍にしました。それ以外は同じです。ゲームモードで確認します。

画像18

直りました。やったね。


これで今度こそ本当に終了です。実際にこれで問題なかったかと言われると、疲れていてこの後もう一度フルトラの準備をするのが面倒だったのでまだしてません。明日までに特に追記とか無かったら問題なかったと思って下さい。

【追記】手に関してはあまり問題ありませんでしたが、足に関してはむしろ膝を後ろに曲げてようやくアバターの方が90度に曲げる程度でしたので、個人的には若干の不満がありました。そこまで気にしない方には特に関係ないですが、一応ボーンの拡大サイズを1.2にして、Hipボーンをすこーーーーーーーーーーーーーしだけ下げると(上の画像みたいな状態だったらね!!!初期の状態だったら下げたらアカン)良いかもしれません。1.3では何も変わらなかったので。

まあ試してないので1.2でも変わってない可能性もありますけどね。


あとがき(そう書くことは特にない)

さて、これで今度こそ終了です。

改めて、もう一度言いますが、皆さんも一晩で○○チャレンジ、如何でしょうか。ジェバンニの気分になれますし、何より楽しいですよ。

では今度こそこの記事は終わりです。わざわざここまで読んでくださってありがとうございました。何か「ここ実はこれで楽できるで」なんてのがあったら押して下さるとうれしいです。それでは。

終わり、終わり、終わりー



いいなと思ったら応援しよう!