Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

11

07.10.2008, 20:36

Re: Anfänger braucht Hilfe

Hi ReED,

Da du Irrlicht verwenden willst empfehle ich dir dich im Irrlicht Forum anzumelden und dort (sowie der Irrlicht Dokumentation) zu suchen.

Zitat von »"ReED"«


Nun fehlen mir ein paar Stichworte nach denen ich suchen kann.
Wie kann ich zum Beispiel die Map "neigen" und den Ball so rollen lassen, oder wie erkenne ich ob der Ball im erlaubten Bereich ist?

Das "Neigen" der Map lässt sich ganz einfach über eine Drehung des entsprechenden SceneNodes realisieren.
Doch solltest du bedenken, dass damit nur die grafische Darstellung geneigt wird. Deine Kugel rollt davon noch lange nicht ;).
Wenn du ein realistisches Verhalten haben möchtest solltest du zu einer Physikengine greifen, wenn dir einfaches Rollen reicht kannst du mit entsprechenden Mathekenntnissen die Bewegungsrichtung selbst bestimmen.
Das Erkennen ob ein Ball im erlaubten Bereich ist nennt sich Kollisionserkennung und sollte in der Irrlicht Doku beschrieben sein.

Zitat von »"ReED"«


Ausserdem suche ich noch eine gute Möglichkeit um die Modelle zu erstellen. Ich habe von IrrEdit gelesen, ist das geeignet um eine passende Map zu erstellen? Mit welchem Programm kann ich einen Ball modellieren, sodass es mit IrrLicht keine Probleme beim Import gibt. Reicht dafür Cinema 4D aus?

Letztenendes ist es egal welchen Modeller du nutzt. Hauptsache du findest ein Dateiformat welches Irrlicht lesen kann. Dazu findest du sicher im Irrlicht Forum oder der Doku Informationen.

Ich hoffe ich hab dir ein paar Ansatzpunkte nennen können. Das wichtigste ist denke ich, dass du dir einen guten Überblick über die Engine verschaffst. Dann weißt du was möglich ist und wirst daran erkennen wie du dein Spiel zu realisieren hast.. also.. Irrlicht Beispiele durchforsten, darin rumbasteln, etc..

Grüße,
Dennis

12

07.10.2008, 22:06

Zitat

Blender habe ich mir mal runtergeladen, aber ich komm absolut nicht zurecht damit. Da finde ich Cinema 4D viel einfacher.

Du sollst dir auch kein Blender runterladen wenn du eh Cinema4D hast ;)

ReED

Frischling

  • »ReED« ist der Autor dieses Themas
  • Private Nachricht senden

13

07.10.2008, 22:27

Um nochmal auf das Modelign zurückzukommen.
Ich habe versucht ein Modell aus Cinema 4D zu speichern und mit IrrLicht zu laden.
Ich denke, dass ich die Projektdatei laden muss und nicht ein gerendertes Bild. Da bietet Cinema 4D jedoch nur das Hauseigene .c4d Format, so wie ich das sehe.
Dieses lässt sich allerdings nicht mit IrrLicht laden.

Brauche ich zusätzliche Plugins zum exportieren oder wie läuft das?

14

07.10.2008, 22:34

Irrlicht sollte z.B. 3DS unterstützen. Aus Cinema4d kannst du in diesem Format speichern/exportieren.
Modellformate siehe Maxon-Homepage und Irrlicht-Homepage.

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

15

07.10.2008, 22:36

Zitat von »"defaultplayer^^

Zitat

Reicht dafür Cinema 4D aus?

Jap, das Programm reicht auf jeden Fall ;)
Kenn gerade nichts besseres.

Wenn du jedoch noch so viele Fragen hast (mir scheint so ziemlich alles), dann würde ich dir etwas Leichteres empfehlen!

PS: Ist das dein erstes Projekt?

3ds max 2009 ist bei weitem besser, dafür auch teurer. blender reicht hierfür aus, würde ich sagen ;)

ReED

Frischling

  • »ReED« ist der Autor dieses Themas
  • Private Nachricht senden

16

07.10.2008, 22:42

Gut, habe es jetzt als 3ds-Datei exportiert und versucht zu laden. Mein Code sieht so aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <irrlicht.h>

using namespace irr;
using namespace core;
using namespace video;
using namespace scene;
using namespace io;
using namespace gui;

#pragma comment(lib, "Irrlicht.lib")

int main()
{
    IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D9, dimension2d<s32>(800,600), 32, false, false, false, 0);
    
    IVideoDriver    *driver = device->getVideoDriver();
    ISceneManager   *smgr   = device->getSceneManager();
    IGUIEnvironment *gui    = device->getGUIEnvironment();

    IAnimatedMeshSceneNode* kugel = smgr->addAnimatedMeshSceneNode((IAnimatedMesh*)"x.3ds"); 
    kugel->setPosition(vector3df(0,0,5)); 
    
    ISceneNode* cam = smgr->addCameraSceneNodeFPS();
    cam->setPosition(vector3df(-15,25,-15));

    while(device->run()){
        if (device->isWindowActive()){
            driver->beginScene(true, true, video::SColor(255,122,2122,122));
            smgr->drawAll();
            driver->endScene();
            }
        }
    }

    device->drop();
    return 0;
}


Es gibt keinen Fehler beim Kompilieren, jedoch stürzt das Programm beim Laden des Modells ab.
Habe es mal hochgeladen.
http://www.dbHost.info/x.3ds

17

07.10.2008, 23:21

Du castest nen const char* in ein IAnimatedMesh* ... das kann niemals so gehen, kenn zwar Irrlicht nicht, aber selbst da geht's niemals :D
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

ReED

Frischling

  • »ReED« ist der Autor dieses Themas
  • Private Nachricht senden

18

07.10.2008, 23:28

Hab ich mir auch gedacht, jedoch bekam ich da folgenden Fehler:

Zitat

Error 1 error C2664: 'irr::scene::ISceneManager::addAnimatedMeshSceneNode' : cannot convert parameter 1 from 'const char [6]' to 'irr::scene::IAnimatedMesh *'


Dann habe ich es so gemacht wie es oben steht und es wurde ohne Fehler kompiliert.

Anonymous

unregistriert

19

07.10.2008, 23:33

Nur weil der Compiler etwas kompiliert, heißt das nicht, dass du keinen Murks fabrizierst hast was zu einem kompletten Systemabsturz führen könnte.

Und so wie ich das da sehe, ist das mehr als nur extremer Murks. Lies dir am Besten mal die Dokumentation von Irrlicht durch, wie man Meshs läd. Auf jedenfall, das was du gerade machst, ist schlicht weg falsch und vermurkst.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

20

08.10.2008, 07:52

Zitat von »"ReED"«

Hab ich mir auch gedacht, jedoch bekam ich da folgenden Fehler:

Zitat

Error 1 error C2664: 'irr::scene::ISceneManager::addAnimatedMeshSceneNode' : cannot convert parameter 1 from 'const char [6]' to 'irr::scene::IAnimatedMesh *'


Dann habe ich es so gemacht wie es oben steht und es wurde ohne Fehler kompiliert.


Der Fehler impliziert dir doch, dass du da ein Interfache vom Typ IAnimatedMesh haben musst. Also solltest du auch irgendwo so ein Objekt erstellen und nicht einfach einen string casten. Das funktioniert nicht..

Ich schliesse mich mal unsigned long an und gebe dir den Tipp nochmal die Grundlagen anzuschauen. Ich weiss jetzt nicht, in wie weit du C++ Erfahrung hast, aber das, was du machst sieht ziemlich... Naja aus.. ;)

Werbeanzeige