Ejemplo n.º 1
0
    private static bool ReadVariationData(out VariationController variation, SetSRT callback)
    {
        float   valuesImportantInEditorButNotHere = 0;
        Vector3 ls = new Vector3(s_reader.ReadSingle(), s_reader.ReadSingle(), s_reader.ReadSingle());

        valuesImportantInEditorButNotHere = s_reader.ReadSingle();
        Vector3 lt = new Vector3(s_reader.ReadSingle(), s_reader.ReadSingle(), s_reader.ReadSingle());

        valuesImportantInEditorButNotHere = s_reader.ReadSingle();
        Vector3 lr = new Vector3(s_reader.ReadSingle(), s_reader.ReadSingle(), s_reader.ReadSingle());

        valuesImportantInEditorButNotHere = s_reader.ReadSingle();
        Vector3 hs = new Vector3(s_reader.ReadSingle(), s_reader.ReadSingle(), s_reader.ReadSingle());

        valuesImportantInEditorButNotHere = s_reader.ReadSingle();
        Vector3 ht = new Vector3(s_reader.ReadSingle(), s_reader.ReadSingle(), s_reader.ReadSingle());

        valuesImportantInEditorButNotHere = s_reader.ReadSingle();
        Vector3 hr = new Vector3(s_reader.ReadSingle(), s_reader.ReadSingle(), s_reader.ReadSingle());

        valuesImportantInEditorButNotHere = s_reader.ReadSingle();
        valuesImportantInEditorButNotHere = s_reader.ReadUInt32();
        valuesImportantInEditorButNotHere = s_reader.ReadUInt32();
        valuesImportantInEditorButNotHere = s_reader.ReadUInt32();
        VariationType vt = (VariationType)s_reader.ReadUInt32();

        valuesImportantInEditorButNotHere = s_reader.ReadUInt32();
        valuesImportantInEditorButNotHere = s_reader.ReadUInt32();

        lr *= Mathf.Rad2Deg;
        hr *= Mathf.Rad2Deg;

        variation = new VariationController(ls, lr, lt, hs, hr, ht, vt, callback);
        return(true);
    }
Ejemplo n.º 2
0
    private static bool ReadMeshInfo(SetSRT objectVariationCallback, out float[] outVerts, out int floatsPerVertex, out List <VertexGroup> vertexGroups, out VariationController objectVariations)
    {
        outVerts         = null;
        floatsPerVertex  = 0;
        vertexGroups     = null;
        objectVariations = null;

        int  numVerts  = 0;
        uint numGroups = 0;

        if (!ReadMeshHeader(out numVerts, out floatsPerVertex))
        {
            Debug.Log("ERROR: Failed to ReadMeshInfo! Failed to ReadMeshHeader!\n"); return(false);
        }
        if (!ReadMeshVerts(out outVerts, numVerts * floatsPerVertex))
        {
            Debug.Log("ERROR: Failed to ReadMeshInfo! Failed to ReadMeshVerts!\n"); ClearVertexData(out outVerts); return(false);
        }
        if (!ReadObjectLevelVariations(out objectVariations, objectVariationCallback))
        {
            Debug.Log("ERROR: Failed to ReadMeshInfo! Failed to ReadObjectLevelVariations!\n"); ClearVertexData(out outVerts); return(false);
        }
        if (!ReadVertexGroupHeader(out numGroups))
        {
            Debug.Log("ERROR: Failed to ReadMeshInfo! Failed to ReadVertexGroupHeader!\n"); ClearVertexData(out outVerts); return(false);
        }
        if (!ReadVertexGroupData(out vertexGroups, numGroups))
        {
            Debug.Log("ERROR: Failed to ReadMeshInfo! Failed to ReadVertexGroupData!\n"); ClearVertexData(out outVerts); ClearVertexGroups(vertexGroups); return(false);
        }
        return(true);
    }
Ejemplo n.º 3
0
 public VariationController(Vector3 ls, Vector3 lr, Vector3 lt, Vector3 hs, Vector3 hr, Vector3 ht, VariationType vt, SetSRT callback)
 {
     m_lowScale        = ls;
     m_lowRotation     = lr;
     m_lowTranslation  = lt;
     m_highScale       = hs;
     m_highRotation    = hr;
     m_highTranslation = ht;
     m_variationType   = vt;
     m_setCallback     = callback;
     m_varyFuncs       = new VaryFunc[] { VaryComponentUniform,
                                          VaryVectorUniform,
                                          VarySmoothUniform,
                                          VaryComponentBellApproximation,
                                          VaryVectorBellApproximation,
                                          VarySmoothBellApproximation };
 }
Ejemplo n.º 4
0
    public static bool LoadBaseMesh(string resourceName, SetSRT objectVariationCallback, out float[] verts, out int floatsPerVertex, out List <VertexGroup> vertexGroups, out VariationController objectVariations)
    {
        verts            = null;
        floatsPerVertex  = 0;
        vertexGroups     = null;
        objectVariations = null;

        if (!OpenInputFile(resourceName))
        {
            Debug.Log("ERROR: Failed to ReadMeshFromFile! Could not open resource file [" + resourceName + "]!");
            return(false);
        }

        if (!CheckFormatData())
        {
            Debug.Log("ERROR: Failed to ReadMeshFromFile! Failed to CheckFormatData! Ensure that file is of the correct format!\n");
            CloseInputFile();
            return(false);
        }

        if (!CheckVersionData())
        {
            Debug.Log("ERROR: Failed to ReadMeshFromFile! Failed to CheckVersionData! You are probably trying to load a file made using an older version of the CustomIO Exporter!\n");
            CloseInputFile();
            return(false);
        }

        if (!ReadMeshInfo(objectVariationCallback, out verts, out floatsPerVertex, out vertexGroups, out objectVariations))
        {
            Debug.Log("ERROR: Failed to ReadMeshFromFile! Failed to ReadMeshInfo!\n");
            CloseInputFile();
            return(false);
        }

        if (!CloseInputFile())
        {
            Debug.Log("ERROR: Failed to CloseInputFile! Continuing Execution!\n");
        }

        return(true);
    }
Ejemplo n.º 5
0
 private static bool ReadObjectLevelVariations(out VariationController objectVariations, SetSRT callback)
 {
     return(ReadVariationData(out objectVariations, callback));
 }
Ejemplo n.º 6
0
 public void SetCallback(SetSRT callback)
 {
     m_setCallback = callback;
 }