美文网首页
AddForceAtPosition方法:增加刚体点作用力

AddForceAtPosition方法:增加刚体点作用力

作者: 困卡 | 来源:发表于2017-05-13 17:09 被阅读0次

基本语法 :

public void AddForceAtPosition(Vector3 force,Vector3 position);
public void AddForceAtPosition(Vector3 force,Vector3 position,ForceMode mode);

其中参数force为扭矩向量,参数position为作用点坐标值,参数mode为力的作用方式。

功能说明:此方法用于为参数position增加一个力force,其参考坐标系为世界坐标系,作用方式为mode,默认值为ForceMode.Force。此方法与方法AddForce不同,AddForce方法对刚体的施加力时,不会产生扭矩使物体发生旋转,而AddForceAtPosition方法是在某个坐标点对刚体施加力,这样很可能会产生扭矩使刚体产生旋转,具体如下:
1、当力的作用点在刚体重心时,刚体不会发生旋转;
2、当力的作用点不在刚体重心时,由于作用点的扭矩会使刚体发旋转,但是,当作用力的方向经过刚体 的重心坐标时,不发生旋转。
实例演示:下面通过实例演示方法AddForceAtPosition的使用。

using UnityEngine;
using System.Collections;
public class AtForceAtPosition_ts : MonoBehaviour {
 public Rigidbody A,B,C;
 Vector3 m_force=new Vector3(0.0f,0.0f,10.0f);
 void FixedUpdate()
 {
  //当力的作用点在刚体提重心时,刚体不发生旋转
  A.AddForceAtPosition (m_force, A.transform.position, ForceMode.Force);
  //当力的作用点不在刚体重心时,由于作用点的扭矩会使刚体发生旋转
  B.AddForceAtPosition (m_force, B.transform.position + new Vector3 (0.0f, 0.3f, 0.0f), ForceMode.Force);
  //但是,当力的作用点和刚体重心坐标的差向量与作用力的方向同向时不发生旋转
  C.AddForceAtPosition (m_force, C.transform.position + new Vector3 (0.0f, 0.3f, 0.0f), ForceMode.Force);
  Debug.Log ("A的欧拉角:" + A.transform.eulerAngles);
  Debug.Log ("B的欧拉角:" + B.transform.eulerAngles);
  Debug.Log ("C的欧拉角:" + C.transform.eulerAngles);
  }
 // Use this for initialization
 void Start () {
 
 }
 
 // Update is called once per frame
 void Update () {
 
 }
}

相关文章

  • AddForceAtPosition方法:增加刚体点作用力

    基本语法 : 其中参数force为扭矩向量,参数position为作用点坐标值,参数mode为力的作用方式。 功能...

  • 力场组件、关节以及网格过滤器、渲染器

    一、力场组件Constant Force 力场是一种为刚体快速添加恒定作用力的方法,使用与类似火箭发射的对象,起初...

  • Unity基础 -- 力场组件、关节组件

    一.力场组件 力场是一种为刚体快速添加恒定作用力的方法,使用与类似火箭发射的对象,起初没有很大的速度但是会不断的加...

  • 三维空间的刚体运动

    旋转矩阵 点,向量,坐标系 刚体不光有位置,还有自身的姿态.位置是指刚体在空间中的哪个地方,姿态是指刚体的朝向. ...

  • BulletDemo

    用到知识点:刚体、碰撞器、触发器、射线

  • 刚体

    相关文章 《物理系统概述》《刚体》《碰撞器》 概述 在整个 Unity 物理系统中,最重要概念就是刚体 Rigid...

  • Unity 刚体组件和碰撞器

    一,刚体组件 ADD添加刚体组件 定义 刚体一种组件,可让物理模拟现实物体的运动状态,添加刚体后物体将受重力影响,...

  • ABAQUS中的离散刚体、解析刚体和rigid body约束

    Abaqus刚体建模一共有三种形式:离散刚体(Discrete rigid)、解析刚体(Analytical ri...

  • Unity 2D:玩家角色移动脚本

    本文利用刚体实现玩家的移动,使用刚体移动可以产生与其他刚体碰撞立即停止,防止抖动。 1.给角色创建刚体和碰撞体 选...

  • 刚体(RigidBody)

    使用刚体移动物体 RigidBody.MovePosition(Vector3):使用刚体移动物体的位置使用刚体移...

网友评论

      本文标题:AddForceAtPosition方法:增加刚体点作用力

      本文链接:https://www.haomeiwen.com/subject/vgnxxxtx.html