關於Unity5.5中自帶搖桿與車輪碰撞器的使用
在創建好項目目錄的基礎上
導入一個第三方的資源包,在Project面板裏面
右鍵---->Import Package---->Custom Package---->easy_touch.unitypackage
導入完成後,會發現菜單欄多了一個Hedgehog Team
Hedgehog Team---->Easy Touch---->Add Easy Touch for C#
在Hierarchy面板裏面
右鍵---->創建一個空節點joystick---->給節點添加組件Easy Joystick---->Game視圖出現搖桿
寫一個腳本來打印出搖桿的動態選定坐標,腳本叫test_joystick,掛載在joystick節點下,JoystickTouch (x, y) [-1, 1]
腳本內容:
using UnityEngine; using System.Collections; public class test_joystick : MonoBehaviour { EasyJoystick joystick; // Use this for initialization void Start () { this.joystick = this.GetComponent<EasyJoystick>(); } // Update is called once per frame voidUpdate () { Debug.Log(this.joystick.JoystickTouch.x + ":" + this.joystick.JoystickTouch.y); } }
導入賽車資源F1文件夾和籃球場plane貼圖到Resources目錄下
創建一個game_root節點,把F1---->F1賽車模型預制體拖進game_root,當作它的子節點
創建一個plane平面節點當做game_root的子節點,把籃球場貼紙拖進Scene視圖中的plane,就會自動幫我們生成一個材質球並關聯到節點上,3D節點都要材質才能顯示內容,2D節點只要圖片就可以了。
材質plane的shader設置為Mobile Diffuse
節點F1的子節點如果沒有自動關聯好材質球的話,需要手動拖材質球關聯它的子節點
把相同名稱的材質球拖進子節點的Mesh Renderer的Element中,有多少個Element就拖幾次
把F1節點還原為普通節點GameObject---->Break Prefab Instance
為了讓賽車能夠運動起來,首先要給它一個剛體組件Rigidbody,設置質量Mass為50
為了發生碰撞,我們還需要給賽車添加碰撞器組件Box Collider,設置大小Size為X=2.5,Y=0.5,Z=8,調整它的位置Center的Y=0.5
在F1節點下面創建一個空節點phy_wheel,在phy_wheel下面再創建一個輪子節點FL
給FL添加車輪碰撞器Wheel Collider,設置車輪質量Mass為2,彈力Spring為90,阻力Damper設置為45,其他的車輪參數為
1: 添加賽車車體碰撞器;
2: 添加4個車輪碰撞器;
3: 配置車輪參數:
mass: 質量
radis半徑
Wheel Dramping Rate 車輪旋轉阻尼
Suspension Distance 懸掛高度,就是車輪上下顛簸的上下幅度距離;
Force App Point Distance 懸掛力應用點;
Center 車輪碰撞器中心點,
Suspension Spring 懸掛彈簧:
sprint 彈力 Damper 懸浮速度阻尼
TargetPoint 懸掛中心
向前摩擦與側向摩擦
Extermum Slip 先前摩擦曲線滑動值
Extermum Point 先前摩擦曲線極值點;
Asymptote Slip 向前漸進線滑動值;
Asymptote Point 前向曲線漸近線點;
stiffness 剛度 控制向前摩擦曲線的倍數;
配置好一個輪子後,再復制三個輪子出來,一個四個輪子FL,FR,BL,BR,然後把輪子節點移動到對應的模型中的四個輪子的位置。
創建一個腳本car掛載在F1節點下面來控制車輪隨著搖桿的移動而運動
car腳本內容:
關於Unity5.5中自帶搖桿與車輪碰撞器的使用