這個教程我們學習如何實現載具的駕駛
一、准備工作
1 最簡單的載具駕駛需要至少兩個元素,一是需要一個載具,二是需要一個前進的按鈕(這里我們只做前進功能),為了直觀的能感受到載具的移動,我們還得創造一個參照物。
2 根據前面的教程,新建一個project,導入SDK,
3 模型素材(碎石空間.rar)可以在Q群581425491群文件中下載。
4 將碎石空間導入項目(注意取消.cs和.js文件的勾選),將我們將要駕駛的懸浮島嶼和參照物拖入中間的scene窗口中。A作為要駕駛的島嶼,B作為參照物。
5 在右側的屬性面板中將兩個島嶼都放大,A島嶼放大20倍,B島嶼放大50倍
6 將VRCWorld放到A上面去,注意位置。
二、設置載具
1 給載具添加物理碰撞
玩家要站在這個島上就需要它有物理碰撞的屬性,否則玩家會穿過島嶼掉到空中。
所以選中A,右側屬性面板中“Add Component>Physics>Box Collider”,添加一個簡單的box碰撞屬性,使用Edit Collider調節好碰撞的范圍。
2 設置載具為剛體
移動這個島嶼的原理就是給它添加某個方向上的力,所以要給島嶼添加剛體的屬性否則不能受力。右側屬性面板中“Add Component>Physics>Rigidbody”。添加剛體屬性后需要將島嶼Y軸上的受力凍結住,因為剛體會受到重力,我們沒有添加地面,所以島嶼受到重力后就會掉下去,所以我們凍結住Y軸上的受力島嶼就可以浮空了。
三、設置操作按鈕
設置好載具后,我們需要一個按鈕來控制載具的前進,原理是點擊一下按鈕就給島嶼Z軸上一個力推動島嶼向Z方向移動。
1 添加一個按鈕
我們在左側的面板中“右鍵鼠標>3D Object>Cube”創建一個方塊,移動這個方塊使其位於島嶼的上方,我們就把這個方塊作為操作的按鈕。
2 給按鈕添加觸摸事件
右側屬性面板“Add Component>Scripts>VRCSDK2>VRC_Trigger”,添加一個trigger事件。接着在右側的VRC_Trigger屬性中添加一個“OnInteract”
在Actions中添加“Basic Events>AddForce”,接着選中AddForce,給這個Action添加一個接收的目標(Receivers),很明顯,現在只有添加了剛體屬性的島嶼能接收這個力。
最后根據實際情況,設置下力度,這里我們是需要向Z軸施加力。
四、測試
准備就緒,按之前說的方法測試一下吧,進游戲里觸摸一下方塊就可以了。需要注意的是因為沒有空氣阻力所以施加一個力后小島會勻速向Z方向一直移動不會停下來的。如果要設置阻力的話可以設置小島Rigidbody中的Drag屬性。快去試試看吧。
更多的官方示例可以在VRCSDK>Examples>Scenes里找到
歡迎加入VRChat交流Q群:
581425491