前回はLineRendererベースでライトセーバーを作って見ました. このライトセーバーの問題点は次の2つです.
- 受太刀ができない点
- 光刃が平たくなってしまう点
- 刀身が伸びない
- 音が出ない
これらの問題はライトセーバーの光刃をLineRendererで実装しているために発生したものです.Lv02では光刃をColliderつきの円柱として作成することでこれらの問題を解決しました.ライトセーバーLv02が次の動画です.
右手で持っているのがColliderつきのライトセーバーLv02です.左手で持っているのが,Lv01のものに音をつけたLv01.5のものになります.
メッシュ
まず光刃を改良する前に,ライトセーバー本体の見た目を改良してしまいます(さすがにただの円柱では寂しい).
今回はNow-SiDE Studiosさんのライトセーバーをお借りしました.

生のモデルのUVマップが綺麗じゃなかったので,この辺りを編集してUnityに取り込みました.この時,Blender側でライトセーバー本体と光刃は別のオブジェクトとしてエクスポートしておきます.
光刃
光刃のオブジェクトの原点が根本になるように設定しました.今回はBlender側でそうなるようにモデリングしています.光刃のオブジェクトのz軸方向のlocalScaleを変更することで刀身の長さを変えることができます.この刀身を伸ばす機能にはiTweenを利用しました.
起動音
ライトセーバーの音はこちらの物をお借りしました.
OculusTouchの人差し指のボタンを押した/離した時にTurn On/Turn Offのサウンドが鳴ります.
スクリプト
課題
Lv02になって,誰が見てもライトセーバーだと言える物になったと思います.ここからはライトセーバーがどんな武器かを見直していく必要があります.
受太刀について
そもそもライトセーバーが受太刀できるのはライトセーバーだけです.ビーム光線は跳ね返しますし,他のものは溶断しています.ってことは実体剣で突かれたら防御できないのでは?
接触時のエフェクトについて
受太刀の話と絡みますが,接触した相手によって挙動が変わってきます.
- ライトセーバー: 黄色いスパーク
- ビーム光線: 見つけられず…
- その他: 溶接っぽい火花
スイングのエフェクト
この動画を参考にすれば,軌跡みたいなエフェクトは作れそうです.音に関しては,ブレードの角速度が閾値を超えたら1回鳴らすとかになりそうです.
コメント