Unityをイラスト作成に使ってみた!!(邪神ちゃんドロップキックイラストコンテスト3)
以前少しだけブログで紹介しましたが、Unityでイラスト作成をしてみました。これは邪神ちゃんドロップキックのイラストコンテスト3のイラストを作成するためにチャレンジしてみたのです!!
最終的に仕上がったのは以下のようなイラストです。
【作成のきっかけ】
邪神ちゃんドロップキックXの1話目の作画がバラバラになってしまう回を何とかイラストに出来ないかと考えていた時に、ちょうどストVのプロリーグをやっていたので、これだ!!と思い立ちました!
「しっとりしちゃったペルセポネ」対「昭和ギャグアニメ風ぺこら」のバトルです。ちなみに、ペルちゃんが1ラウンド先取し、かつ、EXゲージが2まで溜まっているので、既にぺこらは圧倒的不利!!
【イラストタイトル】
応募の時にはタイトル入力欄が無かったので、タイトルは無いのですが、本来は以下のタイトルを考えていました。
「カオス vs. カオス」
【使用したツール】
・Unity 2020.3.2f1
・Blender 2.92.0
・Substance Painter 8.2.0
・CLIP STUDIO PAINT PRO 1.10.6
・Illustrator 27.1.1
【作成の手順】
①ラフ
②背景モデル作成 (Blender)
③Unityへ背景モデルを配置
Substance Painterでモデルのテクスチャを作成したのちに、Unityでマテリアル割り当て
④イラストの作成(CLIP STUDIO PAINT)
ちなみに今回は影もイラストで描いている。
⑤UIの作成(Illustrator)
⑥キャラクターイラストとUIをUnityで配置
⑦Unityでエフェクトの追加
⑧UnityのRecorderを使って、レンダリング映像を毎フレーム画像で保存し、よさげな1枚を選定
【失敗したこと】
Unityで背景モデルの影を付けたのだが、上で貼り付けた画像では、背景モデルの影もぼやけているが、コンテストに応募したときの影はぼやけていなかった。つまり、キャラクターの影はぼやけているが、背景モデルの影はぼやけていないという、不自然なイラストになってしまった。原因は、単純に背景モデルの影をUnity側でぼやけた影にする方法がわからなかったからである。しかし、あとで気づいたのだが、LightコンポーネントのModeをBakedにして、Shadow TypeをSoft Shadowsにすればぼやけさせることができた!つまり、ModeをRealTimeにしていたから、全然ぼやけなかったわけである。
【メリット】
・背景まで描かなくてもいいので楽!
【デメリット】
・エフェクトでUnityのパーティクルシステムを使ったが、これはランダムにエフェクトが生成されるので、いい感じのエフェクトを意図的に生成できない。(うまくやる方法はあるのだろうか?)今回は、UnityのRecorderで数百フレームのスクリーンキャプチャを行い、よさげなエフェクトのイラストを選んだ。
全体通して、全てイラストで描くよりは作業時間はかなり削減できたからよかった!!
アバターを一から作成してみての手順をまとめてみた!!
一つ一つの作業が重かったので、結局全て完成するまで多分500時間くらいかかった気がする(;´Д`)
モデラーの方のすごさを身に染みて感じることができたぁ!!
ちなみに、Virtual Marketに出展するように作ったので、VRChatに関する作業も中に入っています。
【手順】
⓪下絵を描く
①モデルのポリゴン作成 (左右対称ミラーで作ること!!)
・作成手順は以下
頭
体
手
目とまつげ
髪
ケモ耳としっぽ
服
靴と装飾
口の中
②ボーン作成
③ウェイトペイント
④VRChatでアバター動作確認
⑤UV展開
⑥テクスチャ作成
⑦シェイプキー作成
⑧ダイナミックボーン設定(もし付ける場合)
⓽アニメーションオーバーライドで表情を割り当て(VRC Avatar Discripter)
⑩クロス設定(もし付ける場合)
⑪アバターをBOOTHで配布準備
⑫VRM対応(必要ならば)
Virtual Market2022 Summerに田植機を出展しました!
特に作り方は今まで大きく変わらなかったのですが、結構制限がきつかったです。
特に最後まで困ったのは、テクスチャの枚数制限でしょうか。(8枚まで)
ブース全体を作るとテクスチャ8枚はすぐに行ってしまいました。
あと、Quest特有の問題だと思うのですが、いつもは複数のモデルをMeshBakerでモデルもテクスチャもひとまとめにしているのですが、これが使えなかったことが痛かった。。。
よくわからないのですが、MeshBakerで結合したモデルはVR空間で見るとうまく表示してくれませんでした。(確か、色がついてくれなかったような気がします。)
結局、モデルとテクスチャの結合ができなくて、結果、テクスチャ枚数を減らせなくなってしまい、最後まで困ったという感じでした。
あと、地面に水面シェーダーを使ったのですが、これもQuestでは表示してくれませんでした。これは完全にGPUの違いの影響だと思われます。
とにかく、Questワールドは、今までのワールドで出展してきていたので、アップロードまでの手順はスムーズに行きましたが、表示されない問題のところでつまずいた感じでした。おそらく、いきなりQuestワールドで出展したら「全然うまくいかない~!」ってなってイライラしてくる可能性が高いので、やはり初めは通常ワールドで出展したほうが良さそうな気がしました。(だいたい通常ワールドだったらUnityで表示されていた通りにVRChatでも表示される)
冬のVirtual Market2022も出展したかったが、もう締め切り終わっていた。。。
モデルは以下のBOOTHで販売しています。(100円)
https://taroyan3rd.booth.pm/items/4021342
Substanceでローポリモデルにハイポリの凹凸をノーマルマップとしてベークする方法
【手順1】
ハイポリモデルを何かダウンロードしてくる。
今回は、「Sculpture showing “St. Anna” from 18th century」を使用させていただきました。
https://sketchfab.com/3d-models/sculpture-showing-st-anna-from-18th-century-f46414a1d86a42349e6cdb046f892a4e
ダウンロード形式は「obj」を指定
【手順2】
Blenderでハイポリモデルをimportする。 【手順3】
まずは、このハイポリをfbxファイルでexportする。 export設定は自由だが、自分は以下のような感じ。 【手順4】
選択中のハイポリモデルにモディファイア「Decimate」を適応して、ポリゴンを削減する。
Decimateのほうがリメッシュよりも、UVを壊さないから便利らしいです。 Ratioを1.0から0.1とか、小さい数値にすると削減できるので、目標の削減値になったら、「apply」を適応して、ポリゴンを削減する。 【手順5】
ポリゴンを削減したモデルをfbxファイルでExportする。
設定は、ハイポリの時と同じでよい。
ファイル名は「Statue_lowpoly.fbx」などのようにローポリと分かるように書き出しておく。 【手順6】
Substance Painterを立ち上げて、New projectでローポリを開く。
Normal Map FormatはBlenderの場合は、OpenGLにしておく。
【手順7】
TEXTURE SET SETTINGS内にあるMESH MAPSのところにある「Bake Mesh Maps」ボタンをクリックする。 【手順8】
High Difinition Meshesの右側にあるメモのようなアイコンをクリックして、ハイポリのfbxファイルを選択する。
また、Matchのところは、「By Mesh Name」に設定しておく。
そのあと、「Bake selected textures」をクリックするとベーク開始 【手順9】
手順8まで完了すると、MESH MAPSにベークされたテクスチャがセットされる。
よくわからないが、LAYERSで自分でペイントしたテクスチャとは別にデフォルトでセットされるテクスチャとなるようだ。(説明が難しい)
とりあえず、これで凹凸がリアルにつくようなったと思う。(ハイポリの凹凸がノーマルで焼き込まれるので)
【手順10】
あとは、Substance PainterのLAYERSでいつも通りテクスチャをペイントしていけばOK
【手順11】
テクスチャ作成が終わったら、テクスチャを書き出す。
【手順12】
設定は自由だが、Unityの場合は添付画像のように設定してExportボタンをクリック
主な設定箇所
・Output directory 保存フォルダ
・Output templete どの形式で出力するか
・File type pngかjpegかなど
・Size 1024pxで出力するかなど
・Padding 不明(UVの各ポリゴンの境界をどうするかなのか?)