Konverter erstellen von Blend in W3X Format und umgekehrt



  • Servus,

    irgendwie findet man im Netz nur Müll zu diesem Thema 😉

    Wenn du dich schon einmal mit XML befasst hast weißt du, dass im Header einen URL zur Spezifikation für diese XML-Datei findest. Ladt dir diese über den Browser runter und schojn weißt du die Struktur deiner Datei 😉

    Achtung: Die Verwendung dieser Datei muss vom Hersteller genemigt sein!



  • Hi danke für die hilfe, eine Datei zu Downoaden gibt es da nicht aber so wie es aussieht steht auf diesem Link alles zum W3X Format drin.

    http://www.w3.org/TR/xmlschema-1/#no-xsi

    Kannste das bestätigen oder hab ich was ganz anderes gefunden ?



  • Jein, du hast die Spezifikation für eine Schema-Datei gefunden. Diese beschreibt den "Syntax" der Schema-Defination.

    In jeder XML-Datei ist entweder im Header oder in der Wurzel eine Information zur Struktur hinterlegt. Diese Datei nennt man XML - Schema - Defination. Um diese zu bekommen benötigst du eine Beispieldatei von deinem Format 😉 Laut deinem Link gibt es irgendwo diese Dateien.

    Ein Beispielsauszug aus einer XML-Datei

    <?xml version="1.0" encoding="UTF-8"?> 
    <web-app id="WebApp_ID" version="2.4" 
        xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
                            http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
        <servlet> 
    ...
    

    Hier findest du im Wurzelelement Informationen über die verwendete Schema-Datei
    Version, auf welche Normung bezieht sich die Schemadefination, Ort der Schemadefinationsdatei, ...



  • Wenn ich dich richtig verstanden habe brauche ich eine Datei die das Format W3X hat um mit ihrer Hilfe dann die "XML - Schema - Definition" zu finden und wenn möglich herunter zu laden.

    Für das Spiel habe ich die Mod SDK herunter geladen womit man für Command & Conquer Tiberium Wars Mods erstellen kann und in diesem modverzeichnis gibt es viele von Dateien die das W3x Format haben und in ihr finde ich am Anfang das:

    <?xml version="1.0" encoding="UTF-8"?>
    <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Includes>
    <Include type="all" source="ART:eulorwar_skl.w3x"/>
    </Includes>
    <W3DAnimation id="EULORWAR_ATKA" Hierarchy="EULORWAR_SKL" NumFrames="57" FrameRate="30">
    <Channels>
    <ChannelScalar Pivot="1" Type="XTranslation"

    danach kommen nur noch so Sachen wie:

    **FirstFrame="0">
    <Frame>0.689194</Frame>
    <Frame>0.639112</Frame>
    <Frame>0.629353</Frame>
    <Frame>0.664729</Frame>

    <Frame X="-0.013249" Y="-0.056775" Z="-0.323110" W="0.944564"/>
    <Frame X="-0.009510" Y="-0.044456" Z="-0.315880" W="0.947709"/>**

    und in hier steht auch der Link wo du gesagt hast das das die Syntax der Schema-Definition beschreibt.

    http://www.w3.org/2001/XMLSchema-instance

    ist das gar nicht die Datei die mich zur Schema-Definitions Datei führt, oder habe ich was falsch verstanden?
    Ist grad ein bissel verwirrend ^^



  • Du besitzt ein SDK? Hier solltest du alle Informationen finden.

    Tipps:
    - arbeite dich erst in XML ein
    - durchsuche dein SDK nach den entsprechenden Informationen
    - bei Blender würde ich mit Python und/oder C arbeiten



  • Ich habe in wiki was zu XML gefunden und da heist es das die Schemadateien meistens die Endung XSD (XML - Schema - Definition) haben.

    Hab dann mal in meinen ModSDK Ordner geschaut und habe einen ganzen Ordner gefunden der voll ist mit diesen dateien, einziges problem: woran erkenne ich die Datei die ich brauche ?

    Edit: Ich glaube sie gefunden zu haben.

    Dateiname: AssetTypeW3D.xsd

    In ihr sind z.b die achsen Y,X & Z genauso steht "FirstFrame" und dergleichen drin so wie bei der W3X Datei.

    Das wird sie wohl sein oder ?



  • Also die AssetTypeW3D.xsd Datei ist mit absoluter sicherheit die Schema-Definition. Habe mich jetzt auch schon etwas in xml eingearbeitet wie z.b. Processing Instruction, Tags, Entitäten, Attributen, Namensräumen usw.

    aber obwohl ich das alles scho weis, weis ich immer noch nicht wie ich anhand der XSD einen konverter schreiben soll.

    Gibts da net so ne art Bauanleidung? Klingt bescheuert ^^ aber ich weiss halt net was ich mit den Infos anfangen muss/soll.



  • Hallo,

    nun weißt du alles und siehst den Wald vor lauter Bäumen nicht mehr 😃 Als nächstes solltest du dich für eine Richtung entscheiden.
    von Blender -> W3X oder W3X -> Blender

    Sucht dir eine Richtung aus. Ich persönlich würde W3X -> Blender bevorzugen 😃 Da Blender eine Python-Schnittstelle anbietet und diese sogar von Projekt selbst zum konvertieren benutzt wird, wäre es nicht gerade "elegant" hier einen anderen Weg einzuschlagen.

    Python-Skript:
    - W3X - Datei einlesen und überprüfen
    - Informationen auslesen und daraus eine Welt in Blender erstellen



  • Ja so meinte ich das eigentlich nicht, ich versteh zwar wie das mit den Tags, Namensräumen usw. so is, aber die informationen in der XSD sagt mir nichts.

    <!-- W3DHierarchy -->
    <xs:complexType name="W3DHierarchy" xas:runtimeWrapper="HierarchyAsset::Factory">
    xs:complexContent
    <xs:extension base="BaseAssetType">
    xs:annotation
    xs:documentationCHUNK_HIERARCHY_*</xs:documentation>
    </xs:annotation>
    xs:sequence
    <xs:element name="Pivot" maxOccurs="unbounded">
    xs:complexType
    xs:sequence
    <xs:element name="Translation" type="Vector3" />
    <xs:element name="Rotation" type="Quaternion" />
    <xs:element name="FixupMatrix">
    xs:complexType
    xs:sequence</xs:sequence>
    <xs:attribute name="M00" type="xs:float" />
    <xs:attribute name="M10" type="xs:float" />
    <xs:attribute name="M20" type="xs:float" />
    <xs:attribute name="M30" type="xs:float" />
    <xs:attribute name="M01" type="xs:float" />
    <xs:attribute name="M11" type="xs:float" />
    <xs:attribute name="M21" type="xs:float" />
    <xs:attribute name="M31" type="xs:float" />
    <xs:attribute name="M02" type="xs:float" />
    <xs:attribute name="M12" type="xs:float" />
    <xs:attribute name="M22" type="xs:float" />
    <xs:attribute name="M32" type="xs:float" />
    <xs:attribute name="M03" type="xs:float" />
    <xs:attribute name="M13" type="xs:float" />
    <xs:attribute name="M23" type="xs:float" />
    <xs:attribute name="M33" type="xs:float" />
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute name="Parent" type="xs:int" />
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    Das ist ein ausschnitt von der XSD habe auch eine W3X gefunden in der die attribute usw. drin sind (Da ein Model aus mehreren W3X Dateien besteht ist in der einen z.b. der hier aufgelistete abschnitt in den anderen eben die anderen.)

    Aber das problem ist ja, das ich nicht versteh wofür dieser abschnitt ist und was der genau macht, und genau so ist es auch bei dem rest, es bringt mir ja nichts wenn ich XML versteh, aber nicht versteh was genau in dieser XSD vorsich geht.

    Ist zum verzeifeln, da dachte ich wenn de XML kannst raffste was da drin passiert und nu ? nix 😞

    EDIT: was ist los ? versteht ihr mein problem net oder weis von euch auch keiner weiter? Bitte schreibt warum niemand von euch schreibt oder schreiben will, kann ja nicht hellsehen 😉



  • Also da Ich jetzt in nächster Zeit nicht mehr so viel bis garkeine Zeit haben werde um mich darum zu kümmern, dachte ich das jemand von euch ihn mir programmieren könnte, natürlich würde derjenige auch bezahlt werden aber dazu mache ich einen neuen Trad auf, da es ja eine art Auftrag wird.


Anmelden zum Antworten