标签: collider

Circle Collider 2D 或 Box Collider 2D

我做了一些研究,但找不到最有效的答案,盒对撞机 2D 还是圆形对撞机 2D?

这个问题很快就得到了很好的答案,它说最快的是球体对撞机,其次是胶囊对撞机,然后是盒子对撞机,但我想知道 2D 对撞机。

2500 对撞机

  • 胶囊 453-481ms

  • 框 490-520ms

  • 球体 190-233ms

有没有人有关于计算机处理哪个更快的信息?谢谢!

unity-game-engine collider

5
推荐指数
1
解决办法
3693
查看次数

碰撞检测不能统一工作

首先,我知道这个问题已经被问了很多,但我找不到解决方案,所以mi问题是,我正在制作一个教育游戏,我有一个静脉和血流(有许多盒子对撞机)和一个血细胞(也有一个盒子对撞机)然而我想让细胞在到达墙壁对撞机时摧毁,但它不会只停留在那里,这是项目!

http://tinypic.com/r/10706es/9

(由于我的声誉,无法上传图片,抱歉)

我要破坏我的细胞的对撞机是粉红色的对撞机,但是当它碰到它时它什么也没做,这是我的脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class collision : MonoBehaviour {
    // Use this for initialization
    void Start () {
    }

    // Update is called once per frame
    void OnCollisionEnter(Collision col)
    {
        print("hihi");
        if (col.gameObject.tag == "Collider")
        {
            Destroy(gameObject);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

此外,这是AddForce脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AddForce : MonoBehaviour {

    public float thrust;
    public Rigidbody rb;
    private Vector3 up;
    private bool move;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        up = …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine collider

5
推荐指数
1
解决办法
2万
查看次数

如何在不移动盒子的情况下进行 BoxCast() ?

public static bool BoxCast(Vector3 center,
                           Vector3 halfExtents,
                           Vector3 direction,
                           Quaternion orientation = Quaternion.identity, 
                           float maxDistance = Mathf.Infinity,
                           ...);
Run Code Online (Sandbox Code Playgroud)

这些是 Unity3D 中盒播的参数。我对参数的用途感到困惑,maxDistance因为我们已经用参数绘制了方框halfExtents。如果我不想移动盒子怎么办?即,我想画一个盒子并获取有关其内部内容的信息。我不想移动盒子。使用maxDistance = 0似乎没有任何作用,因为它没有记录任何点击。使用maxDistance > 0会移动盒子,我希望避免这种情况。

如何使用 BoxCast(),避免移动盒子?

c# collision-detection unity-game-engine collider

2
推荐指数
1
解决办法
2593
查看次数

Unity 2D:如何与屏幕侧面碰撞

我目前正在为 Android 开发 2D 游戏。我的场景中有一个玩家,如果用户倾斜他的设备,玩家对象就会在地面上移动。但他只是从左侧和右侧的屏幕中移出。我试图做一堵“墙”,但没有成功。在我的玩家游戏对象中有一个边缘碰撞器。现在我的问题是:我的玩家游戏对象如何与屏幕的一侧发生碰撞?

这是我的代码:

public GameObject player;
    
    
    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        Vector3 dir = Vector3.zero;
        dir.y = Input.acceleration.x;

        player.transform.Translate(new Vector2(dir.y, 0) * Time.deltaTime * 2000f);  

    }
Run Code Online (Sandbox Code Playgroud)

非常感谢!:)

七月

编辑:

图 1 是我的墙,图 2 是我的播放器。

我试图用屏幕一侧的墙来解决它。这些是图片这是我的球员检查员的形象。 我添加了正确的东西吗?

这是我的播放器的检查员。


解决了

解决方案代码:

Vector3 position = player.transform.position;
        translation = Input.acceleration.x * movementSpeed * 50f;

        if (player.transform.position.x + translation < LeftlimitScreen)
        {
            position.x = -LeftlimitScreen;
        } 
        else if(transform.position.x …
Run Code Online (Sandbox Code Playgroud)

c# android unity-game-engine collider

1
推荐指数
1
解决办法
8819
查看次数

在 Unity 中游戏对象离开摄像机视图后销毁它

我目前正在 Unity 中制作一款游戏,其中我试图仅在预制件的克隆离开相机视图后才销毁它们,只有在它们首先进入相机视图后才销毁它们。然而,由于某种原因,我的代码在克隆实例化后立即销毁它们。有谁知道我该如何解决这个问题?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class InteractControl : MonoBehaviour
{

    Rigidbody2D rb;
    GameObject target;
    float moveSpeed;
    Vector3 directionToTarget;




    // Use this for initialization
    void Start()
    {
        target = GameObject.Find("White Ball");
        rb = GetComponent<Rigidbody2D>();
        moveSpeed = 3f;

    }

    // Update is called once per frame
    void Update()
    {
        MoveInteract();
        OnBecameVisible();
    }

    /*void OnTriggerEnter2D(Collider2D col)
    {
        switch (col.gameObject.tag)
        {

            case "ColouredBall Highress":
                BallSpawnerControl.spawnAllowed = false;
                Destroy(gameObject);
                target = null;
                break;

            case "Star":
                Collision collision = new Collision(); …
Run Code Online (Sandbox Code Playgroud)

game-development unity-game-engine collider

1
推荐指数
1
解决办法
5522
查看次数

Unity 中快速移动游戏对象的碰撞检测

我正在开发一款基本的太空射击游戏,但在触发碰撞器方面遇到了麻烦。

在游戏中,我有一个子弹预制件,上面附加了一个胶囊触发碰撞器,而敌人现在是一个基本的立方体,上面附加了一个盒子碰撞器。

当我运行游戏时,我开始射击子弹,敌人立方体直到几次射击后才会消失。

这是我的子弹预制件代码:

void OnTriggerEnter(Collider col) {
        if (col.tag == "Enemy") {
            Destroy (col.gameObject);
        }
    }
Run Code Online (Sandbox Code Playgroud)

以及我的每个游戏对象的属性的屏幕截图:

子弹预制件:

子弹预制件

这是敌人的立方体:

在此输入图像描述

这是正在发生的事情的视频链接......

https://youtu.be/NjHK6oVP0OQ

c# unity-game-engine collider

0
推荐指数
1
解决办法
8746
查看次数

立方体正在穿过地形 - Unity3D

我有一个地形和立方体。地形附加了地形对撞机,立方体上有盒子对撞机。但是立方体仍然在地形中坠落。我尝试了其他问题和其他论坛中解释的很多事情,但没有一个解决了问题。立方体和地形设置的屏幕截图附在下面。

立方体设置: 立方体设置

地形设置: 地形设置

terrain unity-game-engine collider

0
推荐指数
1
解决办法
4025
查看次数

Unity 不显示对撞机

Unity 不显示对撞机,只有按下编辑对撞机按钮才能看到它。 在此处输入图片说明

在此处输入图片说明

unity-game-engine collider mesh-collider

0
推荐指数
2
解决办法
3089
查看次数