Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server
You last visited: Today at 07:39

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Eng+Ger] Relation between vertices and bones

Discussion on [Eng+Ger] Relation between vertices and bones within the Flyff Private Server forum part of the Flyff category.

Reply
 
Old   #1
 
Mognakor's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 598
Received Thanks: 465
[Eng+Ger] Relation between vertices and bones

English:
Currently i'm working on writing my own little engine based on the Flyff Engine but written in OpenGL. Until now i've been able to solve all upcoming problems myself. But now i'm trying to animate the models which is simple in theory but i'm stuck on one problem for at least a week: I cannot find how the o3d/chr/ani-Format connects from vertices to the bone. I don't any tutorial how OpenGL or GLSL works or information on the theory of skeletal animation etc. I merely need to know how Flyff connects from Vertex X to Bone Y, from there on i can continue by myself.

Deutsch:
Ich arbeite derzeit an meiner eigenen kleinen Engine und orientiere mich dabei an der Flyff Engine, allerdings programmiere ich meine in OpenGL. Bisher hab ich es geschafft alle auftauchenden Probleme selbst zu lösen. Jetzt aber versuche ich die Modelle zu animieren, in der Theorie einfach, aber ich stecke an einer Sache schon mindestens eine Woche fest: Ich kann keine Punkt finden an dem im o3d/chr/ani-Format festgelegt wird welcher Vertex an welchem Bone fest ist. Ich brauche keine Tutorials für OpenGL oder GLSL oder theoretische Informationen wie eine Skelett-basierte Animation funktioniert oder ähnliches. Das einzige was ich brauche ist der Punkt an dem Flyff den Vertex X an Bone Y anknüpft, von da an komme ich wieder von selbst weiter.
Mognakor is offline  
Old 12/06/2014, 19:39   #2
 
elite*gold: 0
Join Date: Nov 2014
Posts: 29
Received Thanks: 23
Du verarschst uns doch?!
Flyff hat garkeine Engine?

//Schau im LoadObject nach
BinayFlyff is offline  
Old 12/06/2014, 21:07   #3
 
elite*gold: 0
Join Date: Jan 2013
Posts: 14
Received Thanks: 33
Quote:
Originally Posted by Mognakor View Post
English:
Currently i'm working on writing my own little engine based on the Flyff Engine but written in OpenGL. Until now i've been able to solve all upcoming problems myself. But now i'm trying to animate the models which is simple in theory but i'm stuck on one problem for at least a week: I cannot find how the o3d/chr/ani-Format connects from vertices to the bone. I don't any tutorial how OpenGL or GLSL works or information on the theory of skeletal animation etc. I merely need to know how Flyff connects from Vertex X to Bone Y, from there on i can continue by myself.

Deutsch:
Ich arbeite derzeit an meiner eigenen kleinen Engine und orientiere mich dabei an der Flyff Engine, allerdings programmiere ich meine in OpenGL. Bisher hab ich es geschafft alle auftauchenden Probleme selbst zu lösen. Jetzt aber versuche ich die Modelle zu animieren, in der Theorie einfach, aber ich stecke an einer Sache schon mindestens eine Woche fest: Ich kann keine Punkt finden an dem im o3d/chr/ani-Format festgelegt wird welcher Vertex an welchem Bone fest ist. Ich brauche keine Tutorials für OpenGL oder GLSL oder theoretische Informationen wie eine Skelett-basierte Animation funktioniert oder ähnliches. Das einzige was ich brauche ist der Punkt an dem Flyff den Vertex X an Bone Y anknüpft, von da an komme ich wieder von selbst weiter.
Im not quite sure if I fully understand your problem since it seems pretty obvious to me. I'll do a recap anyway and sorry if it isn't what you asked for.

Theres two things in the source code you should be looking for;
1) a struct or class created to hold the vertex data
2) the corresponding fvf flag if you are dealing with the fixed function pipeline or a vertex declaration if you are working with shaders

Unless __YENV is defined you will be dealing with the fixed function pipeline.

Code:
struct SKINVERTEX
{
    D3DXVECTOR3 position;	// The 3D position for the vertex
	FLOAT		w1, w2;		// vertex weight
	DWORD		matIdx;
    D3DXVECTOR3 normal;		// The surface normal for the vertex
    FLOAT       tu, tv;		// The texture coordinates
};
That's the struct holding the vertex data of the individual vertices. As you can see w1 and w2 seem to be the blend weights. This will make more sense in a second.

Code:
#define D3DFVF_SKINVERTEX (D3DFVF_XYZB3 | D3DFVF_LASTBETA_UBYTE4 | D3DFVF_NORMAL | D3DFVF_TEX1)
This is the fvf flag. If you google for the D3DFVF codes you will find out that the first two floats are indeed the vertex weights. The third float is replaced by a dword and contains the blend indices (saved in the o3d as two shorts).

Good luck with your project.
LingRay is offline  
Old 12/06/2014, 21:10   #4
 
Mognakor's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 598
Received Thanks: 465
Engine im Sinne von Dateien laden und das jeweilige Model anzeigen bzw. in der Weiterentwicklung ganze Welten anzeigen etc. etc., muss man hier wirklich über Begriffe diskutieren auch wenn der Sinn aus dem Kontext greifbar ist?

Und wow auf die Idee in einer so offensichtlich benannten Funktion nachzusehen währe ich nie im Leben gekommen, Vielen Dank für diesen Geistesblitz. Schade nur dass die Funktion ledeglich dazu nützlich ist Dinge zu laden mir aber (nahezu) keinerlei Information gibt wie und wozu das ganze verwendet wird.

Ich hab die Verbindung vermutlich gefunden muss das ganze aber noch testen.
Im Prinzip läuft es wahrscheinlich wohl darauf hinaus dass
Code:
struct SKINVERTEX
{
    D3DXVECTOR3 position;	// The 3D position for the vertex
    FLOAT		w1, w2;		// vertex weight
    DWORD		matIdx;
    D3DXVECTOR3 normal;		// The surface normal for the vertex
    FLOAT       tu, tv;		// The texture coordinates
};
eigentlich
Code:
struct SKINVERTEX
{
    D3DXVECTOR3 position;	// The 3D position for the vertex
    FLOAT		w1, w2;		// vertex weight
    WORD		matIdx_x;
    WORD		matIdx_y;
    D3DXVECTOR3 normal;		// The surface normal for the vertex
    FLOAT       tu, tv;		// The texture coordinates
};
ist.

Was mir klar wurde nachdem ich nochmal einen ordentlich Blick auf die Vertex-Deklaration für den SkinningVS geworfen habe.

Und matIdx_x und matIdx_y Indices für den jeweiligen Bone sind.
Mognakor is offline  
Reply


Similar Threads Similar Threads
Kreis mithilfe von Vertices zeichnen
11/01/2013 - C/C++ - 8 Replies
Ich würde gerne mithilfe von DirectX und Vertices einen Kreis zeichnen. Nach etwas Recherche hatte ich dann meine benötigte Formel und machte mich gleich mal ran, Ergebnis ist folgendes: http://i.epvpimg.com/k8L5g.png Allerdings gibt es da ein Problem mit dem letzten Dreieck, es wird einfach nicht gezeichnet. Hatte heute morgen ungefähr 2 Stunden mit Debugging verbracht und ich finde den Fehler einfach nicht, die Werte sind korrekt und es werden wirklich alle Vertices richtig gesetzt. ...
question in relation to boxybot
10/01/2012 - DarkOrbit - 7 Replies
hey friends, i want know about a success when i was botting, with boxy... i know that in 4.x isnt npc, only enemies of other enterprises, but, today in 4.1 i see a red dot in the map whe i was use the bot... i see clear to one enemy, (ship of vru/eic) but i dont know what was the other red dot... the hitac is not fly in 4.x map, right :confused: :confused:
Relation bet Effects , Packets
01/13/2012 - CO2 Private Server - 3 Replies
Well i was interested in making pirate Skills Effect and i successeded in that by knowing the String Effect name but it was very weird cuz when i tested every Effect in C3 / Effects i found every pirate skill effect except Blade Tempest So how the F**k They Use its Effect while its not Found in Effect Folder ?? 2nd question - i found Degrade item level Gui and its effect so i wonder how to bind them together and make it work ..if the answer is using packet so How ? ? 3rd question - when i...
.cs Files That has Relation with FB/SS
10/23/2011 - CO2 Private Server - 7 Replies
Hi, my fast blade doesn't work well on 5165 COEmulator, actually i have 2 sources on the first it works well(not co Emulator) and second it doesn't work, i tyried to compare Skills.cs & MyMath.cs , it's the same, i even tryied to replace the working source Skill.cs & MyMath.cs with the other, and i still get the problem is there more files have relation with FB/SS system that i should take a look?
legend 4 relation xD
02/24/2009 - Silkroad Online - 0 Replies
can some 1 upload legend 4 to rapidshare or filefront



All times are GMT +1. The time now is 07:40.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.