【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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM