组件 - Component

本文介绍了Unity项目的基本文件夹结构,包括Assets、Library、ProjectSettings等,并详细解释了Inspector视图下的关键组件如MeshFilter、Transform、BoxCollider、MeshRenderer的作用及如何通过脚本组件进行对象操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新建项目默认生成的文件夹
  • Assets里面存放的是项目所需要的所有的资源
  • Libray里面存放的是所需要的库文件
  • ProjectSettings里面存放的是工程设置文件
  • Temp里面存放的临时文件

一个工程里面有多个场景,一个场景中有多个游戏对象,每个游戏对象又有多个游戏组件

Inspector视图下:
1. Mesh Filter 网格过滤器,用来是否显示物体的网格
2. Transform组件,决定物体的位置,旋转和缩放
3. Box Collider盒型碰撞器,用于做碰撞检测
4. Mesh Renderer网格渲染器,可以给物体添加材质,纹理以及渲染的方式

脚本组件
  • 脚本也是一种特殊的组件
    创建脚本,在脚本中设置公共字段作为组件的属性,在脚本中通过方法获取游戏对象和组件
using UnityEngine;
using System.Collections;

// 如果我们的脚本需要挂载到游戏对象身上,就需要继承于MonoBehaviour
public class Test : MonoBehaviour {

    public int age;
    public string name;
    public void Log() {
        Debug.Log(name + age);
    } 

    void Start () {
        // gameObject 表示当前脚本组件所挂载的游戏对象
        // unity中输出到控制台使用print 或者 Debug.Log

        //print("Test 脚本挂载到了" + gameObject.name + "的身上");

        // 每个游戏对象身上,都至少有一个组件,叫做 Transform
        // transform 表示当前游戏对象身上的Transform 组件
        //Debug.Log(transform.position.x);    // 获取游戏对象的X坐标



    }

    void Update () {

    }
}

通过当前的游戏对象的Demo组件调用自身的Test组件:

using UnityEngine;
using System.Collections;

public class Demo : MonoBehaviour {

    // Use this for initialization
    void Start () {
        // GameObject的方法 GetComponent 能够获取当前游对象身上指定的类型的组件对象
        Test t = GetComponent<Test>();  // 获取当前游戏对象的Test组件
        t.age = 24;
        t.name = "老张";
        t.Log();
    }

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

    }
}

这里写图片描述

*AAA游戏对象通过调用自身的Demo组件去调用自身的另一个组件Test;并且修改了属性age && name
老王 18 -> 老张 24*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值