UI界面-车辆模型UI界面展示

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输出的类型需要碰撞器,因此动态给物体添加盒碰撞器,碰撞器的大小与物体模型的大小一致,也是三维坐标的形式。

8、通过Input检测鼠标是否按下或者松开,Input类的GetAxis函数得到鼠标XY轴的移动速度,然后根据物体的旋转函数将其按照世界坐标轴进行旋转。

无图无真相↓图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值