軌道予測線をUIに描画

軌道予測線をUIに描画

Canvasへの描画

 OnPopulateMeshをオーバーライドし、そこでメッシュを作成します。 Positionsへ軌道予測線の座標を代入し、この座標から頂点を決定し、vh.AddUIVertexQuadによって四角いポリゴンを生成します。sizeによって、座標位置を画面サイズ/2ずらし、正しい位置に頂点座標を移動しています。このScriptでは単純に頂点位置を予測線の座標をy軸へずらしただけなので、メッシュの角度によって太さが変わってしまいます。

Script

 このScriptはCanvasへアタッチします。

軌道予測線

 軌道予測線の座標をListに代入し、この座標をワールド座標からスクリーン座標へ変換し、UILineのPositionsへ渡しています。OnPopulateMeshはCanvasが変更されるかGraphicのSet●●Dirtyメソッドが呼ばれない限り呼ばれないようです。そこで、uILine.SetVerticesDirty()でCanvasが更新されるようにしています。

Script

実行結果

参考サイト

Unity – Unityで線を描画したい(109826)|teratail
uGUIで自由なメッシュを表示する(5.3統合版)