Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Handles.DrawAAConvexPolygon

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function DrawAAConvexPolygon(params points: Vector3[]): void;
public static void DrawAAConvexPolygon(params Vector3[] points);

パラメーター

points Convex ポリゴンを記述しているポイントのリスト

説明

ポイント配列で指定されたアンチエイリアス Convex ポリゴンを描画します。


シーンビューで描画される矢印

以下の例では、シーンビューの 2 つのオブジェクトの間に矢印を描画するために DrawAAConvexPolygon が使用されています。 この例を使用するには、以下のスクリプトを Assets/Editor フォルダーに保存します。


        
using UnityEngine;
using UnityEditor;

[CustomEditor( typeof( DrawArrow ) )] public class DrawArrowEditor : Editor { void OnSceneGUI( ) { DrawArrow t = target as DrawArrow;

if( t == null || t.From == null || t.To == null ) return;

Vector3[] arrowHead = new Vector3[3]; Vector3[] arrowLine = new Vector3[2]; Vector3 start = t.From.transform.position; Vector3 end = t.To.transform.position;

Vector3 forward = (end - start).normalized; Vector3 right = Vector3.Cross( Vector3.up, forward ).normalized; float size = HandleUtility.GetHandleSize( end ); float width = size * 0.1f; float height = size * 0.3f;

arrowHead[0] = end; arrowHead[1] = end - forward * height + right * width; arrowHead[2] = end - forward * height - right * width;

arrowLine[0] = start; arrowLine[1] = end - forward * height;

Handles.color = Color.red; Handles.DrawAAPolyLine( arrowLine ); Handles.DrawAAConvexPolygon( arrowHead ); } }

以下のスクリプトをシーンのゲームオブジェクトにアタッチします。矢印を描画したいゲームオブジェクトをそれに対応する From と To のインスペクターにドラッグアンドドロップします。


        
using UnityEngine;

[ExecuteInEditMode] public class DrawArrow : MonoBehaviour { public GameObject From, To; }