zoukankan      html  css  js  c++  java
  • Unity 创建游戏物体的常用方法

    一、创建空的游戏物体

    • 创建一个空的游戏物体
    1     void Start()
    2     {
    3         new GameObject();
    4     }

    • 创建一个空的游戏物体,并命名
    1     void Start()
    2     {
    3         new GameObject("Table");
    4     }

    • 创建一个空的游戏物体,命名并用 go 接受对象(代码内操作其他属性)
    1     void Start()
    2     {
    3         GameObject go = new GameObject("Table");
    4         print(go.name);
    5     }

    二、创建原始对象 Cube、Sphere、Capsule 等

    1     void Start()
    2     {
    3         GameObject.CreatePrimitive(PrimitiveType.Cube); //正方体
    4         GameObject.CreatePrimitive(PrimitiveType.Sphere); //球体
    5         GameObject.CreatePrimitive(PrimitiveType.Capsule); //胶囊
    6         GameObject.CreatePrimitive(PrimitiveType.Cylinder); //圆柱体
    7         GameObject.CreatePrimitive(PrimitiveType.Plane); //平面,占用内存大
    8         GameObject.CreatePrimitive(PrimitiveType.Quad); //平面,占用内存小
    9     }

    三、通过预制体创建对象

    方法大致有五个:

    • GameObject.Instantiate(Object original); 

      指定参数只有一个,预制体(也就是实例化对象)

    • GameObject.Instantiate(Object original, Transform parent); 

      参数分别为:预制体(实例化对象)和指定创建对象的父类

    • GameObject.Instantiate(Object original, Transform parent, bool instantiateInWorldSpace); 

      最后一个参数是-分配父类的时候是否保持原始的世界位置,false不保留,true保留

    • GameObject.Instantiate(Object original, Vector3 position, Quaternion rotation); 

      参数分别为:实例化对象(预制体),实例化的位置,实例化的角度

    • GameObject.Instantiate(Object original, Vector3 position, Quaternion rotation, Transform parent); 

      参数分别为:实例化对象(预制体),实例化的位置,实例化的角度,指定父类

     1     public GameObject prefab;
     2 
     3     void Start()
     4     {
     5         // 这里创建一个空的游戏物体作为父类
     6         GameObject go = new GameObject("table");
     7 
     8         GameObject.Instantiate(prefab); //实例化对象
     9         GameObject.Instantiate(prefab, go.transform); //创建的时候指定父类(go.transform)
    10         GameObject.Instantiate(prefab, go.transform, false); //分配父类的时候是否保持原始的世界位置,false不保留,true保留
    11         GameObject.Instantiate(prefab, go.transform.position, Quaternion.identity); //Quaternion.identity -对象与世界轴或父轴完美对齐(无旋转)
    12         GameObject.Instantiate(prefab, go.transform.position, Quaternion.identity, go.transform); //创建对象的同时指定父类
    13     }

    *** |  以上内容仅为学习参考、学习笔记使用  | ***

  • 相关阅读:
    docker学习构建镜像---第三章节
    docker学习端口映射---第二章节
    推荐一个小而美的Python代码格式化工具
    Bi-LSTM+CRF在文本序列标注中的应用
    大数据分析师到底在干嘛
    Pytorch实现的语义分割器
    Python大数据与机器学习之NumPy初体验
    python数据分析工具——Pandas、StatsModels、Scikit-Learn
    Python修改paramiko模块开发运维审计保垒机
    Python数据预处理:使用Dask和Numba并行化加速
  • 原文地址:https://www.cnblogs.com/ChenZiRong1999/p/13320876.html
Copyright © 2011-2022 走看看