XML DOM 獲取節點值
1239
2025-03-31
LineRenderer線渲染器主要是用于在3D中渲染線段,雖然我們也可以使用GL圖像庫來渲染線段,但是使用LineRenderer我們可以對線段進行更多的操作,例如:設置顏色,寬度等。在這里要注意LineRenderer渲染出的線段的兩個端點是3D世界中的點,即他是屬于世界坐標(World
Point)中的。
LineRenderer是以組件形成存在的,首先我們新建一個空的Game Object,然后我們選擇“Component→Effects→Line Renderer”,,
或者在物體的Add Component按鈕上直接輸入LineReaderer,點擊添加,,,
當然還可以使用腳本添加組件,和獲取組件,和其他組件的添加獲取都是一樣的,,,
this.gameObject.AddComponent
1
2
3
組件屬性面板的介紹:
翻譯自:https://docs.unity3d.com/Manual/class-LineRenderer.html
|Receive Shadows、接收陰影 | 如果啟用,該行會收到陰影。 | |Motion Vectors、運動向量 |選擇用于此Line Renderer的運動矢量類型。請參閱Scripting API參考文檔中的Renderer.motionVectorGenerationMode以了解更多信息。 | |Materials、材質 |這些屬性描述了用于渲染線條的一系列材質。該行將為數組中的每個材質繪制一次。|
1
2
3
|Light Parameters、 光參數 |在此處引用“ 光照貼圖參數”資源以啟用該線與全局照明系統進行交互。 |
|Positions、 位置| 這些屬性描述了要連接的Vector3點的數組。|
|Use World Space 、使用世界空間 |如果啟用,則將這些點視為世界空間坐標,而不是受到此組件附加到的GameObject的轉換。|
|Loop、循環 |啟用此功能以連接線條的第一個和最后一個位置。這形成了一個閉環。|
|Width 寬度 |定義一個寬度值和一條曲線,以控制在開始和結束之間不同點的線條寬度。曲線只在每個頂點被采樣,所以它的精度受限于線上頂點的數量。線的整體寬度由寬度值控制。|
|Color、顏色| 定義一個漸變來控制沿其長度的線的顏色。|
|Corner Vertices 、角頂點 |此屬性規定了在一條線中繪制角點時使用了多少個額外的頂點。增加這個值,使線條的角落顯得圓滑。|
|End Cap Vertices、 端蓋頂點| 這個屬性決定了多少個額外的頂點被用來創建線上的端蓋。增加此值以使線帽顯得更圓。|
|Alignment 、對準 |設置為“ 查看”,使線條面向“相機”或“ 本地”,以根據其“轉換”組件的方向對齊。|
|Texture Mode 、紋理模式| 控制紋理如何應用于線條。使用“ 拉伸”沿著整條線的長度應用“紋理貼圖”,或者使用“ 包裹”使紋理沿著線的長度重復。使用“材質”中的“平鋪”參數來控制重復率。|
|Generate Lighting Data 、生成照明數據 |如果啟用(選中該框),線幾何體將包含法線和切線。這允許它使用使用場景照明的材質,例如通過標準著色器,或使用自定義著色器。|
|Light Probes 、光探針 |基于探頭的照明插值模式。|
|Reflection Probes 、反射探針 |如果啟用并且場景中存在反射探針,則為該線渲染器選擇反射紋理,并將其設置為內置Shader統一變量。|
舉個栗子,,,
簡例1:
類似于見縫插針游戲中的使用:
搭建場景打球旋轉,兩個小球作為打球的子物體跟著旋轉,此時用LineReaderer來模擬他們是連接著的,,給小球添加LineReaderer組件并設置屬性Positions的起始點,使其連接到大球中心,如下圖:
編寫大球旋轉代碼如下:
public class RotateTest : MonoBehaviour { public bool isTrue = true; //是否旋轉 public int speed = 10; //旋轉速度(默認順時針) void Update () { if (isTrue) { this.gameObject.transform.Rotate(new Vector3(0,0,1*Time.deltaTime*speed)); } } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
小球上的控制代碼,,,
public class MyLine : MonoBehaviour { private LineRenderer line; //射線 void Start() { //獲取射線 line = GetComponent
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
運行程序即可看到,大球帶領小球旋轉,,,
簡例2:
鼠標點擊畫線,,,
using UnityEngine; public class MyLineTest : MonoBehaviour { //LineRenderer private LineRenderer lineRenderer; //定義一個Vector3,用來存儲鼠標點擊的位置 private Vector3 position; //用來索引端點 private int index = 0; //端點數 private int Count = 0; void Start() { //添加LineRenderer組件 lineRenderer = gameObject.AddComponent
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
運行結果:
設置畫出線的渲染顏色,,,
//設置畫線顏色,需要改變材質球的模式,,,如下圖: public Material material; //Inspector面板上賦值 void Start(){ lineRenderer.material =material; //設置自己喜歡顏色,, lineRenderer.startColor = Color.green; lineRenderer.endColor = Color.yellow; }
1
2
3
4
5
6
7
8
9
10
unity 渲染
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。