[Erledigt]Set Entity Rotation mit FetchOrientation()
Verfasst: 05.04.2021 08:09
Hallo,
ich versuche mich gerade daran, die Absoluten Rotations Winkel von einem Entity zu Speicher und dann wider zu restaurieren.
Dabei versage ich völlig . Mir scheint da etwas wesentliches nicht bekannt zu sein.
ich speicher die daten in einer Text datei.
und will sie so wider zurückstellen .... aber schon die Gespeicherten Werte sind total unlogisch.
und anschliessend erzeuge und rotiere ich das Entity so.
Kann es sein das ich nicht alle 3 Achsen gleichzeitig behandeln Kann?
Gruss TFT
ich versuche mich gerade daran, die Absoluten Rotations Winkel von einem Entity zu Speicher und dann wider zu restaurieren.
Dabei versage ich völlig . Mir scheint da etwas wesentliches nicht bekannt zu sein.
ich speicher die daten in einer Text datei.
Code: Alles auswählen
WriteStringN(0, "pos "+StrF(EntityX(ml() \EntityHandler,#PB_Absolute))+" "+StrF(EntityY(ml() \EntityHandler,#PB_Absolute)) +" "+StrF(EntityZ(ml() \EntityHandler,#PB_Absolute)) +" ")
WriteStringN(0, "rot "+StrF(EntityPitch(ml()\EntityHandler,#PB_Absolute|#PB_Engine3D_Adjusted))+" "+StrF(EntityYaw(ml()\EntityHandler,#PB_Absolute|#PB_Engine3D_Adjusted)) +" +StrF(EntityRoll(ml()\EntityHandler,#PB_Absolute|#PB_Engine3D_Adjusted)) +" ")
Code: Alles auswählen
If FindString(Daten,"pos ")
p1 = FindString(Daten," ",1)
p2 = FindString(Daten," ",p1 + 1)
p3 = FindString(Daten," ",p2 + 1)
ML()\PosX = ValF(Mid(Daten,p1+1,p2-p1))
ML()\PosY = ValF(Mid(Daten,p2+1,p3-p2))
ML()\PosZ = ValF(Mid(Daten,p3+1,Len(Daten)-p3))
Debug StrF(ML()\PosX)+"/"+StrF(ML()\PosY)+"/"+StrF(ML()\PosZ)
daten = ReadString(0)
If FindString(Daten,"rot ")
p1 = FindString(Daten," ",1)
p2 = FindString(Daten," ",p1 + 1)
p3 = FindString(Daten," ",p2 + 1)
ML()\RotX = ValF(Mid(Daten,p1+1,p2-p1))
ML()\RotY = ValF(Mid(Daten,p2+1,p3-p2))
ML()\RotZ = ValF(Mid(Daten,p3+1,Len(Daten)-p3))
Debug StrF(ML()\RotX)+"/"+StrF(ML()\RotY)+"/"+StrF(ML()\RotZ)
Code: Alles auswählen
mesh = LoadMesh(#PB_Any,GetCurrentDirectory()+"Data\mesh\"+ML()\BlockName+".mesh")
If mesh = 0 : Debug "Konnte mesh nicht laden" : Debug GetCurrentDirectory()+"Data\mesh\"+ML()\BlockName+".mesh" : EndIf
result = CreateEntity(#PB_Any,MeshID(mesh),MaterialID(_material3),ML()\PosX,ML()\PosY,ML()\PosZ, #SelectMasik5)
RotateEntity(result,ML()\RotX,ML()\RotY,ML()\RotZ,#PB_Absolute)
If result = 0 : Debug "Konnte Entity nicht erzeugen" : EndIf
Gruss TFT