【VRChat】VRoidをUnityだけでVRChatに持っていく
ついこの間にpixivからVroidというツールが公開されましたね(しかも無料)
たくさん遊んでました

・・作るとやっぱりVRChatに入れて動かしたくなる欲がむくむく湧いてきますよね?
なのでどうにかVRChatに入れられないか調べてみました!
ポリゴン数が多い
Vroidで髪の毛書きたくるとVRChatのアップロード制限である2万ポリゴンは余裕で超えます。
そこに神の啓示
VRoidStudioでの髪の毛のポリゴン数は「滑らかさ」と「断面形状」でコントロールすることができます。VRChat等2万ポリ以内に収めないといけない場合、体は約1.4万ポリほどなので6千ポリぐらいに収まるように調整すると良いです。 #VRoid pic.twitter.com/Eb3eQRqPja
— まじかる☆しげぽん@VRoid (@m_sigepon) 2018年8月6日
?!?!?!マジか!!!!
ということで言われた通り滑らかさを減らしつつ、本数もへらし、(太さでカバー)テクスチャパラメータの横幅もちっさくして見た目をできるだけそのままにしました。

まあこれくらいなら見た目オッケーでしょ
これだけでVRC2万の壁は乗り越えました。

Unityに入れたい
現在(2018/8/7)VRoidはVRM形式のみエクスポートできます。
VRM形式をUnityにインポートする順序は
- 事前に”UniVRM”アセットをインポートする
- UniVRMアセットがあるプロジェクトに、VRoidからエクスポートしたvrmファイルをD&D
- NomalMapSettingsはFixNowで
- 入った!
でもつんつるてん・・・

一緒に入ってるUMARendererのマテリアルのNomalをNoneにしたらつんつるてんじゃなくなりました。

リボン消すとかもテクスチャを透明にしたりして魔改造してます・・・
VRChatにアップロードする!
VRCのアップロード方法は省略します
(参考に)『VRChat』で自作アバターを使うには? 導入方法まとめ | Mogura VR - 国内外のVR/AR/MR最新情報
さあアップロード!とここで問題が

???UPPERCHESTをどうにかしろといってるけどモデルの階層深すぎて何が何だか・・・
と思ったら
#VRoid とかで吐き出したVRMをVRChat用に直で持っていこうとするとUpperChestがHumanoidRigに設定されてて上手くいかないのを回避する UniVRM用のハックhttps://t.co/ZedzbyDx9C
— Furia (@flammpfeil) August 3, 2018
はぇ
正にこれで悩んでいたのでやってみたところ、治りました。圧倒的感謝
これで赤いビックリマークはありません。GO!!

やtt(髪の色が・・・いっか。)やったーーー!!
服のテクスチャも色変えたりしてきゃわいくピンクにしてみました。
以上です。
【Unity】ShaderGraph導入
Unity2018からノードベースでShaderが作れる機能が標準搭載されるようになってます!
とりあえず導入から、スクリプトで動かすまで
(使用したバージョン:Unity2018.1.5)
既に導入の解説は下記のすばらしくわかりやすい方がいるのですが、
自分の整理のためにも超簡易的に書き出したいと思います。
目次
プロジェクトを作る
TemplateをLight Weight RP(Preview)に変える必要があります。
最初からいい感じのサンプルが出現します。すごーい!

デフォルト(Template : 3D)のまま作っても後で変更できます(4.初期設定参照)
Packageインストール
Window -> Package Manager を選択

Shader Graphをインストール

終わり!
開いてみる
Projectタブの中で右クリック→Create→Shader→PBR Graph を選択

虹色のSって書かれたアイコンが出てきます

ダブルクリックすると編集画面になります

これで思う存分遊べますね('ω')ノ
初期設定(ピンクになったら)
私のように雑にShader Graph導入しようとすると発狂案件になります
ピンク~~!!!
最初のTemplateで設定してなかったらこうなるっぽいっす
こちらの方が解消法をわかりやすく紹介しています。(とても助かりました)
遊んでみる
最初に紹介した記事の力でテクスチャブレンドまでできるようになります。
取り敢えず私は円を作ってみます
下記の記事を参考に、見様見真似でアンチエイリアスな円を作る
合ってるかわからないけれど、Shaderわかってない勢にしては頑張ったと思いたい

番外編:ScriptからPropertyにアクセスする
最初の記事を参考にPropertyを設定
今回は円の大きさ(radius),中心座標(position),色(Color)を設定してみました
Propertyの真名を知る
Shaderの詳細でも、Materialの右上歯車からも知ることが出来ます
Properties の左側が本当のお名前です

コードを書く
動く
ちゃんとみょんみょん動きました!

以上です