JQM's site

对Unity3D的理解

对Unity3D的理解
2020-03-03 · 3 min read · CC BY-NC-ND 2.5
Unity3D

Q1 什么是游戏引擎?

游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。
游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。引擎分为:客户端引擎和服务器端引擎,提供不同的接口。
在游戏世界中,想要描述一个物体,只需要描绘关于这个物体的全部光信息就可以了,由此来建立一套通用的绘制算法。引擎本身并不包含功能,或者是引擎并不包含任何游戏的逻辑,可以将其理解为一个开发游戏用的基本框架,它包含了一套成熟的、通用的算法,可以避免开发人员从头造轮子。

​ via. wikipedia

Q2 Unity中常用的组件有哪些?举五个以上例子,并阐述刚体组件的作用。

  1. Transform 变换
  2. Camera 相机
  3. Terrain 地形
  4. Canvas 画布
  5. Light 灯光
  6. Mesh 网格

​ **刚体(Rigidbody)的作用:**通过物理模拟控制对象的位置。向对象添加刚体组件将使其运动在Unity物理引擎的控制下。即使不添加任何代码,如果还存在正确的碰撞(Collider)组件,则刚体对象将在重力作用下被拉下,并且会对与传入对象的碰撞做出反应。 via. UnityDocument

Q3 如何通过代码方式创建一个游戏对象,并给它上色,以及改变它的坐标位置?

using UnityEngine;
using System.Collections;

public class TenCube : MonoBehaviour {
    void Start () {
            GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube);
            obj.transform.position = new Vector3(i,0,0);
            obj.GetComponent<MeshRenderer>().material.color = Color.red;
    }
    void Update () {
    }
}

Q4 如何创建Prefab,并阐述其作用。

​ 右键 -> create -> prefab

​ Prefabs(预设)是一种可以被重复使用的资源类型

Q5 物体发生碰撞的必要条件是什么?

​ 两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有刚体组件。

Q6 请谈谈开课以来你对本课程授课方法的想法、意见和建议。

​ 自从改用bilibili直播一来,学习效率有所提升。对于课堂,有如下几点建议:

  • 在上课中途随机签到,达到签到的真正效果。对于产生的影响,可以采用降低签到占期末总评权重解决。
  • 作业采用类似这次的文档问答。
  • 每隔一定周期布置一个小项目。

​ 实在凑不到三百字

Powered by Gridea | JinQimu 2020 | 开往-友链接力