【Unity】给物品添加力

时间:2019-08-22
本文章向大家介绍【Unity】给物品添加力,主要包括【Unity】给物品添加力使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

给物体添加力

两个方法:

Rigidbody.AddForce(Vector3,ForceMode):给刚体添加一个力,让刚体按世界坐标系进行运动

Rigidbody.AddRelativeForce(Vector3,ForceMode):给刚体添加一个力,让刚体按自身坐标系进行运动

注意:物体运动过程中自身坐标系可能随时发生改变(例如球滚动),这就意味着按自身坐标系运动方向可能会随时发生变化

Vector3:力的向量,ForceMode:力的模式(枚举类)

四种力的模式(Ft=mv):

ForceMode.Force:给物体一个持续的力
ForceMode.Acceleration:给物体一个持续的加速度,但是忽略其质量,质量被默认为1
ForceMode.Impulse:给物体添加一个瞬间的力
ForceMode.VelocityChange:给物体添加一个瞬间的加速度,忽略其质量

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 public class Text1: MonoBehaviour
 5 {
 6     //因为Start()只会在开始游戏时被执行一次,所以一般都用来初始化
 7     private Transform myTransform;      //实例化Transform对象
 8     private Rigidbody myRigidbody;
 9     void Start()
10     {
11         Debug.Log("Start");     //输出调试
12         myTransform = gameObject.GetComponent<Transform>();        //获取相应对象的引用
13         myRigidbody = gameObject.GetComponent<Rigidbody>();
14     }
15     // Update is called once per frame
16     void Update()
17     {
18         if(Input.GetMouseButtonDown(1))
19             myRigidbody.AddForce(new Vector3(0, 0, -3), ForceMode.Impulse);
20         if(Input.GetMouseButton(0))
21             myRigidbody.AddForce(new Vector3(0, 0, -10), ForceMode.Force);      //如果动不了,可能是力量太小,需要调整向量参数
22     }
23 }


————————————————
版权声明:本文为CSDN博主「Jaihk662」的原创文章,遵循CC 4.0 by-sa版权协议,转载附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jaihk662/article/details/86759794

原文地址:https://www.cnblogs.com/HonkerHome/p/11393679.html