Exemplo n.º 1
0
        private void GenerateUVMap(GeneratedRect targetRect)
        {
            UVBitmapGenerator generator = new UVBitmapGenerator();

            output = generator.StoreUVMap(targetRect.Uvs, targetRect.UvSize);
            AssetDatabase.Refresh();
        }
        private void CreateCuboid()
        {
            AbstractCuboidMeshGenerator meshGenerator;

            if (forceVerticalMap)
            {
                meshGenerator = new VerticalCuboidMeshGenerator(x, y, z);
            }
            else
            {
                meshGenerator = AbstractCuboidMeshGenerator.ConstructOptimalGenerator(x, y, z);
            }

            meshGenerator.CreateCuboid();
            meshGenerator.CreateNewObject();
            meshGenerator.SetParent(Selection.activeTransform);
            List <Vector2> uvs = meshGenerator.GetUVs();

            if (Selection.activeTransform == null)
            {
                output = SUCCESS_MESSAGE + ROOT_NAME + DOT_SPACE;
            }
            else
            {
                output = SUCCESS_MESSAGE + Selection.activeTransform.gameObject.name + DOT_SPACE;
            }

            if (generateUVMap)
            {
                UVBitmapGenerator generator = new UVBitmapGenerator();
                output += generator.StoreUVMap(uvs, uvSize);
                AssetDatabase.Refresh();
            }
        }
        private void DrawInputFields()
        {
            x = EditorGUI.FloatField(new Rect(0, 120, position.width, 15), "X", x);
            z = EditorGUI.FloatField(new Rect(0, 140, position.width, 15), "Z", z);
            colliderHeight = EditorGUI.FloatField(new Rect(0, 160, position.width, 15), "Collider Height", colliderHeight);

            generateUVMap = EditorGUI.Toggle(new Rect(0, 220, position.width, 15), "Generate UV Map", generateUVMap);
            uvSize        = EditorGUI.IntField(new Rect(0, 240, position.width, 15), "UV size", uvSize);

            if (GUILayout.Button("Create Rect"))
            {
                RectMeshGenerator meshGenerator = new RectMeshGenerator(x, z, colliderHeight);

                meshGenerator.CreateRect();
                meshGenerator.CreateNewObject();
                meshGenerator.SetParent(Selection.activeTransform);
                List <Vector2> uvs = meshGenerator.GetUVs();

                if (Selection.activeTransform == null)
                {
                    output = SUCCESS_MESSAGE + ROOT_NAME + DOT_SPACE;
                }
                else
                {
                    output = SUCCESS_MESSAGE + Selection.activeTransform.gameObject.name + DOT_SPACE;
                }

                if (generateUVMap)
                {
                    UVBitmapGenerator generator = new UVBitmapGenerator();
                    output += generator.StoreUVMap(uvs, uvSize);
                    AssetDatabase.Refresh();
                }
            }

            GUILayout.Box(output);
        }