こんにちは!ラブヘイトです
アベンジャーズエンドゲームを見て、どうしてもDrストレンジの魔法使いたくて急遽作りました
今回はどんなことをしたかは早足で紹介
詳細なことは別記事に書いていきます。ではいこう!
難しそうだと思いますが、ワープホールを作るだけなら簡単です
◆円を作成
最初に円を作成します
なぜかProBilderで作成した図形にはマテリアルが2つ適用できなかったので、デフォルト3Dオブジェクトで作成できるCylinderを使います
薄っぺらくしたいのでScaleYを0.01に
マテリアルを複数適用する際はあらかじめ数を決めておかなければいけません
ここに設定するマテリアルは後ほど説明
あとはコライダーをBox Colliderに変更しておきます
◆カメラの映像を円に映し出す
1,先ほど作成した円の子にサブカメラを設置
2,Project > Create > Render Textureを作成
3,サブカメラのTarget Textureに2のTextureを設定します
ワープホールなので今回はこの流れで二つ作ります
◆マテリアルを作成
Project > create >Materialで新規マテリアルを作成
ShaderをUnlit > Textureに変更
先ほど作成したTextureをセットします
このマテリアルを円に適用させると円の中にカメラの映像が映ります
これはどちらでも良いのですが私はワープ先がぼやけて見える演出にしたかったのでマテリアルを2つ適用させました
これで違う場所の風景が映るという機能の完成!
あとはこれを魔法へと寄せていくだけです!
◆パーティクル適用
円形のパーティクルを作成
大事なところはここくらいで、あとはお好みだと思います
パーティクルは少し触れたことがあるのでこちらもぜひ
◆ワープできるようにしてみた
Unityちゃんがワープホールに当たったらワープできるようにしました
コードはこんな感じ
かなりシンプルになりました
これを2つあるワープホールにアタッチして、targetHollに互いを設定すれば完成です
[SerializeField]の部分はワープホールがどんな方向で置かれるか定かでないため手動調節できるようにしています
Kisoraちゃんも付いて来ちゃいました笑
どうだったでしょうか、手軽に作れて結構いい機能だと思います
今回はできませんでしたがカメラの位置も調節したり、出てくる瞬間だけカットシーン入れたり、ディゾルブで徐々に出現させたりと時間があるときにパワーアップさせたいです!