• 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     }

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

  • 相关阅读:
    王妃
    某个奇怪的引理 学习总结
    多项式求ln,求exp,开方,快速幂 学习总结
    第二类斯特林数 学习总结
    cojs QAQ的图论题 题解报告
    cojs QAQ的序列 解题报告
    QAQ OI生涯の最后一个月
    cojs 疯狂的字符串 题解报告
    【51Nod 1238】最小公倍数之和 V3
    【51Nod 1190】最小公倍数之和 V2
  • 原文地址:https://www.cnblogs.com/ChenZiRong1999/p/13320876.html
Copyright © 2020-2023  润新知