예제 #1
0
    private void OnMeshesGUI()
    {
        EditorGUILayout.BeginVertical(GUI.skin.box);
        showMeshes = Foldout(showMeshes, "Meshes");
        if (showMeshes)
        {
            meshFindType = (MeshToTerrainFindType)EditorGUILayout.EnumPopup("Mesh select type", meshFindType);

            if (meshFindType == MeshToTerrainFindType.gameObjects)
            {
                OnMeshesGUIGameObjects();
            }
            else if (meshFindType == MeshToTerrainFindType.layers)
            {
                meshLayer = EditorGUILayout.LayerField("Layer", meshLayer);
            }

            direction = (MeshToTerrainDirection)EditorGUILayout.EnumPopup("Direction", direction);
            if (direction == MeshToTerrainDirection.reversed)
            {
                GUILayout.Label("Use the reverse direction, if that model has inverted the normal.");
            }

            yRange = (MeshToTerrainYRange)EditorGUILayout.EnumPopup("Y Range", yRange);
            if (yRange == MeshToTerrainYRange.fixedValue)
            {
                yRangeValue = EditorGUILayout.IntField("Y Range Value", yRangeValue);
            }
        }
        EditorGUILayout.EndVertical();
    }
예제 #2
0
 private void Load()
 {
     baseMapResolution = LoadPref("BaseMapRes", 1024);
     boundsGameObject  = LoadPrefGameObject("BoundsGameObject", null);
     boundsType        = (MeshToTerrainBounds)LoadPref("BoundsType", (int)MeshToTerrainBounds.autoDetect);
     if (boundsType == MeshToTerrainBounds.selectBounds)
     {
         bounds = LoadPref("Bounds", new Bounds(Vector3.zero, Vector3.one));
     }
     detailResolution    = LoadPref("DetailMapRes", 1024);
     direction           = (MeshToTerrainDirection)LoadPref("Direction", (int)MeshToTerrainDirection.normal);
     generateTextures    = LoadPref("GenerateTextures", false);
     heightmapResolution = LoadPref("HeightMapRes", 129);
     meshes                = LoadPref("Meshes", new List <GameObject>());
     holes                 = (MeshToTerrainHoles)LoadPref("Holes", (int)MeshToTerrainHoles.minimumValue);
     meshFindType          = (MeshToTerrainFindType)LoadPref("MeshFindType", (int)MeshToTerrainFindType.gameObjects);
     meshLayer             = LoadPref("MeshLayer", 31);
     newTerrainCountX      = LoadPref("CountX", 1);
     newTerrainCountY      = LoadPref("CountY", 1);
     resolutionPerPatch    = LoadPref("ResPerPath", 16);
     showMeshes            = LoadPref("ShowMeshes", true);
     showTerrains          = LoadPref("ShowTerrains", true);
     showTextures          = LoadPref("ShowTextures", true);
     smoothingFactor       = LoadPref("SmoothingFactor", 1);
     terrains              = LoadPref("Terrains", new List <Terrain>());
     terrainType           = (MeshToTerrainSelectTerrainType)LoadPref("TerrainType", (int)MeshToTerrainSelectTerrainType.newTerrains);
     textureEmptyColor     = LoadPref("TextureEmptyColor", Color.white);
     textureHeight         = LoadPref("TextureHeight", 1024);
     textureResolution     = LoadPref("TextureResolution", 1024);
     textureWidth          = LoadPref("TextureWidth", 1024);
     useHeightmapSmoothing = LoadPref("UseHeightmapSmoothing", true);
     yRange                = (MeshToTerrainYRange)LoadPref("YRange", 0);
     yRangeValue           = LoadPref("YRangeValue", yRangeValue);
     adjustMeshSize        = LoadPref("AdjustMeshSize", true);
     textureCaptureMode    = (MeshToTerrainTextureCaptureMode)LoadPref("TextureCaptureMode", (int)MeshToTerrainTextureCaptureMode.camera);
 }