Et spørgsmål af nysgerrighed...

Tags:    c++

<< < 12 > >>
Hej allesammen!

Jeg har et lille spørgsmål af nysgerrighed:

Jeg laver en del 3D modeller i Maya 8.5
Hvis jeg nu ville bruge dem i et spil, hvilket format skulle mine modeller så være? Og skal jeg gøre noget i Maya for at lave kontrolpunkter C++ kan styrer?



Jeg har selv lige siddet og rodet med noget low-pol, der er det der Collada plugin til Maya som er rimelig hot pt.

http://sourceforge.net/projects/colladamaya

Det exporterer til Collada. Jeg ved desværre ikke om det indebærer C++, jeg ville bruge det til Flash.

men det er.. hammer svært så du skal nok væbne dig med noget tålmodighed. men så vidt jeg kan se exporterer de til DirectX med det fra Maya.
Jeg ved desværre ikke mere lige nu..







Hej Jakob,

Du skal exportere til .fbx.

Lad ikke C++ animere bonesne. det er muligt, men upraktisk idet at det du kan kontrollere er bones vinkler i forhold til parent (ikke let at animere). I .fbx kan du både have morph targets og skeleton animations med.

Animation foregår ikke pr. kontrolpunkter, men ved hjælp af skelet animation. Disse kan drejed i henhold til vikler fra parent, det er måden du laver animationer igennem C++.

Med venlig hilsen
Ieet

Ps. Kig på www.ogre3d.org, der er en rigtig god render engine hvis du vil hurtigt igang. Og der er LexiExporter som er godt (hvis du selv vil lave en importer og ikke kan lide .fbx).




Peter Bille:
Skal det abselut være low-pol? Hvor meget forøger en medium-pol eller high-pol load tiden?

Ieet:
Jeg skal altså lade vær med at sætte bones i min model, hvis jeg vil animere?
Det der skelet-animation, opbygger man så skelettet i selve C++ programmet, eller i Maya?

Render:
Havde faktisk overvejet Direct3D... Da jeg har hørt at det giver store muligheder.

Og BTW: Er det muligt at lave fur i spil, eller skal det være en "glat" overflade?

Edit:
Et par spørgsmål:
Hvilke tutorials skal jeg læse?
Har hørt at pointere er vigtige, men ellers noget?
Hvordan skal jeg begynde?
Hvilken engine (Det er jo "umuligt" at lave sin egen ikk?)



Indlæg senest redigeret d. 12.03.2008 16:14 af Bruger #11328


Hej Jakob,

Jeg har vidst været uklar. Du skal sætte bones i din model, benyt helst Mayas indbyggede biped skelet og "rig" modellen til den. Biped skellettet indeholder bones, så hvis du foretrækker selv at lave bones kan dette også gøres i Maya.

Render:
Debatten om DirectX/XNA og OpenGL er meget en smags sag. Begge giver gode muligheder. Ogre3D er en render engine, som giver dig mulighed for at benytte enten OpenGL eller DirectX på en lettere måde. Ogre3D er et lag, som du benytter i din software, til at kalde DirectX eller OpenGL -for at gøre dette lettere.

Fur:
Ja, det er muligt - men det er sjældent en god ide at gøre. Fur i Maya har speciel fysik på, og denne fusik bliver ikke vidreført. Oftest benyttes der også rigtig mange polygoner til det.

Tutorials:
Inden jeg kan komme med råd vil jeg gerne høre dine valg af udviklings værktøjer og udviklings miljø.

Pointere:
Pointere er vigtige, idet at de er nyttige og kan hjælpe til at et program virker mere effektivt når benyttet korrekt.

Start på at lave spil:
jeg er igang med en programmerings serie som kan fungere til det grundlæggende i at lave spil. Jeg benytter dog OpenGL, men at arbejde igennem de samme skridt som jeg beskriver i XNA eller DirectX er en god vejledning. I XNA kan nogle skridt skippes. Hvis du vil igang hurtigre, så start med at vælge udviklingsmiljø og værktøj, så linker jeg.

Hvilken engine:
Gamemaker ? Jeg syntes at det er sjovere at lave min egen. Igen, det er et valg om hvor meget du vil have at programmeringsværktøjest skal gøre for dig - Ogre3D kræver nærmest at du laver en engine, men den viser grafikken for dig.
Hvis du sidder på en Mac er Unity enginen ikke dårlig og meget tilgængelig, specielt for grafikere.
Det er i praksis umuligt at lave en engine selv som vil kunne blive benyttet til AAA titler, men til enkle demoer og test af teknikker og metoder kan du sagtens lave en lille engine (som min guide vil beskrive en del af).

Med venlig hilsen
Ieet






Jeg har valgt at bruge DirectX (DirectSound, Direct3D osv.)
Med hensyn til fur, det lyder lidt ærgeligt, da et dyr så vil se lidt skægt ud...

Udviklingsværktøjer? Udviklingsmiljø?
Altså som sagt bruger jeg DirectX Som kun køre på Windows, men er nu jeg selv skriver det her ikke helt sikker, da jeg synes det er lidt halv egoistisk at lave noget kun til windows.... Er OpenGL meget svært?
Værktøjer: Maya, MinGW(kan godt bruge en anden hvis det er det...),Og så CodeBlocks som IDE...

Engine: Jeg tror jeg holder mig til at bruge en 3. parts.... Jeg har nemlig INGEN anelse om hvordan man laver sådan een...

Edit:
Er i gang med at læse HELE cplusplus.com igennem, og genopfrisker lige nu classes. Kunne de ikke bruges til at oprette objekter i en 3D verden? Eller hvad skulle jeg ellers bruge?




Indlæg senest redigeret d. 12.03.2008 16:57 af Bruger #11328
Jeg har valgt at bruge DirectX (DirectSound, Direct3D osv.)
Med hensyn til fur, det lyder lidt ærgeligt, da et dyr så vil se lidt skægt ud...

Udviklingsværktøjer? Udviklingsmiljø?
Altså som sagt bruger jeg DirectX Som kun køre på Windows, men er nu jeg selv skriver det her ikke helt sikker, da jeg synes det er lidt halv egoistisk at lave noget kun til windows.... Er OpenGL meget svært?
Værktøjer: Maya, MinGW(kan godt bruge en anden hvis det er det...),Og så CodeBlocks som IDE...

Engine: Jeg tror jeg holder mig til at bruge en 3. parts.... Jeg har nemlig INGEN anelse om hvordan man laver sådan een...

Edit:
Er i gang med at læse HELE cplusplus.com igennem, og genopfrisker lige nu classes. Kunne de ikke bruges til at oprette objekter i en 3D verden? Eller hvad skulle jeg ellers bruge?


Nu har jeg _ikke_ noget med spilprogrammering at gøre, men jeg synes selv at det ville være oplagt at lave det objektorienteret, hvis man skal vælge.



Når du siger objektorienteret, mener du så med klasser og funktioner? For det synes jeg også virker oplagt og nemmest :)



Jakob:

Udfra det jeg læser vil jeg som grafiker sige når Ieet viser dig en engine som bare spiller og som han kender og som har et plugin til Maya der blæser det lige ind på scenen.

så ville jeg nok vælge det!!!... men sefølig som programmør ville jeg nok ikke lige gøre det.

Men du får MERE end rigeligt arbejde med modellerne så at både skulle kode det fra bunden osv det er over the top IMO.

Jeg kender ikke den engine, men low spænder fx fra 3 K tris på en model, medium/high findes ikke rigtig. Lowpol er bare et udtryk der dækker "game-3D". fx en større 3D model til film går helt op til 1 million quads.

Men du skal forhøre dig på forum om polystørrelser, der har noget med den engine at gøre som du bruger, fordi der er også texturestørrelse osv.

Jeg synes ikke der er nogen tvivl om at du skal gå den vej der allerede er banet (Ieet).. jeg synes det lyder herrespændende, jeg ville ønske jeg havde tid til at fyre et par modeller af til dit projekt :-)

Der ligger et ton af tutorial til rigging på nettet. men hvis Ieet har et hurtigt tip til hvordan han gør, så hør. ellers er der færdige rigs (men med IK) på

http://www.rigging101.com/

til Ieet: det er super spændende jeg glæder mig til at følge med i om du kommer til at lave lidt tutorials til ham. Jeg har nemlig selv lidt tanker om at lave figurer (har lavet nogen men har ikke rigtig kommet videre) :-)









Indlæg senest redigeret d. 12.03.2008 18:57 af Bruger #11506
Plz Link... :) Lyder super spændene Ieet!!!





Hej igen,

Jeg prøver lige på at svare på tingne her...

Udviklingsværktøjer og udviklingsmiljø; Ja, om du vil bruge DirectX eller OpenGL og om du vil benytte Code::Blocks eller Visual Studio... der er sikkert alternativer, men det er personligt foretrukkende.


OpenGL:
Nej, OpenGL er ikke sværere end DirectX at benytte. Det er virkelig en smags sag...


Engine:
Når du nu har valgt at benytte en 3. parts engine er spørgsmålet hvor meget du vil programmere ;) Hvad er det som du ønsker at lave i spillet? Den tidligre anbefalede "render engine" http://www.ogre3d.ord hjælper dig "kun" med at få grafikken og animationerne ind i programmet uden kendskab til DirectX og OpenGL, og du skal dermed i praksis selv lave en engine selv ;)

Jeg vil gerne anbefale en anden engine, hvis du prøver på at fortæle hvilke dele af spillet det er, som du kunne tænke dig at lave.


Classes & Objects:
C++ (og C#) er objektorienteret. Hvis du ikke designer dit program, spil, engine eller dele af disse efter objektorienterede principper med klasser og objekter kommer du helt sikkert ikke langt.


Low/High Poly (afhængigt af hardwaren PC antaget):
Low Poly ca. 1-5k Trekanter.
Medium Poly ca. 10-20.000 Trekanter
High Poly ca 50.000+ Trekanter

Til sammenligning kan du vurdere at der ca. er 200.000 trekanter i byscener i world of warcraft, i det der ses på skærmen og ikke cuttes af kamera, afstand, bagved camera, bagved andet ect.


Hurtig Rigging:
Lav model. Smid Skeleton i, fra biped skeleton default, indstil at hver knude/vertex kun skal påvirkes af 2 bones (please, så kan modellen animeres på grafikkortet af pros også på gamle systemer). Mig ikke animator, kan kund det grundlæggende og benytter selv hovedsageligt XSI med lidt 3dSMax "import/export" for lidt lettere features derigennem.


Tutorials:
Laver ikke til ham specifikt. Men beskriver udviklingen af min nye engine, idet at jeg koverterer og opdaterer designet af en del af min gamle. Vil gerne være istand til at gøre sådan at den kan rendere både igennem DirectX og OpenGL ;)


Link:
En super god render engine : Ogre3D
http://www.ogre3d.org


Med venlig hilsen
Ieet

Ps. Mine tutorials slak nok komme, men online dyr til frumprofiler og jobbet kommer først ;)







<< < 12 > >>
t