warum dreht sich camera mit?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: warum dreht sich camera mit?

BeitragSo, Okt 14, 2007 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute,
Ich hab hier ein sch*** einfaches Problem, aber ich bin gerade echt zu dumm, herrauszufinden woran das liegt...

Ich lade ein mesh ganz normal
dann drehe ich es
und danach erstelle ich die camera und trage das mesh das vorher gedreht wurde als Parent ein.


Jetzt hat sich aber die camera mitgedreht, und von der drehung des meshs sieht man nun natürlich nichts mehr.

normal dürfte das doch nicht sein,oder?
Weil ich drehe das mesh ja bevor ich die camera und parent erstelle,oder??

Code: [AUSKLAPPEN]
Hier der code:
Graphics3D 1024,768,32,2
SetBuffer BackBuffer()

;---------------MESHDATEN EINLESEN------------------
Global file$,name$,meshkopf$,meshbeine$,waffe1pfad$,waffe2pfad$,waffenart1,waffenart2
loadmech()
;---------------------------------------------------


;---------------DIE MESHS LADEN-------------------------
Global playermesh=LoadMD2(meshbeine$)
ScaleEntity playermesh,10,10,10
PositionEntity playermesh,0,20,0
RotateEntity playermesh,0,90,0

EntityType playermesh,2
EntityRadius playermesh,10,1
;----
Global waffenmesh2=LoadMesh(waffe2pfad,playermesh)

Global arena=LoadMesh("arena1.b3d")
PositionMesh arena,0,0,0
ScaleMesh arena,150,150,150
EntityType arena,1
;----
Global kopf=LoadMesh(meshkopf,playermesh)
Global kwinkel=0 ;Der Winkel des kopfs
;----
Global light=CreateLight():PositionEntity light,0,100,0,1:PointEntity light,arena
AmbientLight 100,100,100
Global cam=CreateCamera(playermesh):PositionEntity cam,0,3,-3 
;-------------------------------------------------------


wäre nett wenn ihr mir helfen könntet.

mfg
mas93
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Okt 14, 2007 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht das Parent, sondern das Child drehen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

mas93

BeitragSo, Okt 14, 2007 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
wie meinst du das?
Normal müsste es doch so gehen wie ich es gemacht habe.

Meinst du ich soll die Camera drehen?
wäre ja blöd, weil dann müsste ich alle anderen objektee auch neu ausrichten
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Okt 14, 2007 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ihr zwingt mich immer dazu alle meine genannten Beispiele mit geschriebenen Code zu bestätigen, was Zeit in Anspruch nimmt. Aber ja, so wars es gemeint, habe aber auch festgestellt, das sich das ''selbe'' Ergebnis auch mit ql:RotateMesh erledigen lässt. Allerdings weiß ich nicht, ob dann bereits angehängte Objekte mitberücksichtigt werden.

Code: [AUSKLAPPEN]
Graphics3D 800,600,0,2
SetBuffer BackBuffer()

camera=CreateCamera()
PositionEntity camera,0,0,-10

c1=CreateCube()
EntityColor c1,255,0,0
RotateMesh c1,0,0,30

c2=CreateCube(c1)
EntityColor c2,0,255,0

While Not KeyHit(1)
   TurnEntity c1,0,0,.1
   RenderWorld
   Flip
Wend
End


RotateEntity anstelle RotateMesh geht eben nicht.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Dreamora

BeitragSo, Okt 14, 2007 23:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein das Mesh verändert nur die geometrischen Daten eines spezifischen Entities, da ein Mesh wie zb ein Bone etwas ist was an ein Pivot (aus sicht von B3D das GrundEntity) angehängt ist.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Sung

Gast

Betreff: Re: warum dreht sich camera mit?

BeitragMo, Okt 15, 2007 11:51
Antworten mit Zitat
mas93 hat Folgendes geschrieben:

Ich lade ein mesh ganz normal
dann drehe ich es
und danach erstelle ich die camera und trage das mesh das vorher gedreht wurde als Parent ein.


Du willst doch ein freie Kamera erstellen. Dazu erstelle doch ein neu Kamera. Die die du drehen willst ist doch an das Mesh angehängt?

mas93

BeitragMo, Okt 15, 2007 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, also muss ich rotatemesh verwenden.
Aber wenn ich das tue, dann kommt:" Entity is not a mesh"
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]
 

Dreamora

BeitragMo, Okt 15, 2007 14:23
Antworten mit Zitat
Benutzer-Profile anzeigen
dann hast du es nicht auf die entity angewendet die ein mesh ist, sondern auf irgend ein entity wo das mesh als child angehängt ist.
die mesh befehle gehen nur auf entities die explizit meshes sind, nicht auf pivots.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

mas93

BeitragMo, Okt 15, 2007 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich will doch das entity playermesh drehen,ohne dass sich die daran "gebundene" Camera mitdreht.
Also habe ich gemacht:

Code: [AUSKLAPPEN]
rotatemesh playermesh,0,90,0

was ist daran falsch?
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Ray-Tracer

BeitragMo, Okt 15, 2007 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok ,Ich hoffe Ich hab das richtig verstanden

erstelle ein playerpivot
erstelle Camera(Parent:playerpiv)
erstelle das playermesh(Parent:playerpiv)

drehe playerpivot :playermesh und Camera dreht sich mit
drehe playermesh:nur playermesh dreht sich

Rotatemesh sollte man nur ausserhalb des Mainloops verwenden.
__wunschklang__
 

Dreamora

BeitragMo, Okt 15, 2007 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Korrekt.

Die Mesh Befehle sind zeitaufwendig, denn sie verändern die geometrie.
Die Entity Befehle hingegen haben keinerlei auswirkung auf geometrie, sie verändern nur wie und wo etwas gerendert wird.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

mas93

BeitragMo, Okt 15, 2007 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
ok danke, hat funktioniert!
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Okt 15, 2007 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ihr habt mich missverstanden, denn es war nie die Rede von ständig zu drehenden Objekten, sondern einmal ''zusammengepappte'' Objekte. So, wie sie von mas93 im ersten Beitrag auch in seinem Codebeispiel angegeben sind. Daher ist RotateMesh nicht falsch, nur die Frage, ob er dieses für seine Zwecke nutzen kann.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group