Unity3D学习笔记(3)添加刚体组件并实现移动

Unity3D学习笔记(3)添加刚体组件并实现移动

前言

unity 3d刚体组件(Rigidbody)和添加力到对象使对象移动

一、Rigidbody是什么?

通常把在外力作用下,物体的形状和大小(尺寸)保持不变,而且内部各部分相对位置保持恒定(没有形变)的理想物理模型称为刚体。刚体是物理引擎中最基本的组件。在物理学中,刚体是一个理想模型。

Unity 3D 中的 Rigidbody(刚体)可以为游戏对象赋予物理属性,使游戏对象在物理系统的控制下接受推力与扭力,从而实现现实世界中的运动效果。

在游戏制作过程中,只有为游戏对象添加了刚体组件,才能使其受到重力影响。

在一个物理引擎中,刚体是非常重要的组件,通过刚体组件可以给物体添加一些常见的物理属性,如质量、摩擦力、碰撞参数等。

二、使用步骤

1.添加刚体组件

若游戏对象是一个小球,把小球对象命名为player,点击小球,在检查器面板最下方点击添加组件,然后选择物理,再选择刚体即可。

2.脚本中获取对象的刚体组件

为player对象创建一个脚本,这里命名为player.cs,打开编辑器,在代码中输入以下代码:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;public class Test : MonoBehaviour

{public Rigidbody rd;//创建一个刚体对象// Start is called before the first frame updatevoid Start(){rd = GetComponent();//获取刚体组件}// Update is called once per framevoid Update(){}

}

3.给刚体组件施加力(实现小球滚动)

添加代码如下:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;public class Test : MonoBehaviour

{public Rigidbody rd;//创建一个刚体对象// Start is called before the first frame updatevoid Start(){rd = GetComponent();//获取刚体组件}// Update is called once per framevoid Update(){float h = Input.GetAxis("Horizontal");//A、D/左、右方向键float v = Input.GetAxis("Vertical");//W、S/前、后方向键//获取到的float初始是0,在有按键按下时,会递增/递减(取值范围是-1~1),可以模拟一个缓冲加速的过程rd.AddForce(new Vector3(h, 0, v));//vector3是矢量,模拟的是物理上的力}

}

现在就可以通过WASD和方向按键选择方向,并通过AddForce方法给对象添加一个矢量的力来推动小球滚动。

注意: 在游戏中,在游戏帧率较低的情况下,可以把上述Update方法中的代码写在FixedUpdate方法中,这样更稳定。

4.修改按键(轴线)

上述代码中Horizontal和Vertical分别代表水平轴线和垂直轴线,这在unity项目中是可以更改的,具体位置在编辑——项目设置——输入管理器中,如下:

在里面还可以修改按键、灵敏度等,或者添加自定义的轴线。

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

🌈 相关推荐

更改文本框或形状中的颜色
365bet注册指南

更改文本框或形状中的颜色

📅 08-07 👁️ 5217
荷兰世界杯悲剧:无冕之王为何总差一口气?
best365彩票

荷兰世界杯悲剧:无冕之王为何总差一口气?

📅 08-10 👁️ 2809