蓝鸥Unity开发教程之课时15 刚体

蓝鸥Unity开发教程之课时15 刚体

一、刚体


接着上节,继续来学习刚体,主要的内容就是施加力方面。

我们创建一个Plane地面,首先我们重置一下地面的属性,然后我们修改一下地面的大小,Scale X轴变成10,Scale Z轴变成10.

 

Plane染成绿色,然后我们在创建一个Cube,重置一下,把Cube拉到空中,把Cube染成红色。


然后我们给Cube加一个刚体,然后我们在给Cube加一个脚本Test

 

1、给当前游戏对象施加一个力

效果:运行之后,Cube落下, 然后按数字键——1,给Cube一个10f的力,持续按1Cube会上升!

 

using UnityEngine;
using System.Collections;

public  class   Test  :  MonoBehaviour  {
     private  Rigidbody r;
     void Start(){
        r = GetComponent< Rigidbody> ();
        
    }

     void Update () {
         //按数字键1,添加力
         if( Input.GetKey( KeyCode.Alpha1)){
             //给当前游戏对象施加一个力
            r.AddForce( new  Vector3( 0f, 10f, 0f));


        }
    
    }

 

2、给当前游戏对象添施加力矩/扭矩,扭矩可以是物体旋转

using UnityEngine;
using System.Collections;

public  class   Test  :  MonoBehaviour  {
     private  Rigidbody r;
     void Start(){
        r = GetComponent< Rigidbody> ();
        
    }

     void Update () {
         //按数字键1,添加力
         if( Input.GetKey( KeyCode.Alpha1)){
             //给当前游戏对象施加一个力
//            r.AddForce(new Vector3(0f,20f,0f));

             //给当前游戏对象添施加力矩/扭矩,扭矩可以是物体旋转
            r.AddTorque( new  Vector3( 0f, 20f, 0f));

        }
    
    }

3、给游戏对象在指定的位置上添加一个力

using UnityEngine;
using System.Collections;

public  class   Test  :  MonoBehaviour  {
     private  Rigidbody r;
     void Start(){
        r = GetComponent< Rigidbody> ();
        
    }

     void Update () {
         //按数字键1,添加力
         if( Input.GetKey( KeyCode.Alpha1)){
             //给当前游戏对象施加一个力
//            r.AddForce(new Vector3(0f,20f,0f));

             //给当前游戏对象添施加力矩/扭矩,扭矩可以是物体旋转
//            r.AddTorque(new Vector3(0f,20f,0f));

             //给游戏对象在指定的位置上添加一个力
            r.AddForceAtPosition ( new  Vector3( 0f, 10f, 0f), new  Vector3( 0.5f, 0.5f, 0.5f));




        }
    
    }
}

 

4、在指定位置添加一个爆炸力

using UnityEngine;
using System.Collections;

public  class   Test  :  MonoBehaviour  {
     private  Rigidbody r;
     void Start(){
        r = GetComponent< Rigidbody> ();
        
    }

     void Update () {
        
         if( Input.GetKeyDown( KeyCode.Alpha1)){
             //给当前游戏对象施加一个力
//            r.AddForce(new Vector3(0f,20f,0f));

             //给当前游戏对象添施加力矩/扭矩,扭矩可以是物体旋转
//            r.AddTorque(new Vector3(0f,20f,0f));

             //给游戏对象在指定的位置上添加一个力
//            r.AddForceAtPosition (new Vector3(0f,10f,0f),new Vector3(0.5f,0.5f,0.5f));

             //在指定位置添加一个爆炸力
            r.AddExplosionForce( 1500f, Vector3.zero, 4f);


        }
    
    }
}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值