Akitk-Labo

Unity、3DCG、プログラムなど好きなことのメモ書き

レーザー光線を作る【Unity】

今回はレーザー光線の作り方を説明します。
Unityではアセットを使わなくてもレーザーっぽい表現が可能です。

f:id:aki_tk:20160101222841j:plain

 準備するもの

レーザーを表現するテクスチャ

f:id:aki_tk:20160101220700p:plain

「右クリック>名前を付けて画像を保存」などでDLして下さい。

マテリアルの設定

マテリアルを作成してシェーダーを Particles/Additive に設定。

f:id:aki_tk:20160101231622j:plain

Particle Texture にDLしたテクスチャを指定します。

f:id:aki_tk:20160101232619j:plain

レーザーを作る

レーザーの表現にはLine Rendererを使います。
空のゲームオブジェクトを作成しLine Rendererを追加。
メニューバー > Component > Effects > Line Renderer

f:id:aki_tk:20160101230957j:plain

 

次にLine RendererのMaterialsに作ったマテリアルを指定します。この時点でレーザーが見えるようになりますが自由に動かせません。自由に動かすにはUse World Space のチェックを外して下さい。

f:id:aki_tk:20160101235823j:plain

こんな感じに見えてればOKです。

f:id:aki_tk:20160102000504j:plain

 レーザーを伸ばす

Line RendererのPositionsを変更することでレーザーを伸ばすことができます。Element 0 がレーザーの始点、Element 1 がレーザーの終点になります。とりあえずまっすぐ伸ばしたいだけならElement 1 のZを増やすだけでOKです。
また、線幅はStartWithとEndWidthで変更できます。

f:id:aki_tk:20160102191534j:plain

 Positionsのサイズを変えるとレーザーを自由に曲げたりできます。

f:id:aki_tk:20160102192651j:plain

 参考

docs.unity3d.com