|
[ armilian @ 17.12.2005. 11:51 ] @
| Sa jos nekoliko drugara odlucio sam da pravim igricu.Hteo sam prvo tj hteli smo prvo RPG pa smo se odlucili za neku space(svemirsku) strategiju jer mi je lakse napraviti scene i modele u 3dmaxu.Sada trazimo engine za nasu igricu i koji je najbolji za ubacivanje 3dmax modela u engine.Pokusao sam sa blenderom ali nesto ne ide.I koji bi nam engine bio najbolji?Imamo i c/c++ i vb i vb.net programera mene i jos jednog za 3dsmax,mayu i lightwave i jos dvojcu za crtanje i photoshop... tako da znanje nije problem problem je iskustvo. |
[ franticnick @ 17.12.2005. 13:24 ] @
Ako znate C++ pogledajte Ogre3D: www.ogre3d.org. Na sajtu cete naci i pluginove za mesh export/import (MAX, Maya, Blender...itd)
Pozdrav,
Nikola.
[ armilian @ 18.12.2005. 15:56 ] @
Ok hvala na pomoci!
[ biotech @ 18.12.2005. 16:56 ] @
www.irrlicht.sourceforge.net
ovo ti je jos jednostavnije resenje,jeste da ogre3d ima kvalitetniji render ali je irrlicht neuporedivo laksi za koriscenje i ima sve sto jedan 3d engine treba da ima....samo jos da napomenem da irrlicht nije game nego 3d engine
[ franticnick @ 18.12.2005. 20:19 ] @
Citat: biotech: www.irrlicht.sourceforge.net
ovo ti je jos jednostavnije resenje,jeste da ogre3d ima kvalitetniji render ali je irrlicht neuporedivo laksi za koriscenje i ima sve sto jedan 3d engine treba da ima....samo jos da napomenem da irrlicht nije game nego 3d engine
Sta je to kod Ogre-a komplikovano, iliti sta je kod Irrlichta "neuporedivo" lakse za koriscenje? Dosta sam vremena proveo na netu gledajuci open-source 3D engine i ni jedan nije ni blizu dokumentovan i pun tutorijala i primera kao Ogre3D. Da ne pominjem Ogre-ov community.
PS
Ni Ogre3D nije game engine. OGRE = Object-Oriented Graphics Rendering Engine.
Pozdrav,
Nikola.
[ biotech @ 18.12.2005. 20:43 ] @
#include <irrlicht.h>
using namespace irr;
#pragma comment(lib, "Irrlicht.lib")
int main()
{
IrrlichtDevice *device =
createDevice(EDT_DIRECT3D9, dimension2d<s32>(1024, 768), 16,
false, false, false, 0);
device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo");
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment();
IGUISkin* skin = guienv->getSkin();
IGUIFont* font = guienv->getFont("../../media/fonthaettenschweiler.bmp");
if (font)
skin->setFont(font);
IAnimatedMesh* mesh = smgr->getMesh("../../media/athlete.3ds");
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
smgr->addCameraSceneNodeMaya();
while(device->run())
{
driver->beginScene(true, true, SColor(255,128,128,128));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
}
device->drop();
return 0;
}
e vidis ovo je hello world za irrlicht..ovim kodom ucitavas model i prikazujes ga,registrovana je i kamera tipa maya kojom mozes da rotiras objekat...najjednostavniji primer...dali moze da bude jednostavnije od ovoga???
i ja sam dosta vremena proveo trazeci open source 3dengine i ovaj mi je najvise odgovarao+radi na linuxu,ima podrsku za vertex i pixel shadere,ucitava dosta formate ima exportere/importere za mya/max/lightwave....i mnoge druge,ima podrsku za d3d8,d3d9,opengl (doduse 1.4) ima potpuni softverski renderer,hlsl i glsl
itd....dobar je,to sto si ti izabrao ogre neznaci da je bolji od irrlichta
[ std::geek @ 18.12.2005. 22:28 ] @
I jedan i drugi su dobri. Ima jos dobrih endzina, npr. Nebula2 http://nebuladevice.cubik.org/documentation/nebula2/index.shtml
Svaki od ovih "free" endzina ima i dobrih i losih strana. Irrlicht i Ogre su odlicni, ali oba prakticno nemaju level editor. Nebula2 je komplikovanija za upotrebu ali ima dobar level editor i odlicnu podrsku za skriptovanje (LUA, Tcl, Python).
Postoje i jeftini komercijalni endzini koji isto odlican izbor:
1. C4 Engine - $100 po developeru, fantasticne mogucnosti, odlican level editor
http://www.terathon.com/c4engine/index.html
2. Torque Engine - $100 za Indie, $495 za Commercial licence
http://www.garagegames.com/
[ srdjandakic @ 18.12.2005. 23:54 ] @
www.truevision3d.com
$free - za free software
$150 - po naslovu
$500 - unlimited
[ franticnick @ 19.12.2005. 00:13 ] @
Citat: biotech:
...
e vidis ovo je hello world za irrlicht..ovim kodom ucitavas model i prikazujes ga,registrovana je i kamera tipa maya kojom mozes da rotiras objekat...najjednostavniji primer...dali moze da bude jednostavnije od ovoga???
Moram da priznam je kod koji si napisao prilicno ruzan u poredjenju sa Ogre-ovim. Moras da brines o device-u i pravis while petlju da bi se scena isrtavala. Ogre3D je mnogo vise OO orijentisan pa takve detalje ne vidis (sem ako ne zelis da ih vidis).
Da bi napravio "Hello World!" u Ogre-u dovoljno je da nasledis klasu ExampleApplication, preklopis metodu CreateScene i otkucas otprilike:
Code:
mSceneMgr->setAmbientLight( ColourValue( 1, 1, 1 ) );
Entity *ent1 = mSceneMgr->createEntity( "Robot", "robot.mesh" );
SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode( "RobotNode" );
node1->attachObject( ent1 );
Kao rezultat dobijas scenu gde je registrovana kamera koju mozes da rotiras/pomeras misem i strelicama, ukljuceno svetlo i ucitan model "robot.mesh". (Code je preuzet sa "Ogre Wiki" - http://www.ogre3d.org/wiki/index.php/Basic_Tutorial_1).
Citat:
i ja sam dosta vremena proveo trazeci open source 3dengine i ovaj mi je najvise odgovarao+radi na linuxu,ima podrsku za vertex i pixel shadere,ucitava dosta formate ima exportere/importere za mya/max/lightwave....i mnoge druge,ima podrsku za d3d8,d3d9,opengl (doduse 1.4) ima potpuni softverski renderer,hlsl i glsl
itd....dobar je,to sto si ti izabrao ogre neznaci da je bolji od irrlichta
Sve sto si nabrojao podrzava i Ogre3D. Uz sve to materijale, particles, GUI, texture... itd. mozes da kontrolises uz pomoc skripti ili dinamicki, kako ti volja. Kompletan feature list na: http://www.ogre3d.org/index.ph...k=view&id=13&Itemid=62
Ne vredi da se sad ubedjujemo (a i mozemo:) koji je endzine bolji. Mene je Ogre3D prevashodno osvojio svojom arhitekturom. Kod je pisan u OO maniru (korisceni su patterni i sva najbolja iskustva u projektovanju OO softvera) tako da mozes da konfigurises/menjas Ogre kako ti volja a da pri tom ne pocupas svu kosu na glavi :)
Bas iz tog razloga, ljudi tako lako uspevaju da Ogre3D prebace na PDA, XBox, PS2, Dreamcast...
( http://www.ogre3d.org/phpBB2/viewtopic.php?t=15938&highlight=)
Pretpostavljam da ga ni devmaster.net nije bez veze proglasio za no.1 open-source 3D engine: http://www.devmaster.net/engines/ :) A SourceForge za "Project of the Month" http://sourceforge.net/potm/potm-2005-03.php
Citat:
std::geek: I jedan i drugi su dobri. Ima jos dobrih endzina, npr. Nebula2 http://nebuladevice.cubik.org/documentation/nebula2/index.shtml
Svaki od ovih "free" endzina ima i dobrih i losih strana. Irrlicht i Ogre su odlicni, ali oba prakticno nemaju level editor. Nebula2 je komplikovanija za upotrebu ali ima dobar level editor i odlicnu podrsku za skriptovanje (LUA, Tcl, Python).
Da, i pored gomile korisnih pluginova koje community pravi, jos uvek se ceka na kvalitetan Ogre level editor. Postoji Octopus plugin za Max3D koji je uradila druzina koja pravi Yake Game-Engine ( www.yake.org) ali jos ga ne bih nazvao potpuno funkcionalanim.
Pozdrav,
Nikola.
[ biotech @ 19.12.2005. 00:33 ] @
@franticnick
kod je uzet iz prvog primera u dokumentaciji
i da dobro je sto ogre3d podrzava texture,to je stvarno jedna od the most advance featuresa 8-) .... a tu spada i GUI a i particlesi
[Ovu poruku je menjao biotech dana 19.12.2005. u 01:45 GMT+1]
[Ovu poruku je menjao biotech dana 19.12.2005. u 01:46 GMT+1]
[ Mitrović Srđan @ 19.12.2005. 08:17 ] @
ovaj c4 po screensima izgleda jako dobro ali ima bas slab community li se meni cini :)
Zanima me do 1000$ jel moze da se nadje neki pristojan engine + level editor
[ Mitrović Srđan @ 19.12.2005. 09:48 ] @
Zanima me jel ovaj paket vredi :)
Code:
Edition Standard Extra Commercial Professionell
Level editor yes yes yes yes , distributable
Model editor yes yes yes yes
Script editor yes yes yes yes
Physics engine no no 1 object unlimited
Client/Server no no 4 players unlimited
Zone/Multiserver no no no yes
Max screen res 800x600 1024x768 unlimited unlimited
Static shadows 16 bit 16 bit 24 bit, smooth 24 bit, smooth
Dynamic shadows no no yes yes
Particle generator yes yes yes yes
Beam generator no no yes yes
Shaders no no yes yes
Mirrors no no no yes
Terrain no yes yes yes
Geometric LOD no yes yes yes
Bones animation no no yes yes
Render to textures no no no yes
Multimedia player wav, mid wav, mid wav,mid,ogg,CD, mp3,avi,mpg wav,mid,ogg,CD, mp3,avi,mpg
File packer no no no yes
Watermark * yes no no no
SDK license Open Source Open Source Open Source included
Startup window fixed fixed fixed customizable
Start-Logo yes yes yes no
Free updates ** yes yes yes yes
Support (email) no no 3 months 12 months
Price (US $) 49.- 89.- 199.- 899.-
Edition upgrade -- 69.- 149.- 799.-
A5 upgrade *** -- 59.- 99.- 450.-
http://www.3dgamestudio.com/
[ nnn @ 19.12.2005. 10:02 ] @
Ja sam radio sa 3dgamestudio A6pro. I mogu da ti kazem da je dsta jednostavan za upotrebu. Objekte ubacujes direktno iz leve editora, a skripte za njih se pisu veoma lako.
Ima odlican help pun tutorijala i primera...
[ std::geek @ 19.12.2005. 10:41 ] @
Citat: aleksandrin: ovaj c4 po screensima izgleda jako dobro ali ima bas slab community li se meni cini :)
Zanima me do 1000$ jel moze da se nadje neki pristojan engine + level editor
C4 je komercijalni endzin sto znaci da nema uobicajen "open source" community. Ali sa druge strane imas podrsku od strane inzenjera koji su pravili endzin. BTW glavni "arhitekta" C4 endzina je Eric Lengyel, dobro poznat po masi odlicnih tutorijala, predavanja i knjiga za game dev (izmedju ostalog prilozi za Game Programming Gems 1, 2, 3, 5).
http://www.terathon.com/eric/index.html
Probajte demo
http://www.terathon.com/c4engine/download.html
C4 bi bio moj definitivni izbor sto se tice jeftinih komercijalnih endzina.
[ Mitrović Srđan @ 19.12.2005. 13:58 ] @
@nnn
imas neki shotsa svojih radova
i kako ti se "dojmi" graficki.
Po shotsima trenutnih projekata ne deluje lose.
Uz to sam probao i dva demoa i prilicno je dobro za tu cenu.
kakva su tvoja licna iskustva.
[ nnn @ 19.12.2005. 16:12 ] @
Sto se grafike tice od detalja modela, engine moze da prikaze 100,000 poligona na 70 fps. ja samo se letos lozio napravim igru, pa sa otisao mesecipo dana na more, pa pocela skola...
Sad cu videti na zimskom raspustu da nastavim. Sto se tice programiranje, veoma je jednostavan Evo ti primer mog koda koji pokrece svemirski brod sa ubrzanjem, drzi odstojanje od zemlje metar, vrsi detekciju sudara, pokrece kameru, i napravio minimap u donjem levom cosku koji prati brod:
Code:
action brod
{
//Map_Window();
Map_Cam.visible = on; //ukjucuje kameru mape
Map_Cam.size_x = 104; // postavja parametre te kamere kamere
Map_Cam.size_y = 104;
Map_Cam.pos_x = 663;
Map_Cam.pos_y = 470;
Map_Cam.tilt = -90;
Map_Cam.Noparticle = On;
Map_Cam.Audible = Off;
my.passable = off; //Stavja da je moj brod neprolazan
// phent_settype(my,PH_RIGID, PH_SPHERE );
// phent_setmass(my,2,PH_SPHERE);
//phent_setgroup( my, 1 );
//ph_selectgroup( 1 );
while(1)
{
if(key_a) //definise akcije za tastere
{
my.pan+=2;
if (my.roll<30)
{
my.roll+=2;
}
}
else
{
if (my.roll>0)
{
my.roll-=1;
}
}
if(key_d)
{
my.pan-=2;
if (my.roll>-30)
{
my.roll-=2;
}
}
else
{
if (my.roll<0)
{
my.roll+=1;
}
}
if (key_s)
{
dist.x=cos(my.pan)*2;
dist.y=sin(my.pan)*2;
ent_MOVE(nullvector,dist);
}
if (key_w)
{
if (force<60)
{
force+=0.75;
}
}
else{
if(force>0){
force-=0.25;}
}
if(force>0){
move_mode = ignore_passable + glide;
dist.x=-cos(my.pan)*force; //zadajem vrednosti za vektor dist
dist.y=-sin(my.pan)*force;
ent_MOVE(nullvector,dist); /krece se po vektoru dist i vrsi detekciju sudara
}
if (camera.pan<my.pan+180) //ovde stavjam da kamera uvek tezi da bude iza
// broda
{
camera.pan+=1.90;
}
if (camera.pan>my.pan+180)
{
camera.pan-=1.90;
}
if (my.z>50) {z.x=0; //ovde stavjam da mi brod uvek tezi istoj visini
z.y=0;
z.z=-5;
ent_move(nullvector,z);
}
if (my.z<50) {z.x=0;
z.y=0;
z.z=5;
ent_move(nullvector,z);
}
camera.x=my.x+dist.x-cos(camera.pan)*350; //ovde stavjam poziciju kamere
camera.y=my.y+dist.y-sin(camera.pan)*350; // u odnosu na brod
camera.z=my.z+40; // gde je 350 udajenost kamere
camera.tilt=-10; // od broda
Map_Cam.X = my.X; // ovde stavjam da mapa uvek bude
Map_Cam.Y = my.Y; // iznad broda
Map_Cam.Z = 1000;
wait(1); //sacekaj sredeci frejm pa opet odradi isto to
}
}
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|