kinda Tut - Blender und PB

Hier kannst du häufig gestellte Fragen/Antworten und Tutorials lesen und schreiben.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

kinda Tut - Blender und PB

Beitrag von bobobo »

Blender und PB

Du brauchst ein Tutorial ?

Gibt's doch alles von blender.org
Blender besorgen

Ich hab mir dann die Dokus
Blender 2.3 Guide (Vol I - User)
Blender 2.3 Guide (Vol II - Reference)
besorgt, wobei das Vol I gute step by step Anleitungen enthält
allerdings ist das für ne ältere Version so dass man manchmal etwas suchen muss um die aktuellen Entsprechungen zu finden.

Und dann noch ein paar Beispiele um zu gucken
Such auf blender.org mal nach test242.zip , das enthält ein paar nette Sachen.

----
Als erstes solltest Du Dich kundig machen, wie man mit der BlenderOberfläche
das FensterLayout beeinflussen kannt. Dazu ein paar Demos angucken. Und dann
eventuell mal den Cursor in den Rändern mit der rechten Maustaste kitzeln.


Ich habs letztlich so gemacht, dass ich mir das Männchen gebastelt hab
(aus einem Cube wie im Usertutorial zum Gingerbreadman)

Fenstereinteilung oben ein Ansichtsfenster und unten eins für die
Parameter (ButtonsWindow)

im EditMode dann die Normalen alle nach außen gerichtet
F9 und Draw Normals und dann so wie im Tut beschrieben

unten auf UV/Image Editor gestellt
oben UV Face Select und A so lange gedrückt bis alle Faces markiert waren.

unten dann im Menue unter UVs Unwrap gedrückt und dann
Archimap UV Projection Unwrapper (das ordnet die Faces unten netter an)

dann unten Image und New - Größe hatte ich auf 512 beidseitig gestellt
unten wird das dann schwarz und du kannst unten unter View das
Paint tool aufrufen und damit die Faces bemalen.

WICHTIG!!! Das Image sichern nicht vergessen !!!

Zum Export nach Ogre oben auf Objectmode stellen und das Objekt auswählen.
unter File - Export - OgreXML (muss natürlich installiert sein .. das Plugin
findest Du auf ogre3d.org .. dort auch die commandlinetools runterladen und
irgendwo installieren.)
Fehlermeldungen bezüglich fehlenden Materials kann man umgehen
indem man einfach ein Material zuweist. Ignorieren ware hier auch
eine Möglichkeit.

Solltest Du auch Animationen (armaturen) erstellt haben (ist im Usertut
eigentlich gut beschrieben) so tauchen die schon auf oder sind dort
auswählbar. (Animation settings of : ----)

Export Armatures sollte an sein.
Export exportiert das Zeug dann als XML-Dateien.
eine für das Objekt und eine für die Animation (skeleton)

Im Mesh.XMl steht ganz unten ein Verweis auf die Skeleton Datei
Solltest Du die SkeletonDatei lieber umbenennen wollen so ist es wichtig
diesen Verweis VOR der Umwandlung in mesh entsprechend anzupassen.
Ich habe so den vorgeschlagenen Namen zu GB.* umgewandelt.

Beide wandelst Du mit dem OgreXMLConverter zu mesh bzw. skeleton-Dateien.

die mesh und skeleton und das Image kannst Du dann wie in den PB-Demos per
PB laden (ich pass mir dazu immer das skyboxExample an)

die Animationen sind in PB dann auch verfügbar (GrossKleinschreibung beachten)


Und hier das fertige PB-Demo.(~73Kb)

Sollte hier irgendwas falsch sein so hab ich mich nur vertan ..
Für Änderungen und Erweiterungen bin ich aufgeschlossen.

Ich bin dann mal auf Deine Ergüsse gespannt.
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
MASH
Beiträge: 130
Registriert: 22.05.2005 17:43

Beitrag von MASH »

Hallo, ich habe ein paar probleme mit der Konvertierung und/oder der Textur von MESH's.

Folgendes:
Ich habe soweit alles in Blenda hin bekommen und auch exportiert zu einer xml datei dann habe ich mir den xml 2 mesh Konverter geschnappt der auf der ogre page bei wings steht und es in eine MESH umgewandelt. Ich habe es eingebunden und ich sehe das objekt auch allerdings hat es nur eine Texturenfarbe, und zwar den ersten pixel auf in meiner Grafik (jpg).

Was habe ich falsh gemacht?

Gruß MASH.
Danke Mark S.
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

entweder hast du das ganze falsch UV gemapped... oooder

die textur wurde nicht gefunden.

Was passiert wenn du im Mesh example:

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Mesh (Skeleton Animation)
;
;    (c) 2002 - Fantaisie Software
;
; ------------------------------------------------------------
;

IncludeFile "Screen3DRequester.pb"

Define.f KeyX, KeyY, MouseX, MouseY

#RobotMesh    = 0
#RobotTexture = 0
#Robot        = 0
  
If InitEngine3D()

  Add3DArchive("Data\"          , #PB_3DArchive_FileSystem)
  Add3DArchive("Data\Skybox.zip", #PB_3DArchive_Zip)
  
  InitSprite()
  InitKeyboard()
  InitMouse()
  
  If Screen3DRequester()
    
    LoadMesh   (#RobotMesh   , "Robot.mesh")
    LoadTexture(#RobotTexture, "clouds.jpg")
    
    CreateMaterial(0, TextureID(#RobotTexture))
    
    CreateEntity(#Robot, MeshID(#RobotMesh), MaterialID(0))
    EntityMaterial(#Robot, MaterialID(0))
    
    DisableMaterialLighting(0, 1)
    
    MaterialAmbientColor(0, RGB(100, 100, 100))
    MaterialSpecularColor(0, RGB(255, 255, 255))
    ScrollMaterial(0, 0.15, 0, 1)
        
    CreateLight(0, RGB(0,0,255), 100.0, 0, 0)
    LightSpecularColor(0, RGB(255, 0, 0))
    
   
    CreateCamera(0, 0, 0, 100, 100)
    CameraLocate(0,0,0,100)

      
    Repeat
      Screen3DEvents()
      
      ClearScreen(RGB(0, 0, 0))
            
      If ExamineKeyboard()
      
        If KeyboardPushed(#PB_Key_Left)
          KeyX = -1
        ElseIf KeyboardPushed(#PB_Key_Right)
          KeyX = 1
        Else
          KeyX = 0
        EndIf
        
        If KeyboardPushed(#PB_Key_Up)
          KeyY = -1
        ElseIf KeyboardPushed(#PB_Key_Down)
          KeyY = 1
        Else
          KeyY = 0
        EndIf
        
        If KeyboardPushed(#PB_Key_PageUp)
          RollZ = 3
        Else
          RollZ = 0
        EndIf
        
        If KeyboardPushed(#PB_Key_Add)
          frame.f+0.005
        EndIf
        
      EndIf
      
      If ExamineMouse()
        MouseX = -MouseDeltaX()/10 
        MouseY = -MouseDeltaY()/10
      EndIf
      
      RotateEntity(#Robot, 1, 0, 0)
      
      RotateCamera(0, MouseX, MouseY, RollZ)
      MoveCamera  (0, KeyX, 0, KeyY)
      
      RenderWorld()
      Screen3DStats()
      FlipBuffers()
    Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
  EndIf
    
Else
  MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
  
End
...änderst auf ...

Code: Alles auswählen

LoadMesh   (#RobotMesh   , "Dein.mesh")
LoadTexture(#RobotTexture, "DeineMeshtexture.jpg")
? ;)

Achte drauf das in diesem Fall Mesh und Texturen im Pfad Data/ gesucht werden.

Thalius
Benutzeravatar
MASH
Beiträge: 130
Registriert: 22.05.2005 17:43

Beitrag von MASH »

Ja habe ich so gemacht, wie beschrieben. Das Objekt kann ich sehen es wird also geladen und ich sehe auch den ersten Pixel der textur, aber ich bin mir auch nicht ganz sicher ob ich das mit der Textur richtig gemacht habe, in blender...

Ergebnis:

Bild

EDIT: Hier ist die Textur

Bild
Danke Mark S.
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

hmm die Textur sieht ok aus... probier die mal zu resizen und versuchs nochmals: Zb 512x512 oder 256x256 -> 1024 iss bissi arg gross.

Texturformat ist jpg ?

Hast du ein .material file im Ordner ?
Wenn ja, was steht da drinne ?

Thalius
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

vielleicht ist der Konverter von der Wings3dSeite ja auch nicht ganz richtig


der auf der OgreSeite sollte gehen

www.ogre3d.org download tools commandlinetools
ogreXMLconverter auf die ...mesh.xml und ...skeleton.xml loslassen.

Ansonsten hülfe vielleicht wenn Du die blend-Datei nebst Textur mal zugänglich machst.
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
MASH
Beiträge: 130
Registriert: 22.05.2005 17:43

Beitrag von MASH »

Ja genau damit habe ich Probleme mit dem Konverter, ich habe da den Wings konverter und dann den für XML to MESH genommen ich finde aber die Commandline tools auf meiner HD nicht wieder...


EDIT:

Hier sind nochmal die Dateien

http://uploaded.to/?id=vtbol8

Ich weiß etwas komisch aber ich bin auch noch ein wenig Anfänger auf dem 3D-Gebiet.
Danke Mark S.
Benutzeravatar
Vallan
Beiträge: 223
Registriert: 20.01.2006 19:34
Kontaktdaten:

Beitrag von Vallan »

äm, wenn ich bei Blender ein md2 modell erstellen will, was muss ich dann dafür alles erstellen? (Texur, uv, material ?)
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

@mash
mal gezogen und schaus mir heute Abend mal daheim an.
Apropos: Du brauchst den OgreXML Converter der version 1.0.3 iirc.

EDIT:
Ok habs getestet , ja sieht so aus als hättest du das ganze falsch UV gemapped ;)

Als Tip .. deine .material datei sollte gleich wie deine Mesh datei heissen.

Hier den Konverter den ich mal auf die schnelle gefunden hab ( ist ned 1.0.3):
http://www.code5.ch/meckardt/tools/Ogre ... v1.2.3.msi
...aber funzt ...

Schau dir mal die .material files in nem editor an, falls du die texturen nämlich ned per PB nachladen willst kannst du diese direkt in den .material files ablegen und in PB dann via Parse3DScripts() einlesen.

Beispiel eines ogre-material files mit Textur:

Code: Alles auswählen

material tree2
{
	technique
	{
		pass
		{
			ambient 0 0 0 1
			diffuse 0.752941 0.752941 0.752941 1
			specular 0 0 0 1 40

			texture_unit
			{
				texture tree2.png
			}
		}
	}
}
ps. Wenn du was seriöseres machen willst nimm lieber Irrlicht:
http://www.purebasic.fr/english/viewtopic.php?t=24164

imo PB's Ogre Implementation reicht grade mal für Demos - alle Spielspezifischen dinge musst du grösstenteils selbst schreiben ( was nicht unbedingt schlecht ist -- aber kann durchaus seine Zeit zum lernen brauchen ). Siehe: http://www.purebasic.fr/english/viewtopic.php?t=23301
für paar Tips.

achja...
Irrlicht kann Ogre Models laden.

@vallan

UV oder nich iss dir überlassen ( ohne UV isses halt ned "geskinned" ).

ein MD2 Model besteht in der Regel aus nem mesh, UV-Mapped und einer Bones Struktur mit diversen Anims.

Def Anims im MD2 Format:

Code: Alles auswählen

    //  - 21 MD2 model animations.
    // first, last, fps

    {   0,  39,  9 },   // STAND
    {  40,  45, 10 },   // RUN
    {  46,  53, 10 },   // ATTACK
    {  54,  57,  7 },   // PAIN_A
    {  58,  61,  7 },   // PAIN_B
    {  62,  65,  7 },   // PAIN_C
    {  66,  71,  7 },   // JUMP
    {  72,  83,  7 },   // FLIP
    {  84,  94,  7 },   // SALUTE
    {  95, 111, 10 },   // FALLBACK
    { 112, 122,  7 },   // WAVE
    { 123, 134,  6 },   // POINT
    { 135, 153, 10 },   // CROUCH_STAND
    { 154, 159,  7 },   // CROUCH_WALK
    { 160, 168, 10 },   // CROUCH_ATTACK
    { 196, 172,  7 },   // CROUCH_PAIN
    { 173, 177,  5 },   // CROUCH_DEATH
    { 178, 183,  7 },   // DEATH_FALLBACK
    { 184, 189,  7 },   // DEATH_FALLFORWARD
    { 190, 197,  7 },   // DEATH_FALLBACKSLOW
    { 198, 198,  5 },   // BOOM
};
Wenn du dich mehr ins MD2 einlesen willst gibbs hier:
http://tfc.duke.free.fr/old/models/md2.htm mehr Infos.

Thalius
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

wenn der Bauer nicht fahren kann ist der Trecker Schuld, klar

sooo schlecht ist das ogre gar nicht .. außerdem isses in pb schon
eingebaut .. aber egal


zum Thema

ich hab mir Deine Meshes auch mal angeguckt und hab die etwas nachbearbeitet. Ausgerichtet, kleiner skaliert.

die beiden relevanten Objekte zusammengefasst und dann auch noch die doppelten Vertixe rausgenommen. Das Mapping etwas an die
Gegenheiten angepasst (Dazu Bild im UV_MapEditor laden und die
UV-Faces bereichsweise laden (je nach Anforderung als Sphere oder zylidrisch mappen (unten und unten auf dem Bild zurechtruckeln bis es oben gut aussieht. Skalieren in x und y Richtung mit nachträglichem
verschieben und oder Drehen hilft da enorm)

nach dem Mappen habe ich die kugel (nur die) noch etwas subdiveded und gesmoothd, damit sie runder wird.

http://www.vsurf.de/figure.zip

achso .. alles in blender nachbearbeitet und exportiert als xml und mit dem aktuellen ogreXMLkonverter zum mesh gemacht.


Das nächste Mal lass ich den Kegel noch mit dem Kopf wackeln.
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten