魔法のペンを使いたい
今日ご紹介する商品はこちら
テクスチャによってルーン文字みたいなものが書けるペン用シェーダをBOOTHに置きましたー!https://t.co/ZYNhI2Rt8x
— こおりみず (@_kori_mizu_) November 28, 2018
紹介動画ではダランディ(@darandy_)さんが作成されているアルファマップを使用しています
無料なので是非一度使ってみてくださいー!#VRChat pic.twitter.com/yDSrrTOqV9
かっこいいです。
ただ、わかる人向けな資料しかないので補足したいと思います。
ダウンロードしてきたUnityPackageの内容はこのようになっています。
Readmeと01~03.pngは説明なので見ておくといいと思います。
導入手順としては以下のようになります。
では進めましょう
入れたいアバターを用意する
今回入れる子に選んだのはキッシュちゃん
かわいいね。
この子の右手の人差し指の先に入れていきたいと思います。
markerを指定するボーンに入れる
01.pngに説明があります
人差し指のボーンをさがすべく
キャラのボーンを開いていきましょう。
Armature⇒Spine⇒Chest⇒Shoulder_R⇒⇒⇒⇒⇒⇒IndexEnd_R
そう、人差し指は「Index」これだけは覚えて帰ってくださいね。
Marker.prefabをIndexEnd_Rにドラッグ
ドラッグした物を展開するとこんな感じに
TrailSourceが薄字になっている(非アクティブ)なのがわかったあなたは
アニメーションオーバーライドの物の出し入れをよく理解していますね!
つまりこのTrailSourceをON、OFFすればいいのねって思った勘の鋭いあなた…
今回はちょっとちがいます
原理的な説明なのでペンを入れたいだけの人は次の赤文字まで飛ばして読んでください。
ちょっと戻ってMarkerを見てみましょう。
Animatorのコンポーネントが付いてますね。
これはここのパーツに登録したControllerの通りに
いいかんじにアニメーションを再生してお願いといういうものです(意訳)
Animatorタブで「EnableTrail」を覗くと
Entry⇒EnableTrailSourceになっていますね。
これはこのAnimatorが起動するとEnableTrailSourceに遷移するという設定です。
EnableTrailSourceとはなんぞや?と思うでしょうから見てみましょう。
TrailSourceをONにして下さいねっていうAnimationでした。
これがどういうことかと言いますと、
キャラクターがワールドに現れました⇒TrailSourceがONになりました
ということをやっているのに過ぎないわけです。
なぜこんなことをするかというと……、
件のTrailSourceを見てみましょう。
PositionのZ軸にご注目!!
-10000です!
このままアクティブのままアップロードしようとしますと
お前のアバターデカすぎ(意訳)
って言われます。
赤!のエラーが出るとアバターがアップロードできないので
エラーをちょろまかすためにアニメーションを利用しています。
Z軸をなぜ-10000にするかというと
このZ軸をアニメーションオーバーライドで0と-10000を切り替えることで
ペンの出し入れを行うからです。
飛ばして来た方おかえりなさいませ。
ペン出しのアニメーションを設定する
というわけでアニメーションオーバーライドの復習です。
わからないひとはこっちを予習してね
文字を出したいAnimationの設定で「Add Property」を押します
Armature⇒Spine⇒Chest⇒Shoulder_R⇒⇒⇒⇒⇒⇒IndexEnd_R⇒Marker⇒TrailPosition⇒TrailSource⇒Transform⇒Position
の右の+を押して追加します。
お疲れ様でした。
Position.zの-10000の設定を2フレーム分0にすれば完成です。
アバターに一番最初に放り込んだAnimationが最初に再生される事を活かすと
出来ているかどうかの確認はUnity上の再生で可能です。
ちゃんと描けてました。
ペン消しのアニメーションを設定する
消したい挙動を入れるアニメーションを選び
Armature⇒Spine⇒Chest⇒Shoulder_R⇒⇒⇒⇒⇒⇒IndexEnd_R⇒Marker⇒TrailPosition⇒TrailSource⇒TrailRenderer⇒Time
の右の+を押して追加します。
長かった……。
この120(見にくい)を0にすれば完了です。
この120は持続時間(秒)の設定で、強制的に0にしてしまうことで
消すことができるようになります。
小技
MarkerのアクティブをON,OFFするAnimationを作り
ペン出しアニメーションを両手で別々に起動することによって
初めて文字が描ける等の切り替えが可能です。
ペン消しアニメーションを使わなければMakerの切り替えで描いた文字は
持続時間が切れるまで消えません。
AlphaPenのマテリアルを覗くといろいろ弄れます
説明はReadmeを見てね。