コード例 #1
0
ファイル: BSPData2Unity3D.cs プロジェクト: fangguanya/BSP
    void LoadData()
    {
        if (!dataBeLoad)
        {
            LoadTextures();
            LoadPlanes();
            int len = _vertexes.Length;
            vertices = new Vector3[len];
            normals  = new Vector3[len];
            uvs      = new Vector2[len];
            uv2s     = new Vector2[len];
            colors   = new Color[len];

            for (int i = 0; i < len; i++)
            {
                BSPFileParser.Vertex v = _vertexes[i];
                // Notice: Convert Vertex from right hand coordinate into left coordinate
                vertices[i] = Right2Left(new Vector3(v.position[0], v.position[1], v.position[2]));
                // Notice: Convert Normal from right hand coordinate into left coordinate
                normals[i] = Right2Left(new Vector3(v.normal[0], v.normal[1], v.normal[2]));
                uvs[i]     = new Vector2(v.uv[0][0], v.uv[0][1]);
                uv2s[i]    = new Vector2(v.uv[1][0], v.uv[1][1]);
                colors[i]  = new Color(((float)v.color[0]) / 255, ((float)v.color[1]) / 255, ((float)v.color[2]) / 255);
            }
            LoadAllMeshAndObject(gameObject, _models[0], "HouseChild");
            dataBeLoad = true;
        }
    }
コード例 #2
0
ファイル: BSPData2Unity3D.cs プロジェクト: fangguanya/BSP
    void LoadVertices()
    {
        int len = _vertexes.Length;

        vertices = new Vector3[len];
        normals  = new Vector3[len];
        uvs      = new Vector2[len];
        uv2s     = new Vector2[len];
        colors   = new Color[len];

        for (int i = 0; i < len; i++)
        {
            BSPFileParser.Vertex v = _vertexes[i];
            // Notice: Convert Vertex from right hand coordinate into left coordinate
            vertices[i] = Right2Left(new Vector3(v.position[0], v.position[1], v.position[2]));
            // Notice: Convert Normal from right hand coordinate into left coordinate
            normals[i] = Right2Left(new Vector3(v.normal[0], v.normal[1], v.normal[2]));
            uvs[i]     = new Vector2(v.uv[0][0], v.uv[0][1]);
            uv2s[i]    = new Vector2(v.uv[1][0], v.uv[1][1]);
            colors[i]  = new Color(((float)v.color[0]) / 255, ((float)v.color[1]) / 255, ((float)v.color[2]) / 255);
        }
    }