给具有刚体的物体添加力,常使用的方法void Rigidbody.AddForce();有四个重载:void Rigidbody.AddForce(vector3 Force);、void Rigidbody.AddForce(Vector3 Force,ForceMode mode);(其中第一个参数与第一个一样都是需要传入一个向量,第二个参数传入一个力的作用模式)、void Rigidbody.AddForce(float x,float y,float z);、void Rigidbody.AddForce(float x,float y,float z,ForceMode mode)(与前两个基本一样);其中ForceMode有四种形式:ForceMode.Acceleration、ForceMode.Force、ForceMode.Impulse、ForceMode.VelocityChange。

刚体运动速度的计算公式是:f•t=m•v

ForceMode.Force:给物体添加一个持续的力并使用其质量。本次测试采用质量为2

ForceMode.Acceleration::给物体添加一个持续的加速度,但是忽略其质量。即无论设置的质量为多少,都采用默认质量1

ForceMode.Impulse;:给物体添加一个瞬间的力并使用其质量

ForceMode.VelocityChange;:给物体添加一个瞬间的加速度,但是忽略其质量

测试时需要设置的参数,首先时质量设置为2(不为1即可),用来测试是否忽略质量。其次Drag设置为0.1,用来测试是否是持续的。测试代码:

using UnityEngine;
using System.Collections;class B : MonoBehaviour {public Rigidbody m_rigidbody;// Use this for initializationvoid Start () {m_rigidbody = GetComponent<Rigidbody>();}// Update is called once per framevoid FixedUpdate () {if (Input.GetMouseButtonDown(0)){m_rigidbody.AddForce(new Vector3(0, 0, 10),ForceMode.Force);//, ForceMode.Acceleration);}Debug.Log(m_rigidbody.velocity);}
}

通过改变ForceMode即可在控制台上看到velocity的变化。

参考文章:

http://blog.csdn.net/quan2008happy/article/details/39299991

点击打开链接

http://blog.csdn.net/qq_16318981/article/details/50467819

点击打开链接

unity回顾之力的四种ForceMode相关推荐

  1. Unity镜头跟踪的四种方法

    Unity镜头跟踪的四种方法 新手代码 固定相机跟随,这种相机有一个参考对象,它会保持与该参考对象固定的位置,跟随改参考对象发生移动 using UnityEngine; using System.C ...

  2. Unity游戏存档的四种方式

    [转载]http://blog.csdn.net/a237653639/article/details/50076755 游戏存档 在Unity中游戏存档有如下四种方式: PlayerPrefs c# ...

  3. 干货回顾丨TensorFlow四种Cross Entropy算法的实现和应用

    交叉熵介绍 交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小,常见的Loss函数就是均方平方差(Mean Squared Er ...

  4. unity种四种光源

    unity 中的光 unity中一共有四种光源分别为: Directional light: 方向光,类似太阳的日照效果. Point light: 点光源,类似蜡烛. Spotlight: 聚光灯, ...

  5. Unity—AssetBundle的打包及四种加载资源方式

    AssetBundle打包:脚本放在Editor文件夹内 具体代码如下: using UnityEditor; using System.IO;public class CreateAssetBund ...

  6. unity 让ui对齐_Unity中UI锚点的四种摆放形式

    Unity中不同的锚点摆放方式,当你进行父容器的操作的时候产生的效果也不相同,在其中摆放的方式有很多种,再次我列出几个经典的摆放形式: 第一种摆放方式:锚点呈点状:当UI的锚点为中心点时,不管富空间的 ...

  7. Curved UI - VR Ready Solution To Bend Warp Your Canvas 1.7,1.8,2.2,2.3 四种版本压缩包(Unity UGUI曲面插件)

    Curved UI - VR Ready Solution To Bend Warp Your Canvas 1.7,1.8,2.2,2.3 四种版本压缩包(Unity UGUI曲面插件) 可以兼容V ...

  8. unity Canvas,Rect Transform,自动烘焙和手动烘焙,四种光源和两种发光系统

    UGUI Canvas 画布,是用来把UI元素组合在一起的组件,所有UI元素必须是Canvas的子节点:场景中可以有多个Canvas,若没有则会在创建UI元素的时候自动创建Canvas: Sortin ...

  9. 【Unity游戏开发教程】零基础带你从小白到超神16——四种方法控制人物移动之角色控制器

    角色控制器 控制人物移动的四种方式 直接修改组件位置 去资源商城下载角色控制系统成品 unity提供的角色控制器组件 Character Controller API 通过物理系统自己做 拓展 常用的 ...

最新文章

  1. RAID 与 LVM 磁盘阵列技术
  2. JS的Document属性和方法
  3. it has a DefiningQuery and no InsertFunction element exists in the ModificationFunctionMapping e...
  4. 云计算之路-道歉,无地自容的:4月7日14:15~18:35网站故障给大家带来麻烦了
  5. php随机数字总和固定,php 随机生成固定长度整数、各种服务器请求方法
  6. mono for android 使用Tab 控件
  7. YBTOJ:方程的解(组合数学)(插板法)
  8. TableStore发布多元索引功能,打造统一的在线数据平台
  9. 反应堆模式(reactor)
  10. Go bufio.Reader 结构+源码详解
  11. codeforces round div2,3周赛补题计划(从开学到期末)
  12. FTP(持虚拟用户,并且每个虚拟用户可以具有独立的属性配置)
  13. C语言 #和##的用法
  14. tomcat内存溢出,性能优化配置讲解
  15. 微信小程序弹框显示自定义内容(1)
  16. Excel 取消分页符
  17. elementui日历组件实现可标记日历
  18. SQL (十五)更新和删除数据(updata语句,delete语句)
  19. canvas内的字体实现阴影效果
  20. 修复VMware网络连接失败及设置固定IP

热门文章

  1. GPT:Generative Pre-Training
  2. 【JAVA黑马程序员笔记】三P233-P312(List、Set、比较器、泛型、Map、File、IO流...)
  3. c# string 长度
  4. win10安装两个版本 tensorflow
  5. Bullet 布料仿真的底层算法分析
  6. echarts图 示例
  7. Oracle 备份 与 恢复 概述
  8. jQuery的前世今生
  9. Mars3D三维可视化平台
  10. 一文解决数字芯片IC前端校招面试88.8%的知识点