• Unity编程标准导引2.2Unity中的基本概念


    本文为博主原创文章,欢迎转载,请保留出处:http://blog.csdn.net/andrewfan

    2.2Unity中的基本概念

    上述介绍提到了几个概念:游戏对象、场景、资源、相机,这个小节我们来深入了解,同时进行一些实践性操作。不过首先,我们需要大概了解一下Unity的工程文件夹。

    2.2.1工程文件夹

    在Unity工程目录下的文件夹,大致整理如下:

    文件夹名称

    介绍

     Assets

    Assets文件夹是Unity中的工程资源文件夹,Unity编辑器寻找工程路径时的搜索目标。我们所有的资源都存在这个文件夹中,后续介绍的几个文件夹都由系统自动产生。

     Library

    Library文件夹是Unity编辑器运行时所依赖的资源文件夹,原先Assets中的文件资源并不是直接被使用,而是被经过平台处理(不同终端平台情况下,资源处理格式是不同的,比如Androiod和IOS的贴图压缩格式差别很大)后处理成相应的格式,并且暂存在这个文件夹中,以便于编辑器运行时调用。编辑器会自动对比、更新这个文件夹。如果被删除,编辑器会自动重新产生。注意不要把资源存放在这里。

    ProjectSettings

    ProjectSettings文件夹用作工程配置文件夹,所有对于工程的配置信息都存储在这里。比如:声音配置、编辑器平台编译配置、全局物理参数、画质配置、用户输入配置、网络配置等信息均存储在该目录下方相应的配置文件中。

    obj

    obj文件夹用于存放脚本代码的编译生成。同样,这个文件夹会自动产生,不需要手动修改,不能用作存储资源。

    Temp

    编辑器临时目录,启动编辑器后才会建立,关闭自动删除。

                                表1-2

    2.2.2 Unity中的基本概念

    如果把游戏中看作一部话剧,其中的各个部分均使用舞台来呈现的话,那么这每个部分就是一幕场景,在Unity中对应“Scene”这个单词,同时也存在这个类。每一幕的话剧

    应该有当前所需要的各种道具,角色等等,而我们使用同样的场景(Scene)这个概念来组织这些内容。场景的存在,即为我们提供一个空间,让我们可以布置这些道具和角色

    ,当然这些道具和角色可以同时布置在多个场景中,而它们存储的实际位置并非一定是当前场景。

    相应地,我们把一些Unity中的概念全部对应到这部话剧中,大致解释如下:

     

    Unity概念

    解释

    Scene

    场景

    相当于一幕话剧,用于存储各种布置,存储后的资源文件以unity作为后缀名。代码中使用Scene类来表示。

    Game Object

    游戏对象

    相当于话剧中的角色、道具、景物等等可视的物件。代码中使用GameObject类来表示。

    Component

    组件

    相当于话剧中的角色、道具或者景物所具有的功能。比如人可以行走,球可以滚动,扬声器可以发出声音等等。

    代码中使用Componenet类来表示,大部分情况下,我们自己编写的应类继承Component的子类MonoBehavior,而Unity大部分的内置组件不继承MonoBehavior,也就是说,MonoBehavior是为“Unity玩家”专属定制。

    Camera

    相机

    相当于话剧中的摄像师手中的镜头,它对准的目标会被以当前镜头的角度所呈现。

    代码中用Camera类表示,Camera继承自Component,作为游戏对象的组件出现。

    Light

    灯光

    相当于话剧中的灯光设置,用于调节整个世界的明暗。

    代码中用Light类表示,Light继承自Component,同样作为游戏对象的组件出现。

    Prefab

    预制件

    预制件是针对自定义的一组游戏对象,进行预先配置,比如设置它们之间的相对位置,层级关系等等,然后将它们整体存储为一个模板。后续每次使用这个模板,都会构建出一份那组游戏对象的拷贝。

    代码中对应GameObject类型,也就是说,本质上这个模板仍然是一个GameObject,只不过它有些特别,就是它是“只读”的,后续的章节我们会详细解释这部分内容。

    Asset

    资源

    资源,Unity中有很多中资源,就连GameObject、Component理论上也都是资源,不过大部分情况下,我们说的资源指的是:网格、动画、贴图、材质、音频片段、字体等等。

    资源类型比较多,对应的类也不相同:
    网格:Mesh        文件格式:fbx、obj等
    动画:Animation   文件格式:anim等

    贴图:Texture     文件格式:psd、tif、png、jpeg等

    材质:Material    文件格式:mat

    音频:AudioClip   文件格式:ogg、wav、mp3等

    字体:Font        文件格式:ttf、fnt等

    所有的资源类均继承自UnityEngine命名空间下方的Object类,注意与CSharp默认空间中的Object不同。

    最常用的格式基本我都把它们排在了前方。上述Asset中的每种资源基本都有若干种文件格式,我们究竟应该用哪种格式是需要考虑的一个问题,不过它们被导入之后都是处理成相同或者类似的结构,我们不必太过担心。

    本文为博主原创文章,欢迎转载,请保留出处:http://blog.csdn.net/andrewfan

  • 相关阅读:
    大话重构读书笔记——保险索下的系统重构
    大话重构读书笔记——小步快跑的开发模式
    大话重构读书笔记——基础篇一
    [C#高级编程]基础知识摘要一
    测试基础
    WatiN和HttpWatch交互简介
    WatiN框架学习二——对弹窗的处理
    WatiN框架学习
    [C#高级编程].NET体系结构
    http协议的API
  • 原文地址:https://www.cnblogs.com/driftingclouds/p/6404203.html
Copyright © 2020-2023  润新知