コード例 #1
0
    public void createNew_TargetQuad()
    {
        if (targetQuadObj != null)
        {
            DestroyImmediate(targetQuadObj);
        }
        targetQuadObj = new GameObject("BlendWarp_Quad_" + ID, typeof(MeshRenderer), typeof(MeshFilter), typeof(BlendWarpQuad), typeof(BlendWarp_Grid));
        // targetQuadObj.transform.parent = transform;
        // quadPlane.AddComponent<BlendWarpQuad>().
        targetQuadObj.transform.position = quadPosition;
        //targetQuadObj.transform.rotation = Quaternion.Euler(0, 180, 0);

        data      = new BlendWarp_Data();
        data.ID   = ID;
        data.Rows = new List <double>(2)
        {
            0, 10
        };
        // Debug.Log(transform.Find("Plane").localScale.z + " " + transform.Find("Plane").localScale.x);
        data.Cols = new List <double>(2)
        {
            0, 10 * lookingPlane.lossyScale.z / (1.0 * lookingPlane.lossyScale.x)
        };
        data.RowCount = gridSize.x;
        data.ColCount = gridSize.y;
        startquad();
        debugObj = Instantiate(BlendWarpManager.instance.Debugger, targetQuadObj.transform);
    }
コード例 #2
0
    public void startQuad(BlendWarp_Editor editor, BlendWarp_Data data, bool hasCamera, int camx = -1, int camy = -1)
    {
        Editor = editor;
        Data   = data;

        attachMesh();
        attachMaterial();
        attachGrid();

        if (hasCamera)
        {
            attachCamera(camx, camy);
        }
    }
コード例 #3
0
    public void drawGrid(BlendWarp_Data data, BlendWarp_Editor editor)
    {
        Data      = data;
        Editor    = editor;
        rowCounts = Data.RowCount;
        colCounts = Data.ColCount;

        if (gridObj != null)
        {
            DestroyImmediate(gridObj);
        }
        gridObj = new GameObject("gridObj");
        gridObj.transform.parent        = transform;
        gridObj.transform.localPosition = new Vector3(0, 0, 0);

        currentMesh = GetComponent <MeshFilter>().mesh;
        List <Vector3> vertices = new List <Vector3>();

        currentMesh.GetVertices(vertices);

        for (int i = 0; i < vertices.Count; i++)
        {
            vertices[i] = localVertToWorld(vertices[i]);
        }

        for (int i = 0; i < Data.RowCount; i++)
        {
            List <Vector3> verts = new List <Vector3>();
            for (int j = i * Data.ColCount; j < i * Data.ColCount + Data.ColCount; j += 1)
            {
                verts.Add(vertices[j]);
            }
            drawLine(verts, "Line_row_" + i);
        }
        for (int i = 0; i < Data.ColCount; i++)
        {
            List <Vector3> verts = new List <Vector3>();
            for (int j = i; j < vertices.Count; j += Data.ColCount)
            {
                verts.Add(vertices[j]);
            }
            drawLine(verts, "Line_col_" + i);
        }
    }