Objekte anheften
Übersicht

mDaveBetreff: Objekte anheften |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Community,
(wahrscheinlich denkt ihr vom Titel her, dass ich auf EntityParent hinauswill. Aber dem ist nicht so.) Ich suche eine Möglichkeit wie man Objekte an ein anderes heften kann und auch mit den Animationen mitgeht. Es müsste also an einem Punkt zB. Hand ausgerichtet sein und sich daran ausrichten. Ich hoffe ihr versteht was ich meine und könnt mir helfen. Mfg mDave |
||
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
SOwas wie Slots???
Wie in rollenspielen? 3D oder 2D. In 2D is das einfacher. In 3D weiß ich nicht. Solltest du 2D wollen dann: Code: [AUSKLAPPEN] player_x = <xkoordinate> player_y = <ykoordinate> ;Main Loop DrawImage player,player_x,player_y ;jetz kommtz DrawIMage objekt,player_x-10,player_y ;zum Beispiel... Aber wie gesagt, dass is nur 2D, ich schätze in 3D funktionierts ähnlich... lg |
||
WIP: Vorx.Engine |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die einfachste Möglichkeit wäre, wenn du deinem Modell gleich einen Bone mit einem festen Namen ("Slot_Hand" oder so) verpasst.
Den Bone kannst du dann per FindChild ![]() Wenn du keinen Bone zur Verfügung hast, dann kannst du stattdessen einen passenden Vertex suchen und per TFormPoint ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Entschuldigung, dass ich mich nicht klar genug ausgedrückt habe.
Ich meinte 3D (sry ComNik). Danke euch beiden für die schnellen Antworten. Ich werde Noobodys Rat folgen. Mh... es kommt eine Fehlermeldung "Entity does not exist". Code: [AUSKLAPPEN] Graphics3D 800,600,32,2 Timer=CreateTimer(25) SetBuffer BackBuffer() Objekt = LoadAnimMesh("schatten.b3d") start = 1 ende = 20 ShockWaveOld=start axt=LoadMesh("Heiltrank.b3d") ScaleEntity axt,0.01,0.01,0.01 Local KameraShock KameraPivot=CreatePivot() Kamera = CreateCamera(KameraPivot) PositionEntity KameraPivot,0,2.5,-6 ;PointEntity Kamera,Objekt RotateEntity Objekt,0,90,0 EntityShininess Objekt,0.1 Skin=LoadTexture("skin.png",1) TextureBlend Skin,3 EntityTexture Objekt,Skin,0,1 AmbientLight 255,120,120 Licht = CreateLight(1,KameraPivot) RotateEntity Licht,90,40,0 frame# = start While Not KeyDown(1) waffe=FindChild(Objekt,D2R) PositionEntity axt,EntityX(waffe),EntityY(waffe),EntityZ(waffe) TurnEntity Objekt,0,Abs(speed#)*2,0 If KeyDown(203) Then speed# = speed# - 0.025 If KeyDown(205) Then speed# = speed# + 0.025 speed# = speed#/1.03 Frame# = Frame# + speed# If Frame#+speed# < start Then Frame# = ende If Frame#+speed# > ende Then Frame# = start SetAnimTime Objekt,Frame# ShochWave=Int(Frame#) If (ShochWave=10 Or ShochWave=1) And ShochWave<>ShockWaveOld Then ShockTimer=20:ShockWaveOld=ShochWave ShockTimer=ShockCamera(Kamera,speed#/15,ShockTimer) UpdateWorld : RenderWorld Text 50,50,Int(Frame#) WaitTimer Timer Flip 0 Wend End Function ShockCamera(Camera,Power#=0.1,Shock) If Shock>0 Then PositionEntity Camera,Rnd(-Power#,Power#),Rnd(-Power#,Power#),Rnd(-Power#,Power#) Shock=Shock-1 Else PositionEntity Camera,0,0,0 Shock=0 EndIf Return Shock End Function Die Objekte sind im richitgen Ordner. Objekt ist das Objekt an dem sich axt ausrichten soll. D2R ist der Bone. Woran könnte die Fehlermeldung liegen? Mfg mDave |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] waffe=FindChild(Objekt,D2R)
FindChild ![]() Ausserdem musst du die Waffe nicht in der Hauptschleife jedesmal neu finden und die Axt daran positionieren - du kannst auch einfach ganz am Anfang EntityParent anwenden: Code: [AUSKLAPPEN] Waffe = FindChild( Objekt, "D2R" )
EntityParent Axt, Waffe |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok jetzt klappt es.
Vielen Dank Noobody! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group