一狂芋、開發(fā)前準(zhǔn)備:
二、文檔翻譯:
開始項目:
- 創(chuàng)建場景:
- 刪除
Main Camera
對象
- 將
Player
預(yù)設(shè)從Core/Prefabs
路徑拖入場景聚霜。這個預(yù)設(shè)體設(shè)置了主播放器組件和hands 豆励。它還與所有需要的SteamVR相關(guān)的東西掛鉤。
- 現(xiàn)在可以看到場景,同時控制器(指硬件)在場景中被追蹤
- 將
Interactable
組件添加到場景中的任一對象籍茧。這個對象上的其他組件將從玩家手柄中接收消息。(可以查看Samples/Scripts/InteractableExample.cs
中的用法)
- 插件中已經(jīng)包含了一些常用的交互類梯澜,比如
Throwable
寞冯。將這個組件添加到你想讓玩家可以撿起來并可以拋出去的對象上面。
- 如果需要設(shè)置傳送(個人理解是類似于出門或者進(jìn)門或者切換場景)邏輯,只需要將
InteractionSystem/Teleport/Prefabs/Teleporting
預(yù)設(shè)體拖動到場景
8.Teleport/Prefabs
預(yù)設(shè)體用來添加玩家可以傳送到的位置吮龄。(每一個對象對應(yīng)一個傳送點)
9.也可以將TeleportArea
組件添加到場景中的任何對象俭茧。這樣就允許玩家在對撞機(jī)上傳送該物體(沒理解,待驗證
)漓帚∧刚可以在Samples/Scenes
查看相當(dāng)復(fù)雜的對象
示例場景
1.InteractionSystem/Samples/Scenes/Interactions_Example
包括所有主要組件,是熟悉整個系統(tǒng)的最好場景尝抖。場景包含以下元素:
<1> ```Player```預(yù)設(shè)體是整個系統(tǒng)的核心毡们。大多數(shù)其他組件取決于玩家是否出現(xiàn)在場景中。
<2> ```Teleporting```傳送預(yù)置處理系統(tǒng)的所有傳送邏輯昧辽。(具體的直接研究代碼)
<3> ```InteractableExample```對象顯示了一個非常簡單的Interactive衙熔,它顯示了從手接收消息并對其作出反應(yīng)的基本方面。
<4> ```Throwables```對象展示了如何使用交互系統(tǒng)來創(chuàng)建一個稍微復(fù)雜一點的對象搅荞,這個對象實際上可以在游戲中使用红氯。
<5> ```UI & Hints```對象顯示了如何在交互系統(tǒng)中處理提示,以及如何使用它與Unity UI小部件(如按鈕)進(jìn)行交互咕痛。
<6> ```LinearDrive```對象是結(jié)合了一些不同的peice來創(chuàng)建一個可以通過簡單交互控制的動畫對象脖隶。
<7> ```CircularDrive```對象展示了如何以不同的方式約束和映射交互,從而導(dǎo)致更復(fù)雜的運動暇检。
<8> ```Longbow```(重點)是我們用這個系統(tǒng)創(chuàng)建的更復(fù)雜的物體之一,它展示了如何將簡單的peice組合起來創(chuàng)建一個完整的游戲機(jī)制婉称。
交互系統(tǒng)中的基本組件
1. Core:
<1> 交互系統(tǒng)的核心組件主要有 ```Player``` 块仆、 ```Hand``` 、```Interactable``` 王暗,可以用來設(shè)置玩家對象和場景的SteamVR攝像機(jī)悔据。
<2> 交互系統(tǒng)的工作原理是將信息發(fā)送到手與之交互的任何對象。然后這些物體會對信息做出反應(yīng)俗壹,如果需要的話科汗,它們可以附著在手上。
<3> 要使任何對象接收來自手的消息绷雏,只需將可交互組件添加到那個物體头滔。當(dāng)手執(zhí)行懸停檢查時,將考慮此對象涎显。
<4> 插件中已經(jīng)包括了一些常用的交互對象坤检,如```Throwable```或```LinearDrive```。
<5> Player prefact還創(chuàng)建了一個InputModule期吓,允許手模擬鼠標(biāo)事件以輕松的使用Unity UI widgets.
<6> 交互系統(tǒng)還包括一個后備模式早歇,允許典型的第一人稱使用鍵盤和鼠標(biāo)控制相機(jī)。這也允許鼠標(biāo)像玩家的手。當(dāng)團(tuán)隊中不是每個人都可以訪問虛擬現(xiàn)實時箭跳,這種模式特別有用頭戴式耳機(jī)晨另。
2. Player:
<1> ```Player```是一個```Singleton```。場景中只能有一個玩家
<2> 可以在整個項目中被全局訪問谱姓,交互系統(tǒng)的許多方面都假設(shè)播放器對象始終存在于場景中借尿。
<3> 可以跟蹤玩家是處于VR模式還是```2D fallback ```模式
<4> 通過Player類使用訪問器可以讓其他組件以類似的方式工作,而不必知道是否正在使用虛擬現(xiàn)實耳機(jī)或鼠標(biāo)/鍵盤逝段。(我個人理解為調(diào)試模式垛玻,用鼠標(biāo)鍵盤模擬)
<5> 2D fallback 模式主要用來測試非常簡單的交互,只需要一只手和觸發(fā)按鈕奶躯,主要用來調(diào)試帚桩。
<6> 以下是重要的屬性:
* ``` hmdTransforms ``` : 將始終返回當(dāng)前攝像機(jī)組件。包括VR設(shè)備和模擬設(shè)備的攝像機(jī)
* ``` feetPositionGuess ``` : 根據(jù)VR設(shè)備的位置來猜測玩家腳的位置嘹黔,因為實際上不知道玩家腳的位置账嚎,因為不確定玩家是否是站著
* ```bodyDirectionGuess``` : 身體方向的,和上面的屬性相同儡蔓,取決于玩家的站姿
<7> Player類被設(shè)置為在編輯器場景視圖中使用圖標(biāo)來顯示腳和手郭蕉,但是由于Unity的工作方式,這些圖標(biāo)必須位于特定的文件夾中才能工作喂江。這些圖標(biāo)在Core/icons下提供召锈。將它們移到項目資源根目錄下名為“Gizmos”的文件夾中,它們就可以工作了获询。
<8> 2d fallback 模式主要用來測試涨岁,發(fā)布正式版本的時候可以通過以下方式禁用:
* 在編譯之前,取消選中 ```Player對象```上的 ```Allow Toggle To 2D```
* 在項目中的 ```PlayerSetting```腳本中添加預(yù)編譯宏 ```HIDE_DEBUG_UI```吉嚣,在調(diào)試模式下使用 2d fallback 模式梢薪,發(fā)布之后使用的VR設(shè)備模式
3. Hand :
<1> Hand類負(fù)責(zé)交互系統(tǒng)的大部分重?fù)?dān)。
<2> 手會檢查其懸停的對象(可交互對象)尝哆,并根據(jù)當(dāng)前懸停狀態(tài)向它們發(fā)送消息秉撇。
<3> 手一次只能在一個對象上懸停,同時只有一只手可以在一個對象上懸停秋泄。
<4> 物體可以附著在手上琐馆,也可以從手上分離。只有一個對象可以是手的焦點對象印衔,但可以同時將多個對象附加到手上啡捶。
<5> 一旦一個對象從手上分離,那么先前附著到手上的對象(如果它仍然附著)將成為手上焦點對象
<6> 當(dāng)手上沒有東西時奸焙,它將始終顯示控制器瞎暑。
<7> 附加對象可以設(shè)置```AttachmentFlags```彤敛,這些標(biāo)志確定手和對象在附加后的行為。
<8> 根據(jù)情況了赌,手可以被鎖定墨榄,不會懸停在其他物體或任何物體上。
<9> 以下是手和交互對象的消息:
* OnHandHoverBegin:當(dāng)手開始在對象上懸停時發(fā)送
* HandHoverUpdate:發(fā)送手懸停在對象上的每一幀
* OnHandHoverEnd:當(dāng)手停止在對象上懸停時發(fā)送
* OnAttachedToHand:當(dāng)對象附著到手上時發(fā)送
* handatchedupdate:當(dāng)對象附加到手上時發(fā)送每幀
* OnDetactedFromHand:當(dāng)對象與手分離時發(fā)送
* OnHandFocusLost:當(dāng)附加的對象因為其他對象已附加到手而失去焦點時發(fā)送
* OnHandFocusAcquired:當(dāng)一個附加對象獲得焦點時發(fā)送勿她,因為先前的焦點對象已經(jīng)從手上分離
<10> 以下是手向其子對象發(fā)送的消息
* OnHandInitialized:通過將自身與SteamVR跟蹤控制器的設(shè)備ID關(guān)聯(lián)來初始化手時發(fā)送開始在手上懸停
* OnParentHandHoverEnd:當(dāng)手停止在某個對象上懸停時發(fā)送
* OnParentHandHoverBegin :當(dāng)手開始在某物上懸停時發(fā)送
* OnParentHandInputFocusAcquired:當(dāng)游戲窗口獲得輸入焦點時發(fā)送
* OnParentHandInputFocusLost:當(dāng)游戲窗口失去輸入焦點時發(fā)送
<11> 以下成員負(fù)責(zé)連接和分離:
* AttachObject :使用傳入的AttachmentFlags從手附加對象
* DetachObject :從手部分離對象袄秩,并有選擇地將其恢復(fù)到原來的父節(jié)點
* currentAttachedObject :這將返回手上的焦點附著對象(如果有的話)
<12> 其他的功能:
* OtherHand : 這是另一只手在玩家身上。這對于需要與雙手交互的對象(如longbow)非常有用逢并。
* HoverSphereTransform and Radius (沒有找到全部對應(yīng)的 ```Radius```的屬性之剧,可能是包含):可用于自定義手的懸停范圍。
* HoverLayerMask :可以更改此設(shè)置砍聊,使手只懸停在某些層中的對象上背稼。
* HoverUpdateInterval : 根據(jù)游戲的要求,懸停檢查可以或多或少地進(jìn)行玻蝌。
* HoverLock/Unlock:用于使手只懸停在某個對象上蟹肘。傳遞null將使手在懸停鎖定時不會懸停在任何對象上。此技術(shù)用于使手在傳送弧處于活動狀態(tài)時不懸停在對象上俯树。
* GetStandardInteractionButton/Up/Down:用于檢查控制器上觸發(fā)器的狀態(tài)帘腹。這對于也可以與二維回退手一起使用的簡單對象很有用。在2D回退情況下许饿,左鍵單擊充當(dāng)標(biāo)準(zhǔn)交互按鈕阳欲,對象的行為相同。
* GuessCurrentHandType:這使用一些SteamVR函數(shù)來確定哪只手最左邊陋率,哪只手最右邊胸完。
* GetAttachmentTransform:對象可以使用手上的“附件變換”來計算如何捕捉到手。這些只是手對象的命名子對象翘贮。Player預(yù)置包含“Attach_ControllerTip”作為示例。
4. Interactable :
<1> 可交互類更像是一個標(biāo)識符爆惧。它向手標(biāo)識這個對象是可交互的狸页。
<2> 任何具有此組件的對象都將接收來自手的相關(guān)消息。
<3> 僅使用這三個組件扯再,您應(yīng)該能夠創(chuàng)建許多不同的和復(fù)雜的交互式對象芍耘。
<4> 一些常用的交互系統(tǒng)組件展示了系統(tǒng)如何結(jié)合這些基本機(jī)制來創(chuàng)建更復(fù)雜的對象:
5. Throwable :
<1> 這是最基本的交互對象之一。
<2> 當(dāng)一只手懸停在這個物體上并按下交互按鈕(觸發(fā)器)時熄阻,玩家可以撿起它斋竞。
<3> 當(dāng)按下按鈕時,物體會附著在手上并保持在那里秃殉。
<4> 當(dāng)扳機(jī)被釋放時坝初,手上的任何速度都被賦予投擲的物體浸剩。
<5> 這使您可以創(chuàng)建可以拾取和拋出的基本對象。
6. LinearDrive :
<1> 這允許用手在起始位置和結(jié)束位置之間移動對象鳄袍。
<2> 對象的當(dāng)前位置用于設(shè)置LinearMapping绢要。
7. CircularDrive :
<1> 這使得一個物體可以用手做圓周運動。
<2> 對象的當(dāng)前位置用于設(shè)置LinearMapping拗小。
8. LinearMapping :
<1> 這是一個由LinearDrive或CircularDrive設(shè)置的數(shù)字重罪。
<2> 該映射可用于將簡單的手交互映射為更復(fù)雜的行為。
* 這方面的一個例子是Longbow中的字符串哀九,它使用線性映射將弓字符串的拉動映射到長弓回拉動畫剿配。
<3> 其他幾個類使用映射來插值它們的屬性
* LinearAnimation
* LinearAnimator
* LinearBlendShape
* LinearDisplacement
* HapticRack
9. VelocityEstimator :
<1> 這個類對于根據(jù)物體位置的變化來估計物體的速度和加速度很有用。
<2> 在大多數(shù)情況下阅束,如果你從實際控制器獲得速度和加速度呼胚,你會得到更準(zhǔn)確的結(jié)果,但有時這是不可能的围俘,例如當(dāng)使用2D回退手砸讳。
10. IgnoreHovering :
<1> 如果希望在執(zhí)行懸停檢查時手忽略它,可以將其添加到對象或特定碰撞器中界牡。
11. UIElement :
<1> 將這個組件添加到一個現(xiàn)有的UI小部件中可以使手與之交互簿寂。
<2> 這將生成基于手交互的鼠標(biāo)懸停和單擊事件,并通過Unity事件系統(tǒng)發(fā)送它們宿亡,以使用現(xiàn)有的UI小部件常遂。
<3> 此外,它還將生成一個OnHandClick事件挽荠,該事件也將傳遞給單擊元素的手克胳。
<4> 交互系統(tǒng)的另一個重要部分是ItemPackage的概念
12. ItemPackage :
<1> ItemPackage是用于臨時覆蓋手部功能的對象的集合。例如長弓圈匆。當(dāng)長弓附在手上時漠另,它有點接管了手的基本功能。
<2> itemspackages的概念是能夠被提取并放回原來的位置跃赚。
<3> 一旦撿起它們笆搓,它們就一直附著在手上,直到它們被放回原處纬傲。不需要按住按鈕就可以保持與手的連接满败。手仍然像普通的一樣傳遞消息,但是這些對象通常會禁用手的一些基本功能叹括,例如在附加對象時懸停算墨。
* 來自實驗室的項目包的其他例子是氣球工具或Xortex無人機(jī)控制器。這兩個對象在連接時接管手的基本功能汁雷。
<4> 物品包可以是單手或雙手净嘀。
13. ItemPackageSpawner :
<1> 它處理何時生成和放置ItemPackage以及如何附加的邏輯手上的物品一旦產(chǎn)生报咳。
<2> 它還處理顯示項目預(yù)覽或項目提貨時的大綱。
14. ItemPackageReference :
<1> 可以將此組件添加到項以指示它是項包的一部分面粮。
<2> 作為交互系統(tǒng)的核心部分少孝,還有一些其他的helper類。
15. PlaySound :
<1> 它可以接收許多音頻片段熬苍,每次隨機(jī)播放1個
<2> 它還可以隨機(jī)播放剪輯的方式
16. SoundPlayOneShot :
<1> 這個類是專門為只播放一次而不循環(huán)或需要在播放時暫停的聲音
17. Util :
<1> 這是一個充滿了在整個交互系統(tǒng)中使用的小實用程序函數(shù)的類稍走。
18. InteractiableHoverEvents :
<1> 這個類在從手部接收消息時生成UnityEvents。
19. InteractableButtonEvents :
<1> 此類將控制器按鈕輸入轉(zhuǎn)換為UnityEvents柴底。
20. ComplexThrowable :
<1> 這個類使用物理關(guān)節(jié)將對象附加到手上婿脸,而不是簡單的父子關(guān)系。
<2> 這就允許了更多的物理基礎(chǔ)上的相互作用柄驻,一旦它是附加的狐树。
<3> 注:這節(jié)課有點實驗性。因為我們并沒有在實驗室中使用它鸿脓,所以它可能功能不完整抑钟,而且可能有缺陷。
21. DistanceHaptics :
<1> 根據(jù)兩個變換之間的距離觸發(fā)觸覺脈沖野哭。
22. Player (Prefab) :
<1> 這是交互系統(tǒng)的一部分在塔,它結(jié)合了所有的基本部分。
<2> 這個Prefab的安排Palyer和手的方式拨黔,使他們都很容易接近蛔溃。
<3> 它還包含SteamVR和2D fallback系統(tǒng)的所有設(shè)置
<4> 交互系統(tǒng)的大多數(shù)其他組件都依賴于播放器,其中一些組件假定播放器和手是以這種方式設(shè)置的篱蝇。
<5> 一個場景中應(yīng)該只有一個贺待。
23. BlankController (Prefab)
<1> 這是Hand在沒有其他東西附著的情況下使用的。
<2> 虛擬現(xiàn)實的所有部件都是通過虛擬現(xiàn)實的渲染器連接而成的零截。
24. 傳送功能 :
<1> 實驗室的傳送系統(tǒng)支持傳送到特定的傳送點或更一般的傳送區(qū)域麸塞。
<2> 主要的類有```Teleport```,```TeleportPoint```和```TeleportArea```涧衙。
<3> 所有的功能都包含在``` Teleport/Prefabs```中的傳送預(yù)制件中喘垂。這個預(yù)設(shè)包括傳送系統(tǒng)的所有邏輯功能。
<4> 在場景中添加```TeleportPoints```或```TeleportAreas```以添加玩家可以傳送到的地點绍撞。
<5> ```Teleport```類 :
* 這個類處理心靈傳送的大部分邏輯。
* 按下觸摸板時得院,傳送指針顯示傻铣。如果釋放觸摸板時指針指向一個有效點,則玩家將傳送祥绞。
** 在2D回退模式下非洲,您也可以按鍵盤上的“T”鍵來調(diào)出傳送指針
* 當(dāng)玩家傳送時鸭限,會有輕微的暗顯到黑色,然后游戲又會淡入两踏。
* 這個類跟蹤場景中的所有傳送標(biāo)記败京,并根據(jù)傳送指針的狀態(tài)通知它們淡入/淡出。
* 在某些情況下梦染,為地板設(shè)置一個不同于傳送網(wǎng)格的場景的單獨網(wǎng)格是很有用的赡麦。在這些情況下,傳送系統(tǒng)會追蹤到它擊中傳送網(wǎng)的地方帕识,并嘗試將玩家放在地板上泛粹。這樣做的目的是嘗試將場景中的可視地板與玩家游戲區(qū)域中的物理地板相匹配。
* 可能需要調(diào)整的屬性
** tracerLayerMask:這是傳送指針將嘗試命中的所有層
** floorFixupMask:地板所在的層肮疗。
** floorFixupMaximumTraceDistance:嘗試查找地板時要跟蹤的最大距離晶姊。
** ShowPlayAreaMarker:此選項用于切換是否在傳送時顯示玩家游戲區(qū)域的矩形。這有助于引導(dǎo)玩家在他們的物理空間伪货。
** arcDistance:傳送弧應(yīng)該走多遠(yuǎn)们衙。增加這個數(shù)字將允許玩家在場景中進(jìn)一步傳送〖詈簦可能需要為每個場景調(diào)整此值蒙挑。
<6> ```TeleportMarkerBase```類 :
* 這是所有傳送標(biāo)記的基類。
* 它包含Teleport類期望在所有Teleport標(biāo)記中出現(xiàn)的方法巍举。
* 你可以用它作為基類來創(chuàng)建一個新類型的傳送標(biāo)記脆荷。
* 傳送標(biāo)記可以鎖定或解鎖。玩家不能傳送到鎖定的標(biāo)記懊悯。
<7> ```TeleportArea```類 :
* 這是一個由網(wǎng)格組成的傳送區(qū)域。
* 當(dāng)傳送到這些桃焕,玩家將傳送到他們所指的地方(加上地板固定裝置)
* 將此組件添加到具有碰撞器和網(wǎng)格渲染器的任何對象中,以允許玩家在其上傳送师痕。
<8> ```TeleportPoint``` 類 :
* 這是一個傳送點胰坟,玩家可以傳送到泞辐。
* 當(dāng)傳送到這些點上時竞滓,玩家將在點的原點傳送吹缔,而不管他們指向的點在哪里茶没。
* 這些點可以命名為
* 這些點還具有傳送玩家到新場景的能力礁叔。(這不是完全的功能,因為您必須將其連接到場景加載系統(tǒng)涣易。)
<9> ```TeleportArc``` 類 :
* 這將為傳送指針繪制弧線,并對傳送系統(tǒng)進(jìn)行物理跟蹤冶伞。
<10> ```AllowTeleportWhileAttachedToHand``` 類:
* 默認(rèn)情況下徒爹,你不能用一只手來傳送侯繁。將此組件添加到附加對象將繞過該規(guī)則贮竟。
* 這是使用```BlankController```和``` longbow Arrow```對象,以便玩家可以傳送咕别,即使他們是附在手上。
<11> ```IgnoreTeleportTrace``` 類:
* 用對撞機(jī)將其添加到一個物體上,將允許傳送軌跡通過它翔冀。
* 處理這個問題的另一種方法是把這個物體放在一個不同的層上纤子,而這個層是```TeleportArc```不會檢查的泽论。
* ```arrow tip```用來傳送``` longbow Arrow```鹦赎。
<12> ```Teleporting (Prefab)``` :
* 這個預(yù)制體建立了整個傳送系統(tǒng)陪踩。
* 將此拖動到你的場景將使你能夠在游戲中打開傳送指針悉抵。
* 所有的視覺和聲音傳送系統(tǒng)可以改變通過修改這個預(yù)置的屬性肩狂。
<13> ```TeleportPoint (Prefab)``` :
* 將這些添加到場景中以添加玩家可以傳送到的位置。
* 注意:此場景中某些對象的名稱是硬編碼的基跑,如果要更改模型婚温,則需要修改部分代碼。
25. 提示功能 :
<1> 提示系統(tǒng)在控制器上顯示提示媳否。
<2> 提示的設(shè)置方式是栅螟,控制器上的每個按鈕都可以單獨調(diào)用。
<3> 還可以顯示與每個按鈕相關(guān)聯(lián)的文本提示篱竭。
<4> ```ControllerButtonHints```類 :
* 提示是根據(jù)控制器的呈現(xiàn)模型設(shè)置的力图。
* SteamVR提供了從渲染模型組件到按鈕id的映射。這個映射是用于計算控制器的哪個部分對應(yīng)于哪個按鈕掺逼。
* 一旦某個按鈕的提示被激活吃媒,該按鈕將在控制器模型上持續(xù)閃爍,直到提示關(guān)閉。
* 提示只能用于按鈕赘那,也可以與按鈕關(guān)聯(lián)的可選文本提示刑桑。
* 有幾種靜態(tài)方法用于與提示系統(tǒng)交互:
** ShowButtonHint:在指定的手上閃爍指定的按鈕。
** HideButtonHint:停止在指定的手上閃爍指定的按鈕募舟。
** 隱藏按鈕提示:停止閃爍指定手上的所有按鈕祠斧。
** IsButtonMaintactive:檢查指定的按鈕是否在指定的手上閃爍。
** ShowTextHint:顯示一個文本提示拱礁,其中傳遞的字符串與指定手上的指定按鈕關(guān)聯(lián)琢锋。
** HideTextHint:隱藏指定按鈕上指定手的文本提示。
** hidealltextshints:隱藏指定手上當(dāng)前活動的所有文本提示呢灶。
** GetActiveHintText:獲取指定按鈕的活動提示文本吴超。
26. 指示箭頭:
<1> Longbow是使用交互系統(tǒng)創(chuàng)建的復(fù)雜游戲機(jī)制的一個例子。
<2> 這里包含的版本與我們在實驗室里提供的版本完全相同鸯乃,包括所有的模型鲸阻、材料和聲音。
<3> Longbow是使用```ItemPackage```系統(tǒng)構(gòu)建的飒责。它由```LongbowItemPackage```預(yù)制在主手生成 ``` Longbow prefab```赘娄, 另外一只手生成```ArrowHand prefab``` 。
<4> ArrowHand Prefab 是在每次發(fā)射一個新的 ```ArrowHand Prefab ```之后在手上產(chǎn)生的新的箭頭宏蛉。
<5> 所有的弓箭邏輯都出現(xiàn)在以下腳本中:
* Longbow
** 它處理弓如何在有凹痕和無凹痕模式下控制的邏輯
** 它還可以記錄弓弦被拉多遠(yuǎn)
* ArrowHand
** 根據(jù)箭頭的位置和控制器按鈕處理開槽和發(fā)射箭頭
** 處理在需要時在手上生成箭頭
* ArrowheadRotation
** 每次生成新箭頭時隨機(jī)旋轉(zhuǎn)箭頭
* SoundBowClick
** 播放拉弓弦的聲音遣臼。
<6> Longbow文件夾中的其他腳本處理Longbow目標(biāo)的邏輯
* ArcheryTarget
** 這是一個通用射箭目標(biāo)的腳本
** 當(dāng)被箭頭擊中時,它會調(diào)用UnityEvent拾并。
* FireSource // TODO
** 表示可以點燃的對象揍堰。一旦著火,當(dāng)它與另一個火源接觸時嗅义,這個物體就會蔓延開來屏歹。
* ExplosionWobble
** 用來使射箭目標(biāo)擺動。
* Balloon
* BalloonColliders
* BalloonHapticBump
* BalloonSpawner
** 這些腳本處理當(dāng)weeble被箭頭擊中時產(chǎn)生的球的邏輯之碗。
27. Samples:
<1> 有幾個類是專門為在示例場景中顯示一些示例而創(chuàng)建的蝙眶。;
<2> ```ControllerHintsExample```
* 這個類演示如何使用提示系統(tǒng)。
<3> ```InteractableExample```
* 這個類展示了一個非常簡單的例子褪那,它演示了從手部接收和響應(yīng)消息幽纷。