Collision nur mit Koordinaten und einem Entity
Übersicht

![]() |
faeXBetreff: Collision nur mit Koordinaten und einem Entity |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist es möglich eine Collision zu prüfen wenn man nur die Koordinaten des 1. Entity und dann das 2. Entity hat? Es kommt nur drauf an ob Entity 2 den Koordinatenpunkt von Entity 1 berührt.
Ist 'ne komische Frage aber ich hoffe ihr könnt mir helfen ![]() |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Inwiefern Koordinatenpunkt berührt?
Falls sie einfach gleich sein sollen, würd ich dir "=" empfehlen. Hat sich über Jahrtausende bewährt. |
||
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
The_Nici hat Folgendes geschrieben: Inwiefern Koordinatenpunkt berührt?
Ich meine das Beispielsweise der Punkt 0.5, 0.5, 0.5 in einem Sphere mit nem Radius 1 bei den Koordinaten 0,0,0 kollidiert. EDIT: Nur dass es beim Sphere natürlich einfacher ist, aber z.B. sollte Entity 2 zB ein Roboter sein... |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest an der Koordinatenstelle ein Pivot erstellen den du dann mit Kollision mit dem zweiten Entity prüfst. | ||
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das möchte ich ja umgehen, da dies wieder zeit kostet.
Aber ich habe es trotzdem probiert und komischerweise merkt er die Collision nicht. Code: [AUSKLAPPEN] PositionEntity TestEntity,p\x#, p\y#, p\z#
If EntityCollided(TestEntity,p\emitter\tmp\scenecollision) And p\emitter\tmp\scenestop p\frozen = True p\xv# = 0 p\yv# = 0 p\zv# = 0 EndIf wobei p ein type für ein particle ist, das selbst aber kein mesh hat. scenecollision ist der type für die scene scenestop ist ein Field (Boolean), ob bei collision sich das Partikel nicht mehr bewegen soll p\xv ist die velocity für x usw EDIT: Code: [AUSKLAPPEN] x# = EntityX(p\emitter\ent) + p\x#
y# = EntityY(p\emitter\ent) + p\y# z# = EntityZ(p\emitter\ent) + p\z# sx# = p\sx# sy# = p\sy# TFormVector sx#, -sy#, 0, ParticlePiv, 0 v1x# = TFormedX() + x# v1y# = TFormedY() + y# v1z# = TFormedZ() + z# TFormVector -sx#, -sy#, 0, ParticlePiv, 0 v2x# = TFormedX() + x# v2y# = TFormedY() + y# v2z# = TFormedZ() + z# TFormVector sx#, sy#, 0, ParticlePiv, 0 v3x# = TFormedX() + x# v3y# = TFormedY() + y# v3z# = TFormedZ() + z# TFormVector -sx#, sy#, 0, ParticlePiv, 0 v4x# = TFormedX() + x# v4y# = TFormedY() + y# v4z# = TFormedZ() + z# v1 = AddVertex(p\emitter\surf, v1x#, v1y#, v1z#, 0, 0) v2 = AddVertex(p\emitter\surf, v2x#, v2y#, v2z#, 1, 0) v3 = AddVertex(p\emitter\surf, v3x#, v3y#, v3z#, 0, 1) v4 = AddVertex(p\emitter\surf, v4x#, v4y#, v4z#, 1, 1) so werden die particles dargestellt (aus Devil Particle Engine) |
||
- Zuletzt bearbeitet von faeX am Sa, Sep 27, 2008 16:36, insgesamt einmal bearbeitet
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
EntityRadius/Box gesetzt? EntityType gesetzt? Collisions ausgeführt? | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group