Jump to content
Unity Insider Forum
Rokks

Kollision beim snappen

Recommended Posts

Moinsen,

irgendwo habe ich einen Gedankenfehler.
An einem OBJ habe ich 4 Trigger angeheftet, die bei Berührung eines Gegenparts die Position des Parents verschieben (snapping beim positiven event).
In der Physic habe ich den entsprechenden Layer deaktiviert, sodass sich die OBJ nicht gegenseitig abstoßen.
50:50 das die OBJ sich wie gewünscht snappen oder das zu snappende OBJ abdampft.

Ich habe das Kurzprojekt angehftet. Vielleicht ist jemand von Euch so Lieb und bringt mich auf den richtigen Weg.

LG
Rokks

test_snapping.unitypackage

Share this post


Link to post
Share on other sites

Habs mir mal kurz angeschaut:
2 Sachen sind mir aufgefallen, mache doch die Boxcollider der Würfel einfach ein wenig kleiner, dann stoßen sie sich auch nicht ab (oder eben durch die Physikengine die Layer der beiden Cubes einander ignorieren lassen). Ansonsten würde ich die Würfel einander unterordnen, nachdem sie gesnapped sind, also entweder Cube1 wird Parent von Cube2 oder umgekehrt. Damit vermeidest du dieses "Springen", wenn ein Würfel den anderen zieht. Ich hoffe das hilft dir weiter.

Share this post


Link to post
Share on other sites

Moin Zwr0Cool,

inwiefern die Boxcollider der Cubes ein wenig Kleiner machen? In der Physic habe ich die eigentlichen Objekte einander ignorieren lassen, lediglich die "kleinen" Würfel, die als Trigger fungieren sind/sollen für das snapping zuständig sein.
Ebenso möchte ich gern dass beide Triggerwürfel einander unabhängig bleiben, denn wenn OBJ1 "zerstört" wird, soll OBJ2 hingegen aktiv bleiben und aufen neuen Gegenpart warten.

 

Share this post


Link to post
Share on other sites

Das war nur ein Vorschlag, wie es auch ohne Physikbeschränkung gehen würde, das sich die Objekte gegenseitig ignorieren, ist die bessere Lösung (wenn die Würfel nicht ohne Plugins physikalisch korrekt funktionieren müssen).
Zu dem "Zerstören". Du kannst ein Objekt auch zerstören, wenn es ein Childobjekt ist ohne das Parentobjekt zu beeinflussen und umgekehrt:
 

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Example() {
        transform.DetachChildren();
        Destroy(gameObject);
    }
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×