在创建好项目目录的基础上
导入一个第三方的资源包,在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 void Update () { 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脚本内容: