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

スクリプト言語

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

Handles.DrawSolidRectangleWithOutline

フィードバック

ありがとうございます

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

閉じる

送信に失敗しました

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

閉じる

キャンセル

マニュアルに切り替える
public static function DrawSolidRectangleWithOutline(verts: Vector3[], faceColor: Color, outlineColor: Color): void;
public static void DrawSolidRectangleWithOutline(Vector3[] verts, Color faceColor, Color outlineColor);

パラメーター

verts 矩形で使用するワールド座標の 4 つの頂点
faceColor 矩形の面の色
outlineColor 矩形のアウトラインの色

説明

3D 空間に太い実線の矩形を描画します。


シーンビューにある太い黒色の実線をもつ矩形

この例を使用するには、以下のスクリプトを Assets/Editor フォルダーに保存します。


        
using UnityEngine;
using UnityEditor;

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

Handles.color = Color.blue; Handles.Label( t.transform.position + Vector3.up * 2, t.transform.position.ToString( ) + "\nRange: " + t.range.ToString( ) );

Handles.BeginGUI( ); GUILayout.BeginArea( new Rect( Screen.width - 100, Screen.height - 80, 90, 50 ) );

if( GUILayout.Button( "Reset Range" ) ) t.range = 5;

GUILayout.EndArea( ); Handles.EndGUI( );

Vector3 pos = t.transform.position;

Vector3[] verts = new Vector3[] { new Vector3(pos.x - t.range,pos.y,pos.z-t.range), new Vector3(pos.x-t.range,pos.y,pos.z + t.range), new Vector3(pos.x+t.range,pos.y,pos.z + t.range), new Vector3(pos.x+t.range,pos.y,pos.z-t.range) };

Handles.DrawSolidRectangleWithOutline( verts, new Color( 1, 1, 1, 0.2f ), new Color( 0, 0, 0, 1 ) ); Handles.color = Color.white;

foreach( Vector3 posCube in verts ) t.range = Handles.ScaleValueHandle( t.range, posCube, Quaternion.identity, 1, Handles.CubeCap, 1 ); } }

このスクリプトを実線の矩形を表示したいオブジェクトに置きます。


        
using UnityEngine;

[ExecuteInEditMode] public class DrawSolidRect : MonoBehaviour { public float range = 5; }