Unity Gizmos可視化輔助工具


所有gizmo繪制需要在腳本的OnDrawGizmos或OnDrawGizmosSelected里函數完成。

  OnDrawGizmos在每幀調用。所有在OnDrawGizmos中渲染的gizmos都是可見的。

  OnDrawGizmosSelected僅在腳本附加的物體被選擇時被調用。  

 

  1. Gizmos.DrawLine

  從obj1到obj2之間畫一條綠色的線。

 1 using UnityEngine;
 2 using System.Collections;
 3 public class DrawLineText : MonoBehaviour {
 4 
 5     public GameObject obj1;
 6     public GameObject obj2;
 7     
 8     void OnDrawGizmos()
 9     {
10         Gizmos.color = Color.green;
11         Gizmos.DrawLine( obj1.transform.position , obj2.transform.position );
12     }
13 }

 

 

2.Gizmos.DrawRay

 從obj向上畫一條長度為10的射線

 1 using UnityEngine;
 2 using System.Collections;
 3 public class DrawRayText : MonoBehaviour {
 4 
 5     public GameObject obj;
 6     void OnDrawGizmos()
 7     {
 8         Gizmos.color = Color.gray;
 9         Gizmos.DrawRay(obj.transform.position, Vector3.up * 10);  //10 是長度
10     }
11 }

 

 

3.Gizmos.DrawCube

 在(0,1,0)處畫一個(1,1,1)大小的立方體

 1 using UnityEngine;
 2 using System.Collections;
 3 public class DrawCubeText : MonoBehaviour {
 4 
 5       void OnDrawGizmos()
 6     {
 7         Gizmos.color = Color.red;
 8         Gizmos.DrawCube(Vector3.up , Vector3.one);
 9     }
10 }

 

 

4.Gizmos.DrawIcon

 在(0,0,0)處生成一個名字為002IMgZLzy6Mro7r94Ka2&690.jpg的Icon ,此圖片要放到Assets下的  Gizmos文件夾里才行。

1 using UnityEngine;
2 using System.Collections;
3 public class DrawIconText : MonoBehaviour {
4 
5       void OnDrawGizmos()
6     {
7         Gizmos.DrawIcon(Vector3.zero , "002IMgZLzy6Mro7r94Ka2&690.jpg");
8     }
9 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM