1、在信息界面我们要将两辆车放在Panel里面,首先规定好位置,然后通过Resources.Load(路径)方式加载到内存,然后通过Instantiate(Gameobject)从内存实例化物体存入局部Gameobject变量。
2、由于panel空间有限,而车辆模型大小又各有不同,因此在实例化之后我们先根据模型的不同而设定好这物体的Scale(大小),来适应这个UI的区域大小。
3、然后获取Panel的位置,将这个panel的位置赋值给这个变量的位置,并将此panel设置为车辆模型的父级,至此模型就显示到了界面UI上。
4、由于车辆受到重力的影响,车辆在UI界面上回下沉下去,因此我们先得到车辆这个物体然后对其子物体进行遍历,只要含有Rigidbody组件的子物体,我们将其设置为不受重力影响。
5、物体可以显示在界面上,但是会有车辆突然飞起的现象,原因是两辆车辆靠的太近,分别受到了各自碰撞器的影响,因此对车辆子物体进行遍历,含有Collider组件的子物体设置其Collider不可用,至此两个车辆都可以平稳的显示在UI界面。
6、我们要为这两个车辆添加鼠标点击事件,鼠标点击不松手然后左右滑动,使车辆因此而旋转的功能,因此,通过Ray 将camera的ScreenPointToRay函数将我们鼠标点击在UI上的点转化为射线,再通过Physics的Raycast函数将Ray所指向的点,输出为RaycastHit类型的变量,这个变量能检测到我们所点击区域的物体或者UI的碰撞器,进而确认我们所点击物体的名字,进而确认是哪一个车辆进行旋转。
7、由于Physics的Raycast输出的类型需要