unity仿真应用技巧:物体移动、旋转(方式2)

 时间:2024-10-12 03:52:01

1、场景搭建,导入一个滑梯模型(或是用三个Plane自己搭建一个滑梯),新建一个Cylinder圆柱体,用作控制的对象

unity仿真应用技巧:物体移动、旋转(方式2)

2、实现圆柱体position的移动:声明:public Tran衡痕贤伎sform Cyl;//圆柱体;在控制物体移动、旋转时,将物体声明成Tra荏鱿胫协nsform变量将会有很多便利Vector3 Vect0 = new Vector3(2.97f, 0.84f, -0.129f);//圆柱体的初始位置Vector3 Vect1 = new Vector3(2.72f, 0.84f, -0.129f);//圆柱体要到达的位置在Update函数中添加脚本:if (Cyl.position.x > 2.72f)//平移 { Cyl.position = Vector3.MoveTowards(Cyl.position, Vect1, Time.deltaTime * 0.2f); }

unity仿真应用技巧:物体移动、旋转(方式2)

3、此处脚本的重点为:Vector3.MoveTowards(Cyl.position, Vect1, Time.deltaTime * 0.2f);Vector3.MoveTowards(,,)函数的第一个参量为物体当前位置坐标,第二个参量为物体要到达的位置坐标,第三个参量控制物体的移动速度和移动方向.在本例中,作者是控制物体是水平移动,读者可自行实验物体的垂直和前后运动

4、实现圆柱的旋转:为了圆柱体在沿着滑梯向下滑动的效果尽量真实,圆疳绣檩倪柱体需进行一定角度的旋转倾斜,保证下滑时的倾斜角度与滑梯一致.声明:Quaternion Quat1; Quat1 = Quaternion.identity; Quat1.eulerAngles = new Vector3(-63, -95, 90);脚本:if (Cyl.position.x > 2.72f)//平移 { Cyl.position = Vector3.MoveTowards(Cyl.position, Vect1, Time.deltaTime * 0.2f); } else { if (Cyl.position.y <= 0.84f && Cyl.position.y > 0.45f)//下滑 { Cyl.rotation = Quaternion.RotateTowards(Cyl.rotation, Quat1, 10f); Cyl.position = Vector3.MoveTowards(Cyl.position, Vect2, Time.deltaTime * 0.5f); }

unity仿真应用技巧:物体移动、旋转(方式2)unity仿真应用技巧:物体移动、旋转(方式2)unity仿真应用技巧:物体移动、旋转(方式2)
  • VS如何新建项目
  • 如何将C 函数转换成python
  • 春运乘坐高铁动车能吃泡面 充电 开水 注意事项
  • 什么是在多元文化社会中帮助同化的最佳方式
  • 编写C语言程序打印“水仙花数”
  • 热门搜索
    红糖是怎么做出来的 个人简介怎么写范文 健康生活 accordion怎么读 小乌龟的生活习性 华为手机如何 tt是什么意思 如何养鱼 生活的艺术 如何写好英语作文