Collider auf bestimmtes Objekt beziehen?
Gibt es bei Unity die möglicht durch ein Script mit der Trigger Funktion z.B. den CratePink(Quader mit Collider) einzufrieren, so das er an dieser Position bleibt, bis das Spiel neu gestartet wird. (Alle anderen Objekte sollen einfach durch den Collider durchfallen.)
2 Antworten
Ich bin mir nicht ganz sicher, was du erreichen willst. An sich kannst du den Collider zu nem TriggerCollider machen und dann fällt normal eh alles durch. Oder du deaktiviest den collider einfach.
GetComponent<Collider>().enabled = false;
Du kannst auch den Rigidbody auf isKinematic stellen. Es kommt halt immer darauf an wie dein Setup ist, und dieses kennen wir nicht.
In diesem Fall ist wahrscheinlich ein Raycast am besten. Das bedeutet du schießt einen Ray in eine bestimmte Richtung und wenn er auf einen Collider trifft, muss gemessen werden und zurückgegeben werden welchen Tag das Objekt hat und dementsprechend kannst du dann den Collider aktivieren oder eben deaktivieren.
Hi. mach das am besten so:
Wenn dein Object den Tag: xy hat passiert etwas.
Der Code könnte so aussehen:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Name : MonoBehaviour
{
private void OnTriggerEnter2D(Collider2D abc)
{
if (abc.gameObject.CompareTag("G"))
{
//Aktion
}
}
}
abc = Name des Colliders
G = Name des Tages
Bei einem 3D spiel musst du OnTriggerEnter anstatt OnTriggerEnter2D verwenden
Ich möchte das alles durchfällt bis auf ein Objekt.