unity组件介绍

所有物体都是一个空物体,加上一些组件才形成了所需要的GameObject。

这是一个空物体,在Scene场景中没有任何外在表现,因为它只有Transform这个组件,表示它仅仅只有位置,旋转和缩放。

Mesh组件

Mesh Filter

mesh filter定义了物体的网格,也就是形状,此时给空物体加上。

点击Add Component,选择 Mesh-->Mesh Filter,然后在Mesh Filter中选择Cube这个网格,此时Scene窗口中并没有出现,因为还没有渲染。

Mesh Renderer

再加上Mesh Renderer,网格渲染,指定材质后,一个空物体,就变成了一个Cube物体,在Scene窗口中也可见了。

扫描二维码关注公众号,回复: 14572238 查看本文章

渲染组件(Rendering)

光源组件

在Rendering->Light中可以看到一个光源组件,这个就是提供光照的。

给这个空物体GameObject加上Light组件,改变为平行光(Directional)和红光,此时照在物体表面的就是红光了。

Camera(摄像机)

摄像机组件拍摄到的,就是游戏画面。

选中摄像机,执行Align with View,就可以将摄像机放在我们在Scene视角的位置。

Audio组件

Audio Source

这个Audio Source组件就是用来播放音频文件的,它需要一个AudioClip,本质上就是一个MP3文件。

指定好后,打开小喇叭就可以播放音乐了。

物理系统

刚体组件(RigidBody)

physics->rigidbody

刚体组件使一个物体有了质量,重力等。

use gravity 勾选后,物体才会受到重力,会自动下落,取消勾选就不会。

is kinematic 表示运动学刚体,此时物体质量为0,就不会受重力的影响。

碰撞(Collider)

physics--> xxx collider

里面有各种各样形状的碰撞。

is trigger 是否开启触发器模式,常用于碰撞检测。

勾选触发器后,在代码中使用 onTriggerEnter 来检测。

public class SimpleExample : MonoBehaviour
{

    // Start is called before the first frame update
    void Start()
    {
        Application.targetFrameRate = 60;

    }

    // Update is called once per frame
    void Update()
    {
       
    }

    /**
     * 碰撞检测触发器
     * 当和其他物体发生碰撞时,会调用这个方法
     */
    private void OnTriggerEnter(Collider other)
    {
        Debug.Log($"与物体{other.gameObject.name}发生了碰撞。");
    }
}

注意:勾选了isTrigger后,r物体自由落体后,就不会再停在地面上,而是会继续下落。

没勾选isTrigger时,

反弹和摩擦

需要为物体指定物理材质,所以需要先创建一个物理材质。

弹性系数范围: [0,1]

在碰撞组件中设置创建的材质。

猜你喜欢

转载自blog.csdn.net/lw18751836671/article/details/128457952