精华内容
下载资源
问答
  • GameObject

    2017-03-29 20:17:23
    GameObject游戏中每个对象都是GameObject,但GameObject本身不作任何事,GameObject是一个容器,包含的组件使得每个GameObject不同。TransformTransform组件决定了每个对象的Position,Rotation,和Scale,每个对象必定...

    GameObject

    游戏中每个对象都是GameObject,但GameObject本身不作任何事,GameObject是一个容器,包含的组件使得每个GameObject不同。


    Transform

    Transform组件决定了每个对象的Position,Rotation,和Scale,每个对象必定有一个Transform组件。如果没有Transform组件,那么GameObject就不会出现在游戏世界中, 导致GameObject的其他属性只是内存中的数据,没有作用。

    其中一个Transform的position, rotation 和scale的值都是相对于其父亲GameObject的Transform来说的,如果没有父亲,那么就是相对世界坐标来说的。


    Collider

    Collider是一个组件,它允许添加了Collider的对象能够作用于有rigidbody组件的对象的Collider

    collider 有不同的形状和类型,在场景中它们用绿线表示。它们的形状可以是球,胶囊或者是盒子。如果你想需要更复杂的形状,你可以结合简单的形状,或者是使用 mesh collider。

    当游戏引擎中碰撞发生,且两个对象其中之一拥有rigidbody组件,OnCollisionEnter 被调用。


    Colliders as Triggers

    为了让一个collider成为trigger, 我们只需在collider组件下勾选Is Trigger。当一个collider成为trigger,就不会和其他东西碰撞。其他东西会穿过collider,并且可以被代码检测到, 如 OnTriggerEnter, OnTriggerStay, OnTriggerExit。

    和标准的碰撞一样,两个对象必须有一个拥有rigidbody组件。确认你的trigger collider是静态对象,是一个标准的做法,这意味着它们不会因为物理引擎而移动。


    Rigidbody

    如果你要在游戏中移动你的对象,你需要令这些对象是rigidbody对象,rigidbody组件允许添加它的对象受到物理引擎的影响。

    它允许对象受重力影响掉落,拥有物理属性,比如质量(mass),阻力(drag),和速度(velocity)。

    对于基于物理的交互,rigidbody是必须的(比如让它受重力影响)。而且对象必须还要有collider,用于和其他物理对象交互。

    Rigidbody有许多选项:

    1. Mass
      质量影响碰撞时候的表现,质量大的物体受撞击的影响小于质量小的物体。
    2. Drag
      阻力影响碰撞后静止的快慢。
    3. Angular Drag
    4. Use Gravity
      是否受重力影响,重力加速默认是现实世界的 9.8 ,但你可以改变重力的大小和方向。
    5. Is Kinematic (影响rigidbody是否受物理影响 )
      在场景开始的时候,所有的静态对象,即任何非rigidbody对象,会被物理引擎标记一次,并且为了追求效率,不再标记它们。然而当你移动一个静态对象的时候,为了准确性,物理引擎会标记所有的静态对象,这个代价很昂贵。为了避免这个情况,Kinematic rigidbody 对象可以通过它们的transform被使用和移动。你可以拥有能影响其他对象的对象,且不被其他对象影响。而且不需要重新计算其他静态对象。
    6. Interpolate
      用来解决抖动问题。
    7. Collision Detection
    8. Constraints
    展开全文
  • LINQ转GameObject LINQ to GameObject是Unity的GameObject扩展,允许遍历层次结构并追加GameObject。 该设计旨在获得LINQ的功能和迭代性能。 您可以免费从安装 。 Unity论坛支持线程,请问我任何问题 轴 LINQ to ...
  • gameobjectGameobject

    2015-09-02 00:54:00
    gameobject.getcomponent<>(). 指挂在那个对象上获取组件 转载于:https://www.cnblogs.com/chenzhongdong/p/4777463.html

    gameobject.getcomponent<>().

    指挂在那个对象上获取组件

    转载于:https://www.cnblogs.com/chenzhongdong/p/4777463.html

    展开全文
  • //大写开头GameObjectgameObject的区别 //大写开头GameObject 是类,是class, 是苹果类,apples //小写开头gameObject 具体的个体,是对象,是这个苹果,apple //查找游戏物体GameObject GameObject....

     

            //大写开头GameObject 与gameObject的区别
            //大写开头GameObject 是类,是class, 是苹果类,apples
            //小写开头gameObject 具体的个体,是对象,是这个苹果,apple
    
            //查找游戏物体GameObject
            GameObject.Find("apple");// 返回一个GameObject的对象
            GameObject myApple= GameObject.Find("apple");//所以应该写成这样
            //当然也可以写成这样,要根具需要
             GameObject.Find("apple").GetComponent<Transform>(); //查找到游戏物体后获取该游戏物体的Transform组件,返回值是Transform类型的组件
            Transform myTransform = GameObject.Find("apple").GetComponent<Transform>();//定义接收上例的返回值    

     

    转载于:https://www.cnblogs.com/madinglin/p/8502622.html

    展开全文
  • C# GameObject

    2021-01-05 10:55:43
    GameObject 游戏对象 Unity场景里面所有实体的基类 GameObject.activeInHierarchy 在层级激活 场景中的游戏对象是否激活 bool activeInHierarchy; GameObject.activeSelf 激活自己 该游戏对象的局部激活状态...

    GameObject 游戏对象

    Unity场景里面所有实体的基类

    GameObject.activeInHierarchy 在层级激活

    场景中的游戏对象是否激活

    bool activeInHierarchy;
    

    GameObject.activeSelf 激活自己

    该游戏对象的局部激活状态

    bool activeSelf;
    

    GameObject.AddComponent 添加组件

    添加一个名称为className的组件到游戏对象

    public SphereCollider sc;
    void Example() {
        sc = gameObject.AddComponent("SphereCollider") as SphereCollider;
    }
    

    GameObject.animation 动画

    附加于这个游戏对象上的动画

    public GameObject other;
    void Example() {
        other.animation.Play();
    }
    

    GameObject.audio 音频

    附加于这个游戏对象上的音频资源

    public GameObject other;
    void Example() {
        other.audio.Play();
    }
    

    GameObject.BroadcastMessage 广播消息

    对此游戏对象及其子对象的所有MonoBehaviour中调用名称为methodName的方法

    void ApplyDamage(float damage) {
        print(damage);
    }
    void Example() {
        gameObject.BroadcastMessage("ApplyDamage", 5.0F);
    }
    

    GameObject.camera 摄像机

    附加于这个游戏物体上的相机

    public GameObject other;
    void Example() {
        other.camera.fieldOfView = 45;
    }
    

    GameObject.collider 碰撞器

    附加于这个游戏物体上的碰撞体

    public GameObject other;
    void Example() {
        other.collider.material.dynamicFriction = 1;
    }
    

    GameObject.collider2D 二维碰撞器

    附加于此对象的2D碰撞器组件

    Collider2D collider2D;
    

    GameObject.CompareTag 比较标签

    此游戏对象是否被标记为tag标签

    void OnTriggerEnter(Collider other) {
        if (other.gameObject.CompareTag("Player"))
            Destroy(other.gameObject);
    }
    

    GameObject.constantForce 恒力

    附加于这个游戏对象上的恒定的力

    public GameObject other;
    void Example() {
        other.constantForce.relativeForce = new Vector3(0, 0, 1);
    }
    

    GameObject.CreatePrimitive 创建原型对象

    创建一个带有原型网格渲染器和适当的碰撞器的游戏对象

    void Start() {
        GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
        GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
        cube.transform.position = new Vector3(0, 0.5F, 0);
        GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
        sphere.transform.position = new Vector3(0, 1.5F, 0);
        GameObject capsule = GameObject.CreatePrimitive(PrimitiveType.Capsule);
        capsule.transform.position = new Vector3(2, 1, 0);
        GameObject cylinder = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
        cylinder.transform.position = new Vector3(-2, 1, 0);
    }
    

    GameObject.Find 查找

    找到并返回一个名字为name的游戏物体

    public GameObject hand;
    void Example() {
        hand = GameObject.Find("Hand");
        hand = GameObject.Find("/Hand");
        hand = GameObject.Find("/Monster/Arm/Hand");
        hand = GameObject.Find("Monster/Arm/Hand");
    }
    

    GameObject.FindGameObjectsWithTag 通过标签查找游戏对象列表

    返回具体tag标签的激活的游戏对象列表,如果没有找到则为空

    public GameObject respawnPrefab;
    public Object respawns;
    void Start() {
        if (respawns == null)
            respawns = GameObject.FindGameObjectsWithTag("Respawn");
        foreach (Object respawn in respawns) {
            Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation) as GameObject;
        }
    }
    

    GameObject.FindWithTag 查找标签

    返回标记为tag的一个游戏对象,如果没有找到对象则为空

    public GameObject respawnPrefab;
    public GameObject respawn;
    void Start() {
        if (respawn == null)
            respawn = GameObject.FindWithTag("Respawn");
        Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation) as GameObject;
    }
    

    GameObject.GameObject 游戏对象

    创建一个新的游戏物体,命名为name

    public GameObject player;
    void Example() {
        player = new GameObject("Player");
        player.AddComponent("Rigidbody");
        player.AddComponent("BoxCollider");
    }
    

    GameObject.GetComponent 获取组件

    如果这个游戏对象附件了一个类型为type的组件,则返回该组件,否则为空

    public HingeJoint hinge;
    void Example() {
        hinge = gameObject.GetComponent<HingeJoint>();
        hinge.useSpring = false;
    }
    

    GameObject.GetComponentInChildren 获取子对象组件

    返回此游戏对象或者它的所有子对象上(深度优先)的类型为type的组件

    public HingeJoint hinge;
    void Example() {
        hinge = gameObject.GetComponentInChildren<HingeJoint>();
        hinge.useSpring = false;
    }
    

    GameObject.GetComponentInParent 获取父对象组件

    从父对象查找组件

    public HingeJoint hinge;
    void Example() {
        hinge = gameObject.GetComponentInParent<HingeJoint>();
        hinge.useSpring = false;
    }
    

    GameObject.GetComponents 获取组件列表

    返回该游戏对象所有type类型的组件列表

    public HingeJoint[] hingeJoints;
    void Example() {
        hingeJoints = gameObject.GetComponents<HingeJoint>();
        foreach (HingeJoint joint in hingeJoints) {
            joint.useSpring = false;
        }
    }
    

    GameObject.GetComponentsInChildren 获取子对象组件列表

    返回此游戏对象与其子对象所有type类型的组件

    public HingeJoint[] hingeJoints;
    void Example() {
        hingeJoints = gameObject.GetComponentsInChildren<HingeJoint>();
        foreach (HingeJoint joint in hingeJoints) {
            joint.useSpring = false;
        }
    }
    

    GameObject.GetComponentsInParent 获取父对象组件列表

    返回此游戏对象与其父对象所有type类型的组件

    public HingeJoint[] hingeJoints;
    void Example() {
        hingeJoints = gameObject.GetComponentsInParent(typeof(HingeJoint));
        foreach (HingeJoint joint in hingeJoints) {
            joint.useSpring = false;
        }
    }
    

    GameObject.guiText 界面文本

    附加于这个游戏对象上的GUIText

    public GameObject other;
    void Example() {
        other.guiText.text = "HelloWorld";
    }
    

    GameObject.guiTexture 界面纹理

    附加于这个游戏对象上的GUITexture

    void Example() {
        guiTexture.color = Color.blue;
    }
    

    GameObject.hingeJoint 铰链关节

    附加于这个游戏对象上的铰链关节

    public GameObject other;
    void Example() {
        other.hingeJoint.spring.targetPosition = 70;
    }
    

    GameObject.isStatic 是否静态

    如果一个游戏对象是静态仅在编辑器API指定

    bool isStatic;
    

    GameObject.layer 层

    游戏对象所在的层,层的范围是在[0…31]之间

    void Example() {
        gameObject.layer = 2;
    }
    

    GameObject.light 灯光

    附加于这个游戏物体上的灯光

    public GameObject other;
    void Example() {
        other.light.range = 10;
    }
    

    GameObject.networkView 网络视图

    附加于这个游戏对象上的网络视图

    public GameObject other;
    void Example() {
        other.networkView.RPC("MyFunction", RPCMode.All, "someValue");
    }
    

    GameObject.particleEmitter 粒子发射器

    附加于这个游戏对象上的粒子发射器

    public GameObject other;
    void Example() {
        other.particleEmitter.emit = true;
    }
    

    GameObject.particleSystem 粒子系统

    附加于这个游戏对象上的粒子系统

    public GameObject other;
    void Example() {
        other.particleSystem.Emit(5);
    }
    

    GameObject.renderer 渲染器

    附加于这个游戏对象上的渲染器

    public GameObject other;
    void Example() {
        other.renderer.material.color = Color.green;
    }
    

    GameObject.rigidbody 刚体

    附加于这个游戏对象上的刚体

    public GameObject other;
    void Example() {
        other.rigidbody.AddForce(1, 1, 1);
    }
    

    GameObject.SampleAnimation 采样动画

    用于任何动画剪辑在给定的时间采样动画

    public AnimationClip clip;
    void Update() {
        gameObject.SampleAnimation(clip, clip.length - Time.time);
    }
    

    GameObject.scene 场景

    场景物体

    public SceneManagement.Scene scene;
    

    GameObject.SendMessage 发送消息

    在此游戏对象所有MonoBehaviour上调用名称为methodName的方法

    void ApplyDamage(float damage) {
        print(damage);
    }
    void Example() {
        gameObject.SendMessage("ApplyDamage", 5.0F);
    }
    

    GameObject.SendMessageUpwards 向上发送消息

    调用此游戏对象及其behaviour的父对象上所有MonoBehaviour名为methodName的方法

    void ApplyDamage(float damage) {
        print(damage);
    }
    void Example() {
        gameObject.SendMessageUpwards("ApplyDamage", 5.0F);
    }
    

    GameObject.SetActive 设置激活

    激活/停用此游戏对象

    void SetActive(bool value);

    GameObject.tag 标签

    这个游戏对象的标签

    void Example() {
        gameObject.tag = "Player";
    }
    

    GameObject.transform 变换

    附加于这个游戏对象上的变换

    public GameObject other;
    void Example() {
        other.transform.Translate(1, 1, 1);
    }
    
    展开全文
  • GameObject

    2017-08-29 13:37:15
    GameObject类是Unity场景中所有实体的基类。GameObject是许多不同组件的容器,默认所有游戏对象都会自动拥有一个transform组件。 常用方法总结: 1、创建一个新的游戏对象: public GameObject(); public ...
  • gameObject

    2017-03-23 16:33:01
    gameObject获取当前脚本所挂载的对象; 一般来说,在属性视图中能够看到或修改的属性,我们同样可以在脚本中获取并修改; 1.获取对象的名字 print(gameObject.name); gameObject.name = "名字"; 2.获取对象的...
  • Unity-support-Arabic-language-gameobjectGameobject上免费支持统一教程的阿拉伯语
  • unity 四 GameObject

    2019-03-31 10:24:01
    GameObject 下有三个比较常用的方法: 1、GameObject.Find GameObject.Find(string name),参数为字符串类型,找到的是游戏对象的 name,比如下面的 plan。返回的是一个 GameObject GameObject a = GameObject....
  • Unity gameObject.CompareTag和gameObject.tag性能对比
  • 这两个相比,gameObject好理解一点,就是你脚本挂着的那个物体。这个实例化过程是Unity帮你实现的,不用在写代码实例化。this.gameObject默认函数,脚知本一创建直接就get到了。 例如,有一个A物体。你给它挂载一个...
  • Unity GameObject.activeSelf, GameObject.activeInHierarchy,GameObject.SetActive和SetActiveRecursively
  • 昨天在工作中调用GameObject.active时看到有这样的提示”GameObject.active is obsolete. Use GameObject.SetActive(), GameObject.activeSelf or GameObject.activeInHierarchy.”发现Unity推荐使用...
  • 移动GameObject

    2016-12-09 08:34:52
    移动GameObject是非常平常的一件事情,一下代码看起来很简单:transform.localPosition += new Vector3 ( 10.0f * Time.deltaTime, 0.0f, 0.0f );但是小心了,假设上面这个GameObject有一个parent, 并且这个parent ...
  • 1.GameObjectgameObject GameObject是一个类 gameObject是一个对象 2.Transform与transform Transform是一个类 transform是Transform类的对象,是游戏对象的一个组件
  • 运行时gameobject池管理

    2019-02-26 17:31:12
    运行时gameobject池管理
  • GameObject.FindWithTag 这个静态方法作用是通过标签寻找对象,并返回 using System.Collections; using System.Collections.Generic; using UnityEngine; public class UnityGameOject : MonoBehaviour { ...
  • using System.Collections; using System.Collections.Generic; using UnityEngine; public class UnityGameOject : MonoBehaviour ... GameObject gOj; void Start() { //删除对象类方法(有两种重载形式) ...
  • Unity API GameObject

    2020-02-19 15:43:41
    GameObject go = new GameObject("Cube");//创建一个空物体,名字为Cube //2,第二种 //根据prefab //根据另外一个游戏物体 GameObject.Instantiate(prefab);//可以根据prefab 或者 另外一个游戏物体克隆 //3,第三种...
  • GameObject类与游戏对象 "GameObject类" 1、在脚本中GameObject类是一个类。 2、而在unity中,资源文件夹Assets中的人物模型,也是一个GameObject类。 3、已经unity在"游戏对象"菜单中预设的一些模型,也是...
  • GameObject.CompareTag的作用是用来比较标签值,随后返回布尔值 using System.Collections; using System.Collections.Generic; using UnityEngine; public class UnityGameOject : MonoBehaviour { void Start()....
  • GameObjectgameobject之间的区别

    千次阅读 2014-05-04 21:31:29
     GameObject is a type of object and acts as a base class for most Unity entities.... to the GameObject stored by unity which holds all Component data related to a GameObject (such as the T
  • 虽然这种方法可以查找对象,但貌似不是很好 1、对象会不会查不准 2、查找一个对象,要对整个层级进行遍历 using System.Collections; using System.Collections.Generic;... GameObject gameOb...
  • 我们在monoDevelop中书写脚本语言时,GameObjectgameobject, Transform和transform是同时存在的如下图, 那么它们有什么区别和联系呢? 1&gt;GameObjectgameObject 2&gt;Transform与transform 二,...
  • 这两个都是比较tag值的...使用GameObject.CompareTag比直接Gameobject.tag花费少 代码如下: void FunCompareTag() { int sum = 0; for (int i = 0; i < 10; i++) { for (int y = 0; y < 10; y++) ...
  • Gameobject是一个类型,所有的游戏物件都是这个类型的对象。gameobject是一个对象, 就跟java里面的this一样, 指的是这个脚本所附着的游戏物件 Transform是一个类,用来描述物体的位置,大小,旋转等等信息。...
  • Unity中gameobject.activeself与gameobject.activeInHierachy的区别1.GameA、GameB都是显示的==2.GameA是隐藏的,GameB是显示的==3.GameA是显示、GameB隐藏的4.GameA、GameB都是隐藏的 测试代码如下: void Start() ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,237
精华内容 23,694
关键字:

gameobject