Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

De_Struktor

unregistriert

1

07.01.2014, 17:19

[Unity] Kollision zwischen zwei Quads

Hallo,

ich möchte gerne eine Kollision zwischen den beiden GameObjects: Quad erzielen.

Jedoch kann ich nirgend richtig in Erfahrung bringen, welche Physikkomponenten die beiden Quads benötigen?

das Wurfpaket hat(Quad) hat einen Meshcollider und einen Rigidbody.

Der untere Quad hat nur einen Meshcollider. So funktioniert es aufjedenfall nicht!

Ich wäre euch sehr dankbar, wenn jemand näheres dazu wüsste, da ich auch auf der dazugehörigen Unity referenz nicht die Kollision zwischen zwei Quads
verstehe.

Liebe Grüße

De_Struktor

Tankard

Treue Seele

Beiträge: 192

Beruf: Student, Hardware- und Softwareentwicklung als wissenschaftliche Hilfskraft

  • Private Nachricht senden

2

07.01.2014, 18:07

Welches Wurfpaket meinst du?

Wenn Objekte kollidieren sollen, dann benötigen sie auf jeden Fall schonmal einen Collider. Welchen ist erstmal egal. Diese werden ja für alle möglichen Interaktionen (z.B. auch Mausklicks) verwendet. Um die Physikengine von Unity zu nuzen müssen diese Objekte einen Rigidbody haben.

Ich hoffe ich habe keinen Stuss erzählt, bin selbst Unity Neuling.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

07.01.2014, 21:13

Geht es hier um die neue 2D-Physik in Unity 4?

De_Struktor

unregistriert

4

07.01.2014, 21:23

ja. Ich komme einfach nicht drauf, wie die 2 verschiedenen Quads mit einander kollidieren. Sie sind beide Z - Achse 0. Und beide haben rigidbody und boxcollider und auch mit meshcollider hatte ich es versucht! Ich habe nachgelesen, man sollte normales rigidbody und boxcollider benutzen. Und rigidbody2D benutze ich nicht!

:(

Ich bitte um Hilfe

Renegade

Alter Hase

Beiträge: 494

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

5

08.01.2014, 00:14

Beide Objekte benötigen natürlich einen Collider. Ob Sphere, Box oder Mesh etc. ist egal. Die Geometrie als solches ist dabei irrelevant. Berücksicht wird lediglich der Collider.Wichtig ist, dass einer der beiden Objekte ein Rigidbody besitzt.Hier findest du etwas weiter unten die Collision Action Matrix. Wichtig sind ebenfalls die Layer.

Im Übrigen solltest du natürlich für ein 2D Spiel für 2D Objekte die Collider2D und den dazugehörigen Rigidbody2D benutzen!
Liebe Grüße,
René

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »Renegade« (08.01.2014, 00:27)


Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

6

08.01.2014, 12:39

Der Grund für den Fehler könnte eventuell daran liegen, dass eben ein MeshCollider verwendet wurde. Ein MeshCollider bezieht die Informationen für die Kollisionsermittlung aus einem 3D-Modell, welches standardmäßig wohl das Quad sein dürfte. Da das Quad aber kein Volumen (Körperinhalt) hat, könnte es da zu Problemen kommen. Spätestens, wenn man darauf einen normalen Rigidbody platzier, sollten einem die Warnungen um die Ohren fliegen, eben weil ein Volumen erforderlich ist.

Wie Renegade schon geschrieben hat: Wenn man die 2D Features verwenden möchte, dann sollte man diese auch konsequent verwenden.

Für reine Kollisionsprüfungen sind Rigidbodys gar nicht notwendig, nur wird man nur dann auch eine Auswirkung merken, wenn die eigenen Skripte damit etwas anfangen. Erst mit min. 1 Rigidbody wird man die die Physik auch Bewegung (Gravitation, Abprallen voneinander etc.) sehen können.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

De_Struktor

unregistriert

7

08.01.2014, 19:02

Ok. Vielen Dank :)

Es klappt nun mit der Kollision so wie es es soll :)

Renegade

Alter Hase

Beiträge: 494

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

8

08.01.2014, 21:10

Da das Quad aber kein Volumen (Körperinhalt) hat, könnte es da zu Problemen kommen.


Man kann als Workaround einen BoxCollider anstatt des MeshCollider verwenden. Der besitzt dann zwar auch kein Volumen aufgrund der fehlende Tiefe, aber Unity beschwert sich nicht.
Liebe Grüße,
René

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Renegade« (08.01.2014, 21:24)


Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

9

09.01.2014, 07:45

Ok. Vielen Dank :)

Es klappt nun mit der Kollision so wie es es soll :)
Und wie hast du es letztendlich gelöst? Mit den 2D oder 3D Features?

Da das Quad aber kein Volumen (Körperinhalt) hat, könnte es da zu Problemen kommen.


Man kann als Workaround einen BoxCollider anstatt des MeshCollider verwenden. Der besitzt dann zwar auch kein Volumen aufgrund der fehlende Tiefe, aber Unity beschwert sich nicht.
Ich hatte bisher noch nie probiert, einen Boxcollider ohne Tiefe (bzw. mit einem Ausmaß von 0 auf einer der Achsen, wenn, dann war es ein sehr geringer Wert, wie 0,06) zu verwenden, daher bin ich darüber noch nie gestolpert. Auch wenn es auf diese Weise gehen sollte, empfiehlt es sich, eine gewisse Tiefe zu verwenden, sollte bspw. die Position auf dieser Achse durch Rundungsfehler oder andere Ungenauigkeiten mal leicht abweichend sein.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

De_Struktor

unregistriert

10

09.01.2014, 14:03

Über die 2D Features. Ist ja auch ersichtlich wieso, schließlich sind sie dafür vorgesehen^^

also das fallende Quad hat einen Rigidbody2D und einen Boxcollider2D
und das untere Testquad hat nur einen Boxcollider2D

Werbeanzeige