質問
私はここに3DSローダーを使用しています:
http://www.flipcode.com/archives/Another_3DS_LoaderViewer_Class.shtmlする
しかし、それは階層構造の任意の感覚に欠け、ロードやモデルをレンダリングするのに良い仕事をしていません。その結果、モデル内のすべてのオブジェクトが原点にレンダリングします。
下コードで:void Model_3DS::MainChunkProcessor(long length, long findex)
ラインである
// I left this in case anyone gets very ambitious
case KEYF3DS :
//KeyFrameChunkProcessor(h.len, ftell(bin3ds));
break;
誰もが、このどこかを実装していない、と私はあまりにもそれを実装する任意の他の3DSローダーが表示されません。人々は唯一のアップ投稿するようだと、彼らはこの点に到達するまで、すべてのスクリーンには何もレンダリングに満足していた。
のような外観をKeyFrameChunkProcessor
でしょうか?
解決
Googleが私を導いここをます:
Keyframer chunk
---------------
id Description
---- -----------
B00A unknown
7001 See first description of this chunk
B008 Frames
B009 unknown
B002 Start object description
* B008 - Frame information
simple structure describing frame info
start end size type name
0 3 4 unsigned long start frame
4 7 4 unsigned long end frame
*B002 - Start of Object info
Subhunks
id Description
---- -----------
B010 Name & Hierarchy
B011* Name Dummy Object
B013 unknown
B014* unknown
B015 unknown
B020 Objects pivot point ?
B021 unknown
B022 unknown
B030 unknown
* B010 - Name & Hierarchy descriptor
start end size type name
0 ? ? ASCIIZ Object name
? ? ? unsigned int unknown
? ? ? unsigned int unknown
? ? ? unsigned int Hierarchy of Object
The object hierarchy is a bit complex but works like this.
Each Object in the scene is given a number to identify its
order in the tree. Also each object is orddered in the 3ds
file as it would appear in the tree.
The root object is given the number -1 ( FFFF ).
As the file is read a counter of the object number is kept.
Is the counter increments the object are children of the
previous objects.But when the pattern is broken by a number
what will be less than the current counter the hierarchy returns
to that level.
for example.
object hierarchy
name
A -1
B 0 This example is taken
C 1 from 50pman.3ds
D 2
E 1 I would really reccomend
F 4 having a look at one of the
G 5 examples with the hierarchy
H 1 numbers to help work it out.
I 7
J 8
K 0
L 10
M 11
N 0
O 13
P 14
A
+-----------------+----------------+
B K N
+----+----+ + +
C E H L O
+ + + + +
D F I M P
+ +
G J
Still not done with this chunk yet !
If the object name is $$$DUMMY then it is a dummy object
and therefore you should expect a few extra chunks.
所属していません StackOverflow