UnityでLensFlare

Standard Asset Effectをインポートすることでサンプルが付いてくるが、ダサい
docs.unity3d.com
Flare50mmが幾分マシだが、なんといってもテクスチャーの解像度が低くてクオリティが....。自分でshaderを書くか

Lightの設定でflareを指定

Flare - Unity マニュアル

自前のshaderを指定する場合はGraphics Settings でカスタムするようだが、VRChatとかだと無理そうなので
そうなった場合、無限遠方にquadのビルボードを立てて視界をジャックしてshaderでrenz flareを作るしかなさそう

まぶしい光の表現 Bloom - Unity+UnrealEngine4+Blog.

unityのアセットを別途落としてきた方が良さそう

assetstore.unity.com

アセットの配布終了している....。

VRChat Animatorまとめ

ワールドでないとイベントが実行できないのでアバターでの使用は制限多め

[VRChat]初学者向けAnimatorの使い方 - Qiita

Unity初心者のためのアニメーションの基礎の基礎 - Qiita

Unity初心者のためのアニメーションの基礎の基礎 (2) - Qiita

アニメーション - Unity マニュアル

エモーションでアイテムの出し入れ
questでマテリアル(shader)の切り替えに使える

VRChat パーティクルまとめ

螺旋

ParticleSystemForceFieldがUnity 2018からの為使えない
www.youtube.com

ので、オブジェクト自体を回転して表現する
hajimete-program.com

炎エフェクトなどのパーティクルでHert Distortionをしたい場合は、shader-StandardParticleでdistorionをONにする

docs.unity3d.com

パーティクルの加算をしたい場合は別途マテリアルを作成する

【Unity】パーティクルを重ねて光らせる加算モードで描画するには?【エフェクト】 | ぺんごや
※ デフォルトパーティクルのテクスチャは使えないので、自前で白の円形グラデーションのテクスチャを用意する

参考

VRChat ポストプロセスまとめ

ハマりどころ、現行Unityのバージョンは2017.4(※そろそろ2018)なので、googleで検索した結果に注意。検索すると、結構過去バージョンのUnityのマニュアルが出てきてハマる。

 https://docs.unity3d.com/ja/2017.4/Manual/ 

特に注意が必要なのが、過去バージョンであったポストプロセス、ImageEffect(Pro用)が無くなってPost Processing Stackに置き換わっていること

 

ImageEffect(Pro用)はUnityのポストエフェクトの検索結果に良く引っかかるので要注意!!

Post Processing StackはUnityで標準で入っていないので、Unityのドキュメントからは無くなっており、Post Effectをしたい場合は、別途、Post Processing Stack v2をパッケージで入れる必要がある。

さらに、このPost Processing Stack v2はパッケージマネージャーからインストールすると動かないので注意が必要。(パッケージマネージャー対応は2018から)

https://vrcworld.wiki.fc2.com/wiki/Post%20Processing%20Stack

それと、パーティクルライブ(自分のアバターに仕込んで、周りのキャラクターにポストプロセスする場合)とかでポストエフェクトを掛けたい場合は、周りのキャラクターのカメラにポストエフェクトを設定することは出来ないので、視界をジャック(巨大なボックス(またはスフィア)で囲ったり、カメラの前に視界を塞ぐビルボードを設置し、Grubpassでキャプチャした内容をスクリーンスペースでshaderの処理することによってポストプロセスする。Post Processing Stack v2が使えないので、自前でpostprocess処理をshaderで書く必要がある。

もちろん、ワールドや、自分のアバターのローカルカメラでポストプロセスする場合はPost Processing Stack v2が使える

オリジナルのポストプロセスをやりたい場合は、Post Processing Stack v2のカスタムポストエフェクトは無効化されるので、視界ジャックして自前でポストプロセスのshaderを書くしかない

 

対象 視界ジャック+grubpass+自前postprocess shader Post Processing Stack v2
自分のアバターのカメラ ○ ※要アバターにカメラ追加
他の人のアバターのカメラ ×
ワールドのカメラ(すべてのアバター)

基本的にbloomで使用する。DOFはメニューまでぼやけるので正直使えない。カメラによる動的なピント合わせも不可。 視界ジャックしてDOFオリジナルshaderを使うのであれば出来る? パーティクルにはモーションブラーを掛けられない。

github.com

を使えば可能?

ポストプロセスは基本的に全体に掛かるが、bloomの場合1つでもemissoionの設定があると、emisson設定のあるオブジェクトだけにbloomが掛かる。逆に言えばVRChat(Foward Rendering)の場合、emissonの設定を反映するにはpostprocessing stackの設定が必要

http://daiki-evilone.hatenablog.com/entry/2017/03/24/133423

HDRはおそらくHigh Dynamic Rangeのことで、暗いところにある光はより眩しく見えるような人間の目の仕組みに近いレンダリング手法です。Unityマニュアルによると、Forward Renderingモードではイメージエフェクトを用いた時のみ効果が発揮され、Deferred Renderingモードではイメージエフェクト無しでも効果が発揮されるようです。

GPUインスタンシング

https://qiita.com/lycoris102/items/6bf631b35d2769b2d475

パーティクルのGPUインスタンシング対応は2018からなので、meshのパーティクルを大量に発生させると重い。

 

参考 

https://www.pixiv.net/fanbox/creator/4868515/post/403501

https://www.gaprot.jp/gaprot-x-chogiken/xr/unity-lookdev-post-processing-stack-v2

 

 

ぽんでろ さんの クレリックちゃん アップロード

https://booth.pm/ja/items/922954

最初期の有料アバターではあるが、非常にアップロードが簡単で特に詰まるところはない。

DynamicBornは非対応なので、必要であれば自分で設定する必要あり

 

※ 注意!! 最新版のUTS2を使うとバグってゴーストみたいになってしまうので、必ず2.0.41を使う

昔は過去バージョンを公式サイトから落とせたような気がしたけど、今は見つからないので、githubの方から落としてくる

https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project/releases

https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project/releases/tag/v.2.0.4.1

 

 

RuiルイさんのアバターRemonをVRChatにアップロードする


利用規約的にはVRChatの利用可となっているが

https://booth.pm/ja/items/1667882

VRChat用のセットアップが全くされていないので、アップロード難度高

とりあえずアップロードするところまでメモ

readmeは入っていないので、boothの説明のみ

用意されているunitypackageはVRChatの現必須Unity Versionと合わないので、使用するとprefabが壊れたままロードされる。修復するのが大変なので使わないでfbxからセットアップする

Remon Bundle\Halloween_ver\FBX\*.fbx

をUnityのProjectyにドラッグアンドドロップする

モデルのタイプをhumanoidに変更する

自動のリグの設定がうまく行ってないので設定で修正を行う

具体的には、UpperLegの指定がおかしいので修正する

またShoulderの設定もあっているのだが、VRChatの仕様でShoulderとNeckの接続先がUpperChest(orChest)が同一でなくてはならないので、胸との接続の為に一枚噛ませてあるBone.003の方を選択する。※でないとbuild時にエラー『spine hierarchy incorrect, make sure that the parent of both shoulders and the neck is the chest.』が発生してビルドできない。

https://steamcommunity.com/app/438100/discussions/1/2595630410184841985/

本来はボーンの修正が必要で、アップロード時に肩周りの挙動がおかしくなる。服がめり込んだり、へんなポリゴンの伸び方をしたり

f:id:IT7C:20191112205208p:plain

原点が腰付近にあるので修正が必要

VRChatのカメラ位置指定は原点が地面にあること前提で作られているため、原点をずらすと、カメラ位置もおかしな位置に設定することになる。

スケールも巨大すぎるので0.3以下に設定する

f:id:IT7C:20191112205541p:plain

 

本来はblender側でscaleを修正し、かつ地面を原点にしておくべき

 

DynamicBornとトゥーンシェーダーは別途設定が必要

LipSyncは入ってないので、自分で作る必要あり?

 

VRMからVRChatに変換出来ればよいが、リグが編集できなくて詰む....。

blenderVRMを読み込んでリグを編集してからVRMに戻す?

これが出来ればトゥーンシェーダーの設定とかしなくて楽

 

 

 

 

むたちゃんねる販売所 キッシュ アップロード

有料販売アバターの祖

なので、prefabのインポートですぐにアップロードとはいかない

VRCHAT SDKとDynamic Bornを先に入れておく

トゥーンシェーダーのインポートは必要ない

 unitypackage方式でもないので、解凍したフォルダ毎ユニティにドラッグアンドドロップする。

https://www.youtube.com/watch?v=I2uzHq7wuCQ

 動画と違って現在はfbxのmodelのタブにMaterialの項目がなく

fbxのmaterialのタブにある

しかも、Locationに『Use External Materials(Legacy)』レガシー指定をする必要がある

そのあと、Naming にFrom model'smaterialを選択してApplyを実行する

M_optionのマテリアル設定でshaderをUnlit/Transparentに設定する