Dator > hur du gör din egen 3D-spel

  • hur du gör din egen 3D-spel


  • Att göra en 3D- spel kan vara en utmanande och tidskrävande sträva efter , men företaget Blitz Research , som har att göra program spelmotor sedan 2000 , har släppt den populära programpaket Blitz 3D att göra det enklare , samtidigt som man tillhandahåller tillräckligt funktionalitet och stabilitet producera kommersiella titlar såsom spel " Best Friends " , " Wonderland "och " Juno Nemesis ". Denna handledning kommer att gå igenom skapandet av enkla 3D- spel Tron beskrivs i tron. bb exempelfilen som följer med Blitz3D paketet .
    1 .
    Sätt upp buffertar . Eftersom bildskärmar uppdatera mycket snabbare än något spel kan skriva information till videominne , för att minska flimmer , de flesta spel använder en teknik som kallas dubbel buffring . Dubbelbuffring innebär att video information först dras till en virtuell skärm i minnet som kallas en "back buffer " och bara vänt till video minne ( kallad " front buffer " ) när en hel ram helt har tagits . Även om detaljerna av dubbel buffring kan vara mycket komplicerat och tekniskt , gör Blitz3D det enkelt . Skriv följande kommando :

    SetBuffer BackBuffer ( )
    2
    Skapa nivån. För att göra detta måste du skapa tre definierade grundläggande punkter : golvet , textur eller konstruktion , som kommer att täcka golvet , och en särskild spegel effekt som kommer att orsaka golvet att reflektera allt annat på kartan . Börja med struktur: Skriv följande i Blitz3D :

    grid_tex=CreateTexture ( 32,32,8 )
    ScaleTexture grid_tex , 10,10
    SetBuffer TextureBuffer ( grid_tex )
    Färg 0,0,64 : Rect 0,0,32,32
    Färg 0,0,255 : Rect 0,0,32,32 , False
    ( se referenser 1 för denna och alla andra källor kod som används )

    Detta ger oss en enkel struktur med ett upprepande blå rutnät design . Därefter skapa själva golvet objekt och tilldela det att använda grid_tex konsistens definierats ovan:

    grid_plane=CreatePlane ( )
    EntityTexture grid_plane , grid_tex
    EntityBlend grid_plane , 1
    EntityAlpha grid_plane , 0,6
    EntityFX grid_plane , 1

    Du kommer att använda planet Blitz3D objekt , vilket innebär att nivån kommer att fortsätta oändligt i alla riktningar . Slutligen skapar spegeln , bara för att det ser bra ut :

    spegel=CreateMirror ( )
    3
    Skapa cykeln och dess spår . För en Tron -liknande spel , behöver du en cykel , och du måste cykeln för att generera en vägg bakom det som det reser över nivån . Skriv följande för att generera dessa :

    trail_mesh=CreateMesh ( )
    trail_brush=CreateBrush ( )
    BrushColor trail_brush , 255. 0. 0
    BrushBlend trail_brush , 3
    BrushFX trail_brush , 1
    trail_surf=CreateSurface ( trail_mesh , trail_brush )
    AddVertex trail_surf , 0,2,0,0,0
    AddVertex trail_surf , 0,0,0,0 , 1
    AddVertex trail_surf , 0,2,0,0,0
    AddVertex trail_surf , 0,0,0,0,1
    AddTriangle trail_surf , 0,2,3
    AddTriangle trail_surf , 0,3,1
    AddTriangle trail_surf , 0,3,2
    AddTriangle trail_surf , 0,1,3
    trail_vert=2

    cykel=CreateSphere ( )
    ScaleMesh cykel . 75,1,2
    PositionEntity cykel , 0,1,0
    EntityShininess cykel , 1
    EntityColor cykel , 192,0,255
    4 .
    Skapa en kamera och en lampa . Allt i spelet har skapats nu , men du kommer inte kunna se något av det utan en definierad kamera och ett ljus för att lysa upp världen . Skriv följande för att skapa dessa objekt :

    kamera=CreateCamera ( )
    TurnEntity kamera , cam_d 45,0,0
    #=30

    ljus=CreateLight ( )
    TurnEntity ljus , 45,45,0
    5 .
    Skapa ditt spel loop . Först förklarade sig att även om Escape-tangenten inte har drabbats , bör hela slingan körs . Slingan innehåller allt upp till sökordet BEGE SIG , som är en förkortning för " medan slut " . Därefter matas bearbetas . Knappar 203 och 205 finns i vänster och höger piltangenter respektive , och när dessa knappar trycks , är det tur beloppet ökas eller minskas med 5 . Koden :

    Om tur
    TurnEntity cykel , 0 , vänd , 0
    EndIf

    förklarar att om det finns ett belopp att vända ( förutom 0 ) , 3D- objekt som representerar cykeln skall roteras runt y-axeln genom att många grader .


Previous:Vilka är fördelarna med Java uppgradera ? Next:hur man fixar c + + program





Relaterade artiklar


  • fördelarna med en flashdisk på SD-kort
  • java certifiering FAQs
  • hur du tar bort tangentbordet på en Toshiba M400 ez5031
  • Du kan ha mer än en app öppet på en IPAD?
  • hur man installera nätverkskort
  • Sony tx690p specifikationer
  • RS-232 & RS-432 protokoll
  • hur man får TV på din bärbara dator
  • HP Pavilion tx1000 underhållning pc specifikationer
  • Fujitsu batteri fpcbp37 specifikationer