unity物体移动三种方式之——AddForceAtPosition(一)
2018-02-08 11:47
603 查看
上次说了物体移动的三种方式中的Transform.Translate,今天我们来说说另外一种方式——AddForceAtPosition()。这种方式是通过给物体目标方向上的一个力,让物体运动,就好比你投篮,给了篮球一个朝向球篮方向的力。
效果如图:
代码如下:
带注释的那一句,就是给小球在hit.transform.position位置上施加一个direction大小的forceMode.Impulse方式的力
函数的官方解释:
其中三个参数:
Vector3 force:力(矢量)
Vector3 position:施加力的位置
ForceMode mode :力的方式
额额,差不多就是这样,对于这里函数的使用,大概就是这样,但是在游戏中如果追求更好的模拟真实场景中的效果,大家还是要多多练习,没有实际练习过,你是想象不出效果来的。
AddForceAtPosition()官方文档链接
效果如图:
代码如下:
if(Input.GetMouseButton(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray, out hit)) { if(hit.collider.name =="Cube") { Vector3 direction = hit.transform.position - obj.transform.position; //发射炮弹 obj.GetComponent<Rigidbody>().AddForceAtPosition(direction, hit.transform.position,ForceMode.Impulse); } } }
带注释的那一句,就是给小球在hit.transform.position位置上施加一个direction大小的forceMode.Impulse方式的力
函数的官方解释:
public void AddForceAtPosition(Vector3 force, Vector3 position, ForceMode mode = ForceMode.Force);
其中三个参数:
Vector3 force:力(矢量)
Vector3 position:施加力的位置
ForceMode mode :力的方式
额额,差不多就是这样,对于这里函数的使用,大概就是这样,但是在游戏中如果追求更好的模拟真实场景中的效果,大家还是要多多练习,没有实际练习过,你是想象不出效果来的。
AddForceAtPosition()官方文档链接
相关文章推荐
- unity物体移动三种方式之——AddForceAtPosition(二)
- unity物体移动三种方式之——Transform.Translate
- Unity中将一个物体移动至另一个物体,(完全重合)停止的三种方法
- unity中结合oculus制作VR场景控制相机的移动的三种方式
- AddForceAtPosition方法:增加刚体点作用力
- unity 物体移动方式的一些笔记
- unity UGUI 移动物体的三种方法
- unity中物体移动的几种方式
- 我的Unity(1)一点一滴 鼠标点击任意位置,物体移动到该位置。
- unity 头盔跟随一个物体移动(类似用HTC做过山车效果)
- Unity截图的三种方式
- 在ASP.NET MVC中使用Unity进行依赖注入的三种方式
- Unity脚本,平滑跟随目标物体移动和旋转
- 一个简单的小程序演示Unity的三种依赖注入方式
- unity 鼠标拖动三维物体移动
- unity3d 物体多种移动方式
- [unity基础教程]在Unity3D中动态创建对象和创建Prefab原型对象的三种方式
- Unity简单利用屏幕坐标转换实现鼠标控制物体移动
- Unity中遍历一个物体的子物体的三种方法
- C#——实现物体的移动(unity)