Animation ohne Kollision
Übersicht

![]() |
PucciniBetreff: Animation ohne Kollision |
![]() Antworten mit Zitat ![]() |
---|---|---|
HI!
Ich habe ein animiertes Mesh im .b3d format vorliegen. dies wird zweckmässig mit Loadanimmesh() geladen und animiert! Mein próblem hierbei ist,das ich durch dieses objek´t durchlaufen kann! wenn ihc nur schreibe Loadmesh() klappt aber alles!?? Gehen Animierte objekte nicht auf kollision zu überprüfen? und kanns sein das auch CameraPick bei der Animation net funktioniert??? Das wären meine 2 hauptprobleme zur zeit! Weis einer Rat? |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
1. Die Kollision hast du doch eh mit Entity Radius oder? Polygon Kollision ist nämlich nicht animiert, die wäre gegen das Model zum Zeitpunkt 0 (Frame 0)
2. Camerapick geht immer, vorausgesetzt du hast den PickMode gesetzt. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hatte das Problem auch immer, dass bei animierten Meshes keine Kollision ging.
Aber ueberhaupt keine. Wenn ich Polygoncoli gemacht habe, hat es nich gefunzt. Wenn ich andere genommen habe hat es trotzdem nich gefunzt. MfG |
||
~Tehadon~
www.tehadon.de http://www.blitzforum.de/worklogs/14/ |
![]() |
Puccini |
![]() Antworten mit Zitat ![]() |
---|---|---|
also PickMode is wie Kollision auf 2 gesetzt (also Polygon)
Meinst daran könnte das liegen?? Da muss ich jetzt zu jedem drecks animierten objekt noch ne collbox rumbasteln?? :< och nö, kein bock! gehts net auch anders???? |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
Krümel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Eventuell hilft dir das weiter:
http://www.blitzbasic.com/Comm...opic=23044 |
||
![]() |
Puccini |
![]() Antworten mit Zitat ![]() |
---|---|---|
sorry, aber bei mir geht der link leider nicht ![]() sag mal wo ich den finde ![]() Danke! |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
oh, bb.com hat seine monatliche downtime. Der link wäre okay, nur die Page ist grad off. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gegen animierte objekte geht keine polygon kollision
man sollte allgemein bei sich bewegenden objekten keine polygon kollision nehmen, das führt in den meisten fällen zu problemen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Moep |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich glaube dein Problem lässt sich mit einer Rekursiven Funktion lösen, denn wenn du auf ein Animmeshs EntityPickMode oder Entitytype anwendest wird die Funktion nur auf den Pivot angewendet der alle anderen Entitys als Childs hat. Bei der Entitytype Funktion kannst du hinter dem Typ angeben ob es Rekursiv sein soll, dann wird es automatisch auf alle Childs angewandt. z.b. Code: [AUSKLAPPEN] EntityType player,PLAYER_TYPE,1
und fürs Picken hier ne Funktion : Code: [AUSKLAPPEN] Function EntityPickModeRec(Entity,geometrie,verdecken=1) ; 'Rec ' steht für Rekursiv
If Not Entity Return ; Wir wollen die Rekursive schleife auch ;irgendwann verlassen EntityPickMode entity,geometrie,verdecken ; Pickmode setzen For i = 0 To CountChildren(entity)-1 ;Alle unterobjekte durchgehen ent = GetChild(entity,i) EntityPickModeRec(ent,geometrie,verdecken) ; Auf alle unterobjekte die selbe Funktion Next ;anwenden, somit wird auch auf alle unterobjekte unseres unterobjekts ; die Funktion angewandt End Function mfg Moep |
||
Hardstyle Schleichwerbung:
http://www.youtube.com/user/Hackepeter42 Achtung: Suchtgefahr! moep123.ohost.de |
![]() |
Puccini |
![]() Antworten mit Zitat ![]() |
---|---|---|
also, mein problem mit der kolllision is erstmal erledigt ![]() der trick mit der 1 hinten dran hat geholfen! Einfach EntityType mesh,CollTyp,1 und es geht! das mit dem picken geht leider immer noch nich und das mit dem rekursiv machen hab ich net ganz durchschaut! das muss ich mir nochmal zu gemüte führen! weil man soll ja auch mal mit leuten reden können und da is picken ganz gut ![]() |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
![]() |
Moep |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann auch sein dass es an meiner Funktion liegt^^, ich hab die nämlich nicht getestet.
Das mit der Rekursion hab ich verstanden , indem ich einfach die eine beispiel Funktion schritt für schritt durchgedacht habe, also was sie eig. macht^^. Es hilft^^. mfg Moep |
||
Hardstyle Schleichwerbung:
http://www.youtube.com/user/Hackepeter42 Achtung: Suchtgefahr! moep123.ohost.de |
![]() |
Puccini |
![]() Antworten mit Zitat ![]() |
---|---|---|
was sagt mir das "verdecken" in der funktion genau???
hmm, könntest du vielleicht ein kleines beispiel coden? einfach mal die zeilen noch dranhängen wo du 1.das entity läds 2.das entity mit der function bearbeitest 3.das ergebtnis nutz! muss nicht funktionnieren die funktion, nur der grobe aufbau! ich hab die funktion so wie sie is in mein programm kopiert und dann nach dem laden den mode festlegenlassen! hat aber net geklappt! |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
![]() |
Moep |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] ;Für das verdecken sie hier : http://blitzbase.de/befehle3d/EntityPickMode.htm
;lag übrigens an meiner Funktion ^^, CountChildren(Entity)-1 war falsch, die -1 ist zu viel. Const gw=1024 Const gh=768 Graphics3D gw,gh, 32, 2 Global Cam = CreateCamera() ; wir brauchen ne Kamera CameraRange Cam,0.1,10000 ; is ja nurn test Global mxs#,mys# mesh=LoadAnimMesh("C:\Programme\Blitz3D\Samples\Blitz 3D Samples\FlameDuck\Walker\walkanim.3DS") ; von mir aus auch was anderes^^ ScaleEntity mesh,0.03,0.03,0.03 ; das ding wäre sonst viel zu groß EntityPickModeRec mesh,2 ; Joa die Funktion halt PointEntity Cam,mesh ; Auf mesh gucken Global sp#=0.3 ;kamera speed Global txt$ ;angezeigter Text light=CreateLight() ;es werde licht PositionEntity light,Rand(-100,100),Rand(100,300),Rand(-100,100) PointEntity light,mesh CameraClsColor Cam,128,128,128 ;schwarz is zu dunkel^^ HidePointer ;keine Maus bitte While Not KeyDown(1) MoveMouse gw/2,gh/2 ;damit uns die Maus nicht ausm Fenster springt pick=CameraPick(Cam,gw/2,gh/2) ;wir wollen auch sehen das die Funktion funktioniert^^ If pick txt = "Picked Entity : " + EntityName(pick) Else txt = "No Entity Picked!" EndIf ;--------------Kamerabewegung--------------------- If KeyDown(17) Then MoveEntity Cam,0,0,sp If KeyDown(31) Then MoveEntity Cam,0,0,-sp If KeyDown(30) Then MoveEntity Cam,-sp,0,0 If KeyDown(32) Then MoveEntity Cam,sp,0,0 TurnEntity Cam,mys*0.3,-mxs*0.3,0 RotateEntity Cam,EntityPitch(Cam),EntityYaw(Cam),0 ;--------------Kamerabewegung--------------------- ;-------------Rest ist denk ich Klar------------- RenderWorld Color 255,0,0 Oval gw/2-5,gh/2-5,10,10,0 Color 0,0,255 Text 20,20,txt Flip mxs=MouseXSpeed() mys=MouseYSpeed() ;-------------Rest ist denk ich Klar------------- Wend End ;----------Die Funktion------------------------------- Function EntityPickModeRec(Entity,geometrie,verdecken=1) If Not Entity Then Return ; Wenn es das Entity nicht gibt, die Funktion garnicht erst ausführen EntityPickMode Entity,geometrie,verdecken ;Ganz normal Pickmode Setzen For i = 0 To CountChildren(Entity) ;Geht alle Childs durch ent = GetChild(Entity,i) ;Child 'kriegen' EntityPickModeRec(ent,geometrie,verdecken) ;Die selbe Funktion von eben nochmal auf alle Childs ausführen Next ; Ich hoffe du versteht das jetz^^ End Function |
||
Hardstyle Schleichwerbung:
http://www.youtube.com/user/Hackepeter42 Achtung: Suchtgefahr! moep123.ohost.de |
![]() |
Puccini |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm, ok! jetzt klapps ![]() wer weis was ich da verkehrt gemacht habe -.- danke nochmals ![]() |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group