IrrlichtWrapper 1.05 (leider immer noch beta)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Max_der_Held
Beiträge: 595
Registriert: 18.04.2006 17:01
Wohnort: Bavaria
Kontaktdaten:

Beitrag von Max_der_Held »

hm.. und äh.. meine Fragen?.. :?

is heute weihnachten, oder was :lol:

...
alles schläft....:roll:

*humpf* :mrgreen: :mrgreen:

( oder sin die meißten im Urlaub? währ wohl keinem nicht zu verdenken, nach so vielen Arbeitswochen..)

mfg, Draufgeher.
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Beitrag von tft »

Hallo..

warum gibt die Funktion IrrGetNodeRotation nicht die Rotation in Grad, 0-360. Sondern die gesamt Rotation addiert aus. 2* 360 Grad drehung ergeben 720 anstadt 0.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Hi,

weil das nunmal der Wert für die Drehung ist....

Daran kannst du dann wenigstens ablesen, das sich das Entity schon 2 mal gedreht hat...

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Zu beachten ist noch das GetNodeRotation die relative Rotation des Nodes zurückgibt ( Relativ zur WorldMatrix).
virtual const core::vector3df& irr::scene::ISceneNode::getRotation ( ) const [inline, virtual]


Gets the rotation of the node.

* Note that this is the relative rotation of the node. *

Returns:
Current relative rotation of the scene node.
Nachtrag in Sachen Linux:
Wie gesagt, läuft plain Irrlicht schon unter PB/Linux , aber mit den ganzen Extras die wir drin haben wirds noch ne Menge Debugging. Überlege mir auch evtl grad auf 1.4 umzusteigen - mal mit Mike besprechen. Falls ihr später eure Werke unter Linux und evtl MacOSX kompilieren wollt achtet drauf dass alle Materialien auch unter OpenGL funzen ( DirectX gibbet da nicht ;) . Einfache Examples kompilieren mal . Auch debattiere ich noch drumrum alles statisch zu linken oder doch ne.so welche wiederum static linked zu den Dependencies ist, mitzuliefern. Hab mittlerweile ne Menge damit experimentiert. Sprich kleines exe aber ne 12 MB .so oder static ein grosses-fettes-exe. Static linken muss zu nem gewissen Grad sein, da ansonsten jeder Benutzer ( User ) seine Lib selbst gegen seine Distributionslibs kompilieren /linken müsste und das kann grausam werden ... all diese deps zu finden und zu lösen ist halt so ne Sache und kostet imo die meiste Zeit .. schlussendlich sollts jedoch so unter jeder Distri laufen - mit oder ohne Direct Rendering ( ohne halt nur mit dem Software Renderer - resp Fullscreen ).

ps. Falls jemand bereit währe ein paar Einsteiger-Tuts zu schreiben währe super.

Thalius
"...smoking hash-tables until until you run out of memory." :P
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Beitrag von tft »

Hi ..

ich bastel gerade an einem kleinen 3D Arcade shuter. Und die umsetzung von B3D nach PB und Irrlicht gestalltet sich recht schwierig. Das meiste läst sich ja umgehen. Aber ich benötige noch dringend infos zur Collision. Wenn jemand was weis. Bitte Posten.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Kollision kannst du auf verschiedene Weise erledigen.

Ich nehme an du brauchst die Kollision mit Rückgabe ? ansonsten nimm den CollisionAnimator.

Oder bau dir ne Funktion welche: IrrgetBoundingBox / IrrGetNodePosition von a und b vergleicht.

respektive: Advanced Examples ist was drin: Hier noch zt undokumentiert.

Code: Alles auswählen

; ***
; ***   Standard Collision, equal to SpriteCollision()
; ***

Macro AbsEx(Expression)
  ( ( ((Expression) >= 0 Or 0) *2 - 1  ) * (Expression) )
EndMacro

Procedure.d P_AbsEx(Wert.d)
  
  If Wert < 0
    Wert *-1
  EndIf
  
  ProcedureReturn Wert
  
EndProcedure

Macro StdColl(x1,y1,a1,b1,x2,y2,a2,b2)
  (0 Or (0>=((0 Or (x1 < x2))*(x2 - (x1 + a1)))+((0 Or (x1 >= x2))*(x1 - (x2 + a2)))))And(0 Or (0>=((0 Or (y1 < y2))*(y2 - (y1 + b1)))+((0 Or (y1 >= y2))*(y1 - (y2 + b2)))))
EndMacro

Procedure P_StdColl(x1.d,y1.d,a1.d,b1.d,x2.d,y2.d,a2.d,b2.d)
  Coll = #False
  
  If x1 < x2
    dx.d = x2 - (x1 + a1)
  Else
    dx.d = x1 - (x2 + a2)
  EndIf
  If y1 < y2
    dy.d = y2 - (y1 + b1)
  Else
    dy.d = y1 - (y2 + b2)
  EndIf
  
  If dx < 0 And dy < 0
    Coll = #True
  EndIf
  
  ProcedureReturn Coll
  
EndProcedure
Macro BoundBoxColl(x1,y1,a1,b1,x2,y2,a2,b2)
  ( ( 0 Or ((AbsEx(x1-x2) - a1 - a2)<0)) And ( 0 Or ((AbsEx(y1-y2) - b1 - b2)<0)) )
EndMacro

Procedure P_BoundBoxColl(x1.d,y1.d,a1.d,b1.d,x2.d,y2.d,a2.d,b2.d)
  Coll = #False
  
  dx.d = P_AbsEx(x1-x2) - a1 - a2
  dy.d = P_AbsEx(y1-y2) - b1 - b2
  
  If dx < 0 And dy < 0
    Coll = #True
  EndIf
  
  ProcedureReturn Coll
  
EndProcedure
Thalius
"...smoking hash-tables until until you run out of memory." :P
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Beitrag von tft »

Hallo ...

und hir nun die nächste Frage. Läst sich bei der Irrlicht Physik die Gravitation auf 0 stellen? Und wie kann ich den Luftreibungs widerstand ändern.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Welches Physic-Modell verwendest du ( hängt zt. vom Typ ab ).
"...smoking hash-tables until until you run out of memory." :P
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Beitrag von tft »

Hallo ..

Model ????? Entschuldige die ahnungslosigkeit. Wo kann man den den Mode einstellen?
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Mehr zu Kollisions:

Code: Alles auswählen

IrrGetCollisionGroupFromComplexMesh(*ptr2IrrAnimatedMesh.l, *ptr2IrrSceneNode.l)
    IrrGetCollisionGroupFromBox(*ptr2IrrSceneNode.l)
    IrrGetCollisionGroupFromTerrain(*ptr2IrrTerrainSceneNode.l, level_of_detail.l)
    IrrCreateCombinedCollisionGroup()
    IrrAddCollisionGroupToCombination(*ptr2IrrMetaTriangleSelector.l, *ptr2IrrTriangleSelector.l)
    IrrRemoveAllCollisionGroupsFromCombination(*ptr2IrrMetaTriangleSelector.l)
    IrrRemoveCollisionGroupFromCombination(*ptr2IrrMetaTriangleSelector.l, *ptr2IrrTriangleSelector.l)
    IrrGetCollisionPoint(*vectorStart.IRR_VECTOR, *vectorEnd.IRR_VECTOR, *ptr2IrrTriangleSelector.l, *vectorCollision.IRR_VECTOR)
    IrrGetRayFromScreenCoordinates(x.l, y.l, *ptr2IrrCamera.l, *vectorStart.IRR_VECTOR, *vectorEnd.IRR_VECTOR)
    IrrGetCollisionNodeFromCamera(*ptr2IrrCamera.l, bitMask.l=-1)
    IrrGetCollisionNodeFromRay(*vectorStart.IRR_VECTOR, *vectorEnd.IRR_VECTOR)
    IrrGetCollisionNodeFromScreenCoordinates(x.l, y.l)
    IrrGetCollisionNodeFromCursor(bitMask.l)
    IrrGetScreenCoordinatesFrom3DPosition( *x.l, *y.l, *vector.IRR_VECTOR)
    IrrNodesIntersect(*ptr2IrrSceneNode.l,*ptr2IrrSceneNode2.l)
    IrrCollisionAssign(*ptr2IrrSceneNode.l)
    IrrCollisionGatherCombined(*ptr2IrrSceneNode.l, *ptr2IrrMetaTriangleSelector.l)
ist in der nächsten Manual drin von welcher ich sobald ich meine Bugs draussen habe eine neue Version compile.


Thalius
"...smoking hash-tables until until you run out of memory." :P
Antworten