OGRE中.skeleton文件转换为.xml文件的例子

学习骨骼动画中,写出了BVH解析器但是不知道对其中的数据如何处理。读了很多网上的文章,大概对框架有了了解,可是对我这样的懒人,细节不清楚还是无从下手,虽为了顺利将BVH文件转化为OGRE能够使用的.skeleton文件,利用OGRE给的OGREXMLConverter,转换了OGRE中的robot.skeleton文件,如下。
摘要由CSDN通过智能技术生成

学习骨骼动画中,写出了BVH解析器但是不知道对其中的数据如何处理。读了很多网上的文章,大概对框架有了了解,可是对我这样的懒人,细节不清楚还是无从下手,虽为了顺利将BVH文件转化为OGRE能够使用的.skeleton文件,利用OGRE给的OGREXMLConverter,转换了OGRE中的robot.skeleton文件,如下。

<skeleton blendmode="average">
    <bones>
        <bone id="0" name="Joint1">
            <position x="0" y="51.5913" z="-0.0159202" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="1" name="Joint2">
            <position x="1.25659" y="-6.37357" z="-3.36696" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="2" name="Joint3">
            <position x="-1.37845" y="-21.1802" z="-4.04035" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="3" name="Joint4">
            <position x="-0.132187" y="-22.3265" z="-2.02017" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="4" name="Joint5">
            <position x="8.93628" y="-0.380359" z="0" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="5" name="Joint6">
            <position x="1.25659" y="-6.59769" z="3.81589" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="6" name="Joint7">
            <position x="-1.37845" y="-20.5078" z="3.59142" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="7" name="Joint8">
            <position x="-0.143204" y="-22.8124" z="2.24464" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="8" name="Joint9">
            <position x="8.93972" y="-0.168111" z="0.224463" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="9" name="Joint10">
            <position x="2.59993" y="7.38522" z="0.224464" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="10" name="Joint11">
            <position x="-2.60406" y="10.1826" z="0.224464" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="11" name="Joint12">
            <position x="0" y="10.5338" z="0" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="12" name="Joint13">
            <position x="0" y="-1.12062" z="-14.8146" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="13" name="Joint14">
            <position x="-3.68851" y="-12.335" z="-0.897854" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="14" name="Joint15">
            <position x="15.6188" y="-13.2904" z="-6.50945" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="15" name="Joint16">
            <position x="0" y="-0.896494" z="13.2434" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="16" name="Joint17">
            <position x="-3.68851" y="-12.7833" z="2.24464" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
        <bone id="17" name="Joint18">
            <position x="15.6188" y="-13.5145" z="6.73391" />
            <rotation angle="0">
                <axis x="1" y="0" z="0" />
            </rotation>
        </bone>
    </bones>
    <bonehierarchy>
        <boneparent bone="Joint2" parent="Joint1" />
        <boneparent bone="Joint3" parent="Joint2" />
        <boneparent bone="Joint4" parent="Joint3" />
        <boneparent bone="Joint5" parent="Joint4" />
        <boneparent bone="Joint6" parent="Joint1" />
        <boneparent bone="Joint7" parent="Joint6" />
        <boneparent bone="Joint8" parent="Joint7" />
        <boneparent bone="Joint9" parent="Joint8" />
        <boneparent bone="Joint10" parent="Joint1" />
        <boneparent bone="Joint11" parent="Joint10" />
        <boneparent bone="Joint12" parent="Joint11" />
        <boneparent bone="Joint13" parent="Joint11" />
        <boneparent bone="Joint14" parent="Joint13" />
        <boneparent bone="Joint15" parent="Joint14" />
        <boneparent bone="Joint16" parent="Joint11" />
        <boneparent bone="Joint17" parent="Joint16" />
        <boneparent bone="Joint18" parent="Joint17" />
    </bonehierarchy>
    <animations>
        <animation name="Die" length="0.541667">
            <tracks>
                <track bone="Joint1">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.0833333">
                            <translate x="-10.3369" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.166667">
                            <translate x="-45.4042" y="-11.4903" z="0" />
                            <rotate angle="0.858638">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.25">
                            <translate x="-71.4441" y="-45.7615" z="0" />
                            <rotate angle="1.51744">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.291667">
                            <translate x="-71.4121" y="-45.1504" z="0" />
                            <rotate angle="1.51744">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.333333">
                            <translate x="-73.377" y="-46.4263" z="0" />
                            <rotate angle="1.51744">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.5">
                            <translate x="-82.8014" y="-45.1663" z="0" />
                            <rotate angle="1.51744">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.541667">
                            <translate x="-82.8014" y="-45.1663" z="0" />
                            <rotate angle="1.51744">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint2">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.0761765">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.0833333">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.19435">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.25">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.102357">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.291667">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.102357">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint3">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="4.83928" y="0.187507" z="0" />
                            <rotate angle="0.0436304">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.25">
                            <translate x="4.83928" y="0.187507" z="0" />
                            <rotate angle="0.375247">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.291667">
                            <translate x="4.83928" y="0.187507" z="0" />
                            <rotate angle="0.375247">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.5">
                            <translate x="10.7524" y="0.283351" z="0" />
                            <rotate angle="0.0162092">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.541667">
                            <translate x="10.7524" y="0.283351" z="0" />
                            <rotate angle="0.0162092">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint4">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0.0512495" y="0.716218" z="0" />
                            <rotate angle="0.101159">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.0833333">
                            <translate x="0.0512495" y="0.716218" z="0" />
                            <rotate angle="0.265361">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint5">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint6">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="-0.459241" y="-1.37253" z="0" />
                            <rotate angle="0.169814">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.0833333">
                            <translate x="-0.459241" y="-1.37253" z="0" />
                            <rotate angle="0.44034">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.25">
                            <translate x="-0.459241" y="-1.37253" z="0" />
                            <rotate angle="0.143634">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.291667">
                            <translate x="-0.459241" y="-1.37253" z="0" />
                            <rotate angle="0.143634">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint7">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.165806">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.25">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.253074">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.291667">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.253074">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.5">
                            <translate x="5.88073" y="-0.625497" z="0" />
                            <rotate angle="0.105966">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.541667">
                            <translate x="5.88073" y="-0.625497" z="0" />
                            <rotate angle="0.105966">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint8">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="-2.08179" y="0.980345" z="0" />
                            <rotate angle="0.0128075">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.0833333">
                            <translate x="-2.08179" y="0.980345" z="0" />
                            <rotate angle="0.379318">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint9">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint10">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.0959959">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.0833333">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.471242">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint11">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.020403">
                                <axis x="0" y="1" z="0" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint12">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint13">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.12795">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.0833333">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.354842">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint14">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.200714">
                                <axis x="0" y="-1" z="0" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.166667">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.289853">
                                <axis x="-0.0725245" y="-0.689929" z="0.720235" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.25">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.650294">
                                <axis x="0.0956146" y="-0.2987" z="-0.949545" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.291667">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.650294">
                                <axis x="0.0956146" y="-0.2987" z="-0.949545" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint15">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint16">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.0664918">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.0833333">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.293385">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint17">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.235619">
                                <axis x="0" y="1" z="0" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.166667">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.314944">
                                <axis x="0.078354" y="0.745389" z="0.662009" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.25">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.66153">
                                <axis x="-0.110335" y="0.344685" z="-0.932212" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.291667">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0.66153">
                                <axis x="-0.110335" y="0.344685" z="-0.932212" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint18">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
            </tracks>
        </animation>
        <animation name="Idle" length="2.83333">
            <tracks>
                <track bone="Joint1">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.333333">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.75">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                        <keyframe time="1.375">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                        <keyframe time="2">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                        <keyframe time="2.20833">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                        <keyframe time="2.83333">
                            <translate x="0" y="0" z="0" />
                            <rotate angle="0">
                                <axis x="1" y="0" z="0" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint2">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.0761765">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.333333">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.0761765">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.75">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.0761765">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="1.375">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.0761765">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="2">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.0761765">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="2.20833">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.0761765">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="2.83333">
                            <translate x="-0.244575" y="-0.945701" z="0" />
                            <rotate angle="0.0761765">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint3">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="4.83928" y="0.187507" z="0" />
                            <rotate angle="0.0436304">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.333333">
                            <translate x="4.83928" y="0.187507" z="0" />
                            <rotate angle="0.0436358">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.75">
                            <translate x="4.83928" y="0.187507" z="0" />
                            <rotate angle="0.0436358">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="1.375">
                            <translate x="4.83928" y="0.187507" z="0" />
                            <rotate angle="0.0436358">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="2">
                            <translate x="4.83928" y="0.187507" z="0" />
                            <rotate angle="0.0436358">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="2.20833">
                            <translate x="4.83928" y="0.187507" z="0" />
                            <rotate angle="0.0436358">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="2.83333">
                            <translate x="4.83928" y="0.187507" z="0" />
                            <rotate angle="0.0436304">
                                <axis x="0" y="0" z="-1" />
                            </rotate>
                        </keyframe>
                    </keyframes>
                </track>
                <track bone="Joint4">
                    <keyframes>
                        <keyframe time="0">
                            <translate x="0.0512495" y="0.716218" z="0" />
                            <rotate angle="0.101159">
                                <axis x="0" y="0" z="1" />
                            </rotate>
                        </keyframe>
                        <keyframe time="0.333333">
                            <translate x="0.0512495" y="0.716218" z="0" />
                            <rotate angle="0.101159">
                                <axis x="0" y="0" z="1" />
                          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值