Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Elrohir

Pages: [1]
1
German corner / "Anhängsel"-Objekte oder Child-Objects?
« on: July 15, 2009, 02:33:29 am »
Guten Abend,

mal wieder treibt mich eine weitere Frage, zu der ich bissher keine Antwort zu finden imstande war, hierher...
In der feud-demo hattest du eine Waffe als child-objekt dem Charakter zugewiesen....somit hat sie sich bei bleibender hand-position ja auch super mitbewegt...
Doch was geschieht, wenn sich die Hand bewegt? ist es möglich, quasi eine art "Ausrüstung" festzulegen, die dann an bestimmten korperstellen mitbewegt wird?
wenn man z.B. einem charakter einen knüppel in die hand gibt, dass bei einer schlagbewegung dieser knüppel entsprechend der Handbewegung mitbewegt wird?
Allerdings müsste dies unabhängig von dem knüppel geschehen... denn man könnte zwar einfach eine animation des charakters mit knüppel machen, doch mit diesem System kommt man nciht weiter, wenn man verschiedene "Waffen" nur auswahl hat, und mehrere Charaktere... ab einem gewissen grad kann man ja nichtmehr sämtliche kombinationen animieren und dementsprechend aufrufen....
gibt es in jPCT somit eine Möglichkeit, bestimmte Gegenstände einander "anzupassen"?

MfG
Elrohir

EDIT: die frage stelle ich, insbesondere dieses Beispiel, weil ich mich mit der programmierung eines kleines rollenspiels beschäftige, und natürlich sollen die Charaktere auch individuelle Ausrüstung tragen und an- und ablegen können ;)

2
German corner / Sprunghafte drehungen und verschiebungen...
« on: May 17, 2009, 05:59:47 pm »
Guten Abend...
Mein ziel ist es derzeit, eine Kamera nach dem klicken der rechten Maustaste um einen charakter herumdrehen zu können, und nur, wenn man den charakter bewegt,soll dieser mitgedreht werden...
Und falls er sich nicht bewegt, wird der dreh-wert gespeichert und danach auf den charakter angewendet...

So, allerdings habe ich noch kleinere Probleme.... undzwar zuckt die darstellung teilweise, aber das ließe sich hoffentlich noch beheben, und das größere problem, dass du bewegungsrichtung irgentwie scheinbar wahllos ist, obwohl ich mir immer die achsen der Rotationsmatrix hole...
Desweiteren verschiebt sich der charakter von der mitte des Bildschirms aus.... was nicht unbedingt der erwünschte effekt ist^^
Hier einmal der code:
der character ist ein object3D und die camera halt das Camera-objekt... sollte wohl alles durch die namensgebung ersichtlich sein, hoffe ich...

Code: [Select]
character.setTranslationMatrix(new Matrix());

    SimpleVector pos = new SimpleVector(0,0,0);
    pos.add(new SimpleVector(0, ellipsoid.y, 0));
            SimpleVector dir = world.checkCollisionEllipsoid(pos, grav, ellipsoid, 1);
            pos.add(new SimpleVector(0, -ellipsoid.y, 0));
            dir.x = 0;
            dir.z = 0;
            pos.add(dir);
            pos.add(new SimpleVector(0, ellipsoid.y, 0));
           
if(publickeys.up){
SimpleVector temp = character.getRotationMatrix().getZAxis();
                temp.scalarMul(-moveSpeed);
                temp = world.checkCollisionEllipsoid(pos, temp, ellipsoid, 8);
                pos.add(temp);
                temp.add(dir);
}
if(publickeys.down){
SimpleVector temp = character.getRotationMatrix().getZAxis();
                temp.scalarMul(moveSpeed);
                temp = world.checkCollisionEllipsoid(pos, temp, ellipsoid, 8);
                pos.add(temp);
                temp.add(dir);
}
if(publickeys.right){
SimpleVector temp = character.getRotationMatrix().getXAxis();
                temp.scalarMul(-moveSpeed);
                temp = world.checkCollisionEllipsoid(pos, temp, ellipsoid, 8);
                pos.add(temp);
                temp.add(dir);
}
if(publickeys.left){
SimpleVector temp = character.getRotationMatrix().getXAxis();
                temp.scalarMul(moveSpeed);
                temp = world.checkCollisionEllipsoid(pos, temp, ellipsoid, 8);
                pos.add(temp);
                temp.add(dir);
}
if(publickeys.lookUp){
//camera.moveCamera(Camera.CAMERA_MOVEUP, 10);
}
if(publickeys.lookDown){
//camera.moveCamera(Camera.CAMERA_MOVEDOWN, 10);
}
            pos.add(new SimpleVector(0, -ellipsoid.y, 0));
            synchronized(character){

                character.getTranslation().set(0,0,0);
                character.translate(pos);
                character.translateMesh();
                pos.add(character.getBackPosition());
                character.setBackPosition(pos);
                character.setCenter(pos);
                synchronized(camera){
                camera.moveCamera(Camera.CAMERA_MOVEIN, 300);

                    //camera.setPositionToCenter(character);
        if(publickeys.rotatex){
        float rotynew = 0;
        float mousexnew = mousemapper.getMouseX();
        float difference = -(mousexnew - mousex);
        if(difference>0)
        rotated=true;
        rotynew = difference/210;
        if(rotynew!=0)
        mousex = mousexnew;
        float mouseynew = mousemapper.getMouseY();
        difference = -(mouseynew - mousey);
        if(difference>0)
        rotated=true;
        float rotxnew = difference/210;
        if(rotxnew!=0)
        mousey = mouseynew;
        //camera.rotateCameraY(-roty);
        camera.rotateCameraX(-rotx);
        camera.rotateCameraY(rotynew);
        camera.rotateCameraX(rotx + rotxnew);
        //camera.rotateCameraY(roty + rotynew);
        rotx += rotxnew;
        roty += rotynew;
        rotycharnew += rotynew;
        rotxcharnew += rotxnew;   
        }
       
                    if(publickeys.up || publickeys.down || publickeys.left || publickeys.right){
                    if(rotated){
            character.getRotationMatrix().setIdentity();
            character.rotateY(-rotychar);
            character.rotateX(rotxcharnew);
            character.rotateY(rotychar + rotycharnew);
            rotxchar += rotxcharnew;
            rotychar += rotycharnew;
            rotxcharnew = 0;
            rotycharnew = 0;
            character.rotateMesh();
                    rotated=false;
                    }
                    }
                    camera.moveCamera(Camera.CAMERA_MOVEOUT, 300);

                }
            }

3
German corner / Animation -> verbundene polys
« on: April 14, 2009, 12:59:40 pm »
Guten abend..
mal wieder habe ich ein kleines problem, betreffend der animation...
Nach dem letzten thread darüber habe ich mich entschieden, mehrere 3ds files für die animation zu machen...
Alles soweit funktioniert, den passenden editor, um die automatisch zusammenzufügen und serialisieren zu lassen, zu schreiben, war kein problem, doch als ich die angefertigte animation dann wieder lud, und sie abspielen wollte, gab es einige merkwürdige darstellungsprobleme...
undzwar verband er scheinbar willkürlich polygone miteinander, die in keiner der keyframes auch nur ansatzweise etwas miteinander zu tun hatten...
Gibt es da irgentwas spezielles, was ich vergessen habe?

lG

Anhang: die 3ds-dateien von der ani..
-> http://upload.worldofplayers.de/files3/womananifluegel.rar

4
German corner / Feuer und andere partikel-effekte
« on: March 15, 2009, 11:51:37 pm »
Guten Abend,
Mal wieder beschäftigt mich ein kleines Problem...
Undzwar geht es diesmal, wie der Threadtitel schon aussagt um Partikel-effekte, oder auch Animationen, bei denen sich die Vertex-zahl ändert...
Es gibt ja zum Beispiel ein partikel-emitter object in Cinema4d, aus dem dann während der animationszeit immer partikel bzw. kleine objekte herausströmen etc....
Aber gut, wie man dazu kommt ist ja auch erstmal egal...
Gibt es denn jedenfalls eine Möglichkeit derartige effekte per jPCT einzubauen, z.B. das Charaktere in einer rauchwolke erscheinen oder halt fackeln, die rauch absondern oder so? :-o

5
German corner / md2-files and several texture-selections
« on: March 03, 2009, 06:09:27 pm »
Guten Abend

Mal wieder beschäftigt mich ein kleines Problem, was die Animationen betrifft. Undzwar geht, es wie die Überschrift schon sagt, darum, wie es wohl möglich wäre, das animierte objekt, auch wieder entsprechend zu texturieren, wenn es mehrere Selektionen und somit unterschiedliche texturen für die selektionen hat?
Denn bei allen beispielen die ich fand, habe ich immer nur den einzelnen .setTexture() befehl auf das komplette objekt gesehn, aber das nutzt in diesem falle ja wohl nichts... Leider habe ich bissher immer die 3ds dateien bereits in cinema4d texturiert und somit keinerlei Erfahrung im nachträglichen texturen im quellcode :o

MfG
Elrohir

Pages: [1]