md2/obj/3ds, wobei ich md2 bevorzuge.
kreuzer, zerstörer und uboote bräuchte ich in einer antiken piratenversion :D.
sei kreativ ![]()
Beiträge von Irrlicht
-
-
Schon, aber deren Umsetzung ist meistens mangelhaft oder Irrlicht kriegts mit deren Texturen nicht ganz auf die Reihe..
-
Hallöchen.
Arbeite seit kurzer Zeit an meinem neuen Irrlicht-Projekt: Schiffe versenken. Das Spiel wird sozusagen in einer "Piratenversion" dargestellt.
Die Map ist fertig, das ein oder andere Schiffsobjekt bräuchte ich noch. Wäre cool, wenn die Modellierer mir hier bei diesem Part bisschen weiterhelfen könnten.
Zum Spielmodus:
Über Lan und übers Internet kann man dann gegeneinander spielen.
Hier schon einmal ein Screenshot.
[Blockierte Grafik: http://www7.pic-upload.de/15.08.11/zetvuymds5we.jpg] -
Halli hallo hallöchen.
[autoit]
Heut hab ich en neues One-man-Irrlicht-Nebenprojekt gestartet.
[Blockierte Grafik: http://bildupload.sro.at/a/images/33-screenshot.jpg]#include "au3Irrlicht2.au3"
[/autoit][autoit][/autoit][autoit]
#include<misc.au3>
_IrrStart( $IRR_EDT_OPENGL, @desktopwidth, @desktopheight, $IRR_BITS_PER_PIXEL_32, _
$IRR_WINDOWED, $IRR_SHADOWS, $IRR_capture_EVENTS, $IRR_VERTICAL_SYNC_ON )
_IrrSetWindowCaption( "Mein neues Projekt
" )
$WaterMesh = _IrrAddHillPlaneMesh( "Flache", 8.0, 8.0, 32, 32, 0, 0.0, 4, 3, 8, 8 )
$WaterNode = _IrrAddWaterSurfaceSceneNode( $WaterMesh )
_irrsetnodescale($waternode,10,1,10)
$waterTexture = _IrrGetTexture( @scriptdir& "\water.png" )
_IrrSetNodeMaterialTexture( $WaterNode, $waterTexture, 0)
_IrrSetNodeMaterialFlag( $WaterNode, $IRR_EMF_LIGHTING, $IRR_Off )
_IrrSetNodeMaterialType ( $WaterNode, $IRR_EMT_REFLECTION_2_LAYER)
$camera = _irraddfpscamera(0, 100, 0.2, -1, 0, 1, 0)
_irrsetnodeposition($camera, 0, 20, 0)
$skydometexture= _irrgettexture(@scriptdir&"\skydome4.png")
_IrrAddSkyDomeToScene($skydometexture, 10, 10, 1, 100, 1000.0)
$CloudTexture = _IrrGetTexture( @scriptdir&"\cloud4.png" )
$CloudNode = _IrrAddClouds( $CloudTexture, 10,5,1000 )
_IrrSetNodeMaterialFlag( $CloudNode, $IRR_EMF_FOG_ENABLE, $IRR_ON )
_IrrSetNodePosition( $CloudNode, 0,1500,0 )
_IrrAddRotationAnimator( $CloudNode, 0, 0.1, 0 )
for $i= -1250 to 1250 step +250
_IrrDraw3DLine($i, 31, -1250, $i,31, 1250, 255, 255, 0)
nextWHILE _IrrRunning()
[/autoit][autoit][/autoit][autoit]$pos= _irrgetnodeposition($camera)
[/autoit][autoit][/autoit][autoit]
if _ispressed(01) then Msgbox(0, "", "X=" & $pos[0]& @crlf & "Z="& $pos[2])
If $pos[0]<-1250 or $pos[0]>1250 or $pos[2]<-1250 or $pos[2]>1250 then
msgbox(0, "", "You are at the map's end")
_irrsetnodeposition($camera, 0, 10, 0)
endif
_IrrBeginScene( 0, 50, 255 )
_IrrDrawScene()_IrrEndScene()
[/autoit]
WEND
Es soll bis jetzt nur ne Map erstellt werden.
Über die Wasseroberfläche soll ein Koordinatensystem gezeichnet werden. Für die x-Werte hab ich das schon gemacht, bzw. versucht zu machen.
Entweder is da en Fehler in der Logik der For-schleife...oder.... was weiß ich...
Die 3d-Linie wird auf jeden Fall nicht gezeichnet
Weiß jemand weiter?
Die Jpg's/png's werden für die korrekte Ansicht benötigt. Irrlicht-Dlls in system 32 und include im ordner, wäre von vorteil.
gruß billie
Edit: Die For-schleife muss zwischen _irrbeginscene und _irrdrawscene. Problem gelöst. -
Sorry, muss euch jetzt mal en bisschen in den Rücken fallen.
[autoit]ZitatDass du keinen Charakter siehst macht mich bedenklich.
_IrrAddZipFile( "../media/map-20kdm2.pk3", $IRR_IGNORE_CASE, $IRR_IGNORE_PATHS )
[/autoit][autoit][/autoit][autoit]$BSPMesh = _IrrGetMesh( "20kdm2.bsp" )
[/autoit][autoit][/autoit][autoit]$BSPNode = _IrrAddMeshToSceneAsOcttree( $BSPMesh )
[/autoit]Warum sollte ein Charakter gezeigt werden? Im Skript wird nur ne Map hinzugefügt, sonst nix. Vielleicht habt ihr beim kopieren was vergessen.
Ihr macht euch nicht einmal die Mühe, die Ordnerstruktur von au3irrlicht2 zu ändern. Kein Mensch braucht den Ordner Media; höchstens die eine Map. Die Datei könnte um etwa 55 Mb kleiner sein.
Finds richtig gut, dass ihr das mit der Kamera und den mathematischen Funktionen so gut hinbekommen habt. Aber ich weiß ja net, ob ihrs schon wusstet, aber es gibt auch ne First-person-camera. Bei dieser kann man die "Steuerungsparameter/tasten" genau so ändern und child-objekte (-> der Charakter FLutchs!) hinzufügen . Das ganze _ispressed-zeugs macht das Skript vermutlich nur langsamer.
Das ganze Flutch 1.0 zu nennen, ist meiner Meinung nach übertrieben, da es gar nichts mit Flutch und dessen Story zu tun hat. Es ist vl nicht mehr als ne Testdatei. Sry. Außerdem sind ungefähr 50% des Skripts einfach nur kopiert.
[autoit]
Edit:_IrrAddMeshToSceneAsOcttree
[/autoit]
Nützt solange ihr keinen Kollisionsanimator habt eher wenig. _Irraddmeshtoscene reicht auch erstmal. -
find dich net.
such mich ma; addy:siehe profil -
dein skypename ist nicht existent

-
ok, sag bescheid wenn du's dann so machen willst/hilfe brauchst bei irrlicht
-
Hm hatte da was vergessen: Wenns nur um die Steuerung bzw. Lenkung gehen würde, wärs perfekt. Aber wenn du was im dreidimensionalen Bereich machst, muss man immer den Aspekt von der Kamera beachten (->in welche Richtung man gerade schaut)
Ansonsten hät ich noch ne Idee:
Kennst du das Surfen aus dem Spiel Rayman?
http://www.youtube.com/watch?v=4SPZx39qedI
Schau's dir ab 5:00 an.
Hier hätte man das ewige Problem mit der Kamera nicht, die Erkennung der Gesten sollte aber schnell erfolgen... -
Naja zum testen, vielleicht mal was wie Labyrinthos

-
kannst auch den animator "removen" und das alles in ner while-schleife neu einstellen.
-
ich nehme an, die namen sind dann auch auf nem button?
vielleicht könnte man da was über das control machen (controlclick und so zeugs). ansonsten halt doch nochmal pixelsearch probiern -
Mr Irrlicht (<- ich :D) hats geschafft:
[autoit]#include "au3Irrlicht2.au3"
[/autoit][autoit][/autoit][autoit]opt("MustDeclareVars", True)
[/autoit][autoit][/autoit][autoit]
HotKeySet("{ESC}", "_exit")Global $Camera
[/autoit][autoit][/autoit][autoit]
Global $screen_width, $screen_height
Global $aMousePos[2], $aPoint[3], $aDirect[3], $aCamPos[3], $mesh, $node$screen_width = 800
[/autoit][autoit][/autoit][autoit]
$screen_height = 600_IrrStart( $IRR_EDT_OPENGL, $screen_width, $screen_height, $IRR_BITS_PER_PIXEL_32, _
[/autoit][autoit][/autoit][autoit]
$IRR_WINDOWED, $IRR_NO_SHADOWS, $IRR_IGNORE_EVENTS, _
$IRR_VERTICAL_SYNC_OFF )_IrrSetWindowCaption( "Irrlicht Tutorial" )
[/autoit][autoit][/autoit][autoit]
$camera= _irraddcamera( 0, 0, 0, 0, 0, 0)
$mesh= _irrgetmesh("C:\untitled.obj")
$node= _irraddmeshtoscene($mesh)
_IrrAddFlyCircleAnimator($camera,0, 0, 0, 10, 0.001)
WHILE _IrrRunning()
_IrrBeginScene( 255,255,255 )
_IrrDrawScene()_IrrEndScene()
[/autoit][autoit][/autoit][autoit]
WENDFunc _exit()
[/autoit]
_IrrStop()
Exit
EndFunc ; _exit -
Sehr geil.
Ich würde irgendwas mit Irrlicht machen, alles andere, eine Umsetzung im zweidimensionalen, wäre eine Verschwendung von dem Potenzial .
oder:
sowas wie Guitar Hero....2d würde reichen -
meine addy steht im profil...
-
Naja ich sehe die Kamera als ein Objekt an (wie zb md2). Dieses kann man auch durch einen Rotationsanimator drehen lassen.
Und wie gesagt, damit die Kamera immer auf das eigentliche Objekt gerichtet ist, verwendet man ...settarget.. -
Ja ähm, ich will auch ins team

-
Google mal Steganographie.
Ich weiß nicht, inwiefern das mit der Stegano reicht....
Gruß billie -
hachja, bei dem spiel hatte ich eine außergewöhnlcih gute score...



-
Hallo,
mir war mal langweilig. Hab mir en paar sachen angeschaut und im folgenden, sollen kleine verbesserungen aufgezeigt werden:Ob der Text gewickelt wird
Wie wird ein Text denn gewickelt?
#include "../au3Irrlicht2.au3"
Ich mag dieses ""../" einfach nicht. Ich fände es besser, wenn man die include von Anfang an in den altbekannten Include-Ordner schmeißt.while 1 _Irr2DFontDraw ( $BitmapFont, "UNSERE EIGENE SCHRIFTART", 120, 80, 250, 96 )wend
Ich bin mir nicht ganz sicher, ob das Label in der While-Schleife immer wieder neu gezeichnet werden muss. Ich glaub, es reicht, wenn man das label einfach schon davor hinzufügt. Generell bevorzugt meine wenigkeit _irraddstatictext() und _irrsetstatictext() (oder so ähnlich :))If $Vektor[1] < $screen_width -88 -40 Then $Vektor[1] += 0.5
Als Vektoren muss man die Teile glaub noch nicht bezeichnen. Sind, wenn ich mich nicht irre, simple Koordinaten im 3-dimensionalen Koordinatensystem.Aber in der 3D-Welt wird vieles komplexer.
Ach ja? was denn? die dritte Koordinatenvariable? oder etwa die kollisionsanimatoren? präzisieren, wenn möglich!Um eigene Maps zu erstellen empfiele ich Hammer.
Earth Sculptor ist eine sehr einfache und effektive Alternative!Der Unterschied ist faszinierend.
Unglaublich!So das wars. Sind wie gesagt nur Kleinigkeiten; ansonsten: super tutorial!
Gruß, Billie