/** * @function GenerateTerrain(행성 이름, 지형 구성정보, 구형 생성 Flag) * @brief 지형을 생성한다. */ public void GenerateTerrain(string planetName, TerrainInfo info, bool isSphere) { if (info == null) { return; } //행성 정보 재구성 var voxelPlanet = InitVoxelPlanet(planetName); var planetInfo = voxelPlanet.GetComponent <VoxelPlanetInfo>(); planetInfo.Init(planetName); planetInfo.isSphere = isSphere; //지형 생성 정보 재구성 planetInfo.terrainInfo = info.DeepCopy(); //지형 오브젝트 초기화 GameObject objTerrain = InitPlanetObject(voxelPlanet, "Terrain"); var compTerrain = objTerrain.AddComponent <VoxelTerrain>(); compTerrain.planetInfo = planetInfo; //청크 생성 EditorCoroutineRunner.StartEditorCoroutine(compTerrain.BuildChunk()); SaveCurrentPlanetInfo(voxelPlanet); }
/** * @function GenerateTerrain(행성 이름, 구름 구성정보, 구형 생성 Flag) * @brief 구름을 생성한다. */ public void GenerateClouds(string planetName, CloudInfo info, bool isSphere) { if (info == null) { return; } //행성 정보 재구성 var voxelPlanet = InitVoxelPlanet(planetName); var planetInfo = voxelPlanet.GetComponent <VoxelPlanetInfo>(); planetInfo.Init(planetName); planetInfo.isSphere = isSphere; //구름 생성 정보 재구성 planetInfo.cloudInfo = info.DeepCopy(); //구름 오브젝트 초기화 GameObject objClouds = InitPlanetObject(voxelPlanet, "Clouds"); var compClouds = objClouds.AddComponent <VoxelClouds>(); compClouds.planetInfo = planetInfo; //청크 생성 EditorCoroutineRunner.StartEditorCoroutine(compClouds.BuildChunk()); SaveCurrentPlanetInfo(voxelPlanet); }
void OnGUI() { is_toggle = EditorGUILayout.Toggle(is_toggle); if (is_toggle) { EditorCoroutineRunner.StartEditorCoroutine(test()); } }
static IEnumerator PackAllAssetBundleAsync(bool check) { string srcConfFolder = GetConf(); if (string.IsNullOrEmpty(srcConfFolder)) { yield break; } if (!Directory.Exists(ResourceConst.PkgBundleFolder)) { Directory.CreateDirectory(ResourceConst.PkgBundleFolder); } Clear(); DateTime dt1 = System.DateTime.UtcNow; // 分析场景; yield return(EditorCoroutineRunner.StartEditorCoroutine(DisposeSceneAsync())); DateTime dt2 = System.DateTime.UtcNow; yield return(EditorCoroutineRunner.StartEditorCoroutine(DisposeResourcesFolderAsync())); DateTime dt3 = System.DateTime.UtcNow; Build(); DateTime dt4 = System.DateTime.UtcNow; // 拷贝Conf; PackAssetBundleUtlis.CopyFolder(srcConfFolder, bundleBuildFolder); FileListUtility.BuildFileList(false); DateTime dt5 = System.DateTime.UtcNow; string confFolder = Path.GetFileName(srcConfFolder); PackAssetBundleUtlis.CopyAssetBundle(bundleBuildFolder, ResourceConst.PkgBundleFolder, confFolder); DateTime dt6 = System.DateTime.UtcNow; string info = string.Format("bundle打包完成\n总共{0}个文件\n耗时:{1}分钟\n其中:\n" , _packTools.Count, (dt6 - dt1).TotalMinutes.ToString("f1")); info = string.Format("{0}分析场景资源耗时:{1}秒\n", info, (dt2 - dt1).TotalSeconds.ToString("f1")); info = string.Format("{0}分析Resource资源耗时:{1}秒\n", info, (dt3 - dt2).TotalSeconds.ToString("f1")); info = string.Format("{0}打包AssetBundle耗时:{1}秒\n", info, (dt4 - dt3).TotalSeconds.ToString("f1")); info = string.Format("{0}生成FileList耗时:{1}秒\n", info, (dt5 - dt4).TotalSeconds.ToString("f1")); info = string.Format("{0}拷贝AssetBundle耗时:{1}秒\n", info, (dt6 - dt5).TotalSeconds.ToString("f1")); EditorUtility.DisplayDialog("打包完成", info, "好的"); if (check) { PackAssetBundleUtlis.CheckAllBundles(); } }
public static void DownloadConfig <T>() where T : CsvDataParser, new() { m_parser = new T(); GLDDownloadConfig downloadConfig = LoadDownLoadConfig(); EditorCoroutineRunner.StartEditorCoroutine(DownloadGoogleSheet(downloadConfig)); }
/// <summary> /// 更新服务器资源数据 /// </summary> public void UpdateSkillAction() { string url = string.Format("{0}{1}{2}", ActionEventConfig.SERVER_URL, ActionEventConfig.SERVER_SKILL_ACTION_URL, ActionEventConfig.LIST); //设置正在获取服务器数据 is_get_server_info = true; EditorCoroutineRunner.StartEditorCoroutine(GetServerInfo(url, UpdateSkillActionDone)); }
/// <summary> /// 更新服务器资源数据 /// </summary> public void UpdateClientEffect() { string url = string.Format("{0}{1}{2}", ActionEventConfig.SERVER_URL, ActionEventConfig.SERVER_CLIENT_EFFECT_URL, ActionEventConfig.LIST); //设置正在获取服务器数据 is_get_server_info = true; EditorCoroutineRunner.StartEditorCoroutine(GetServerInfo(url, UpdateClientEffectDone)); }
public void Build() { if (EditorApplication.isPlaying) { EditorApplication.ExecuteMenuItem("Edit/Play"); } AssetDatabase.Refresh(); EditorCoroutineRunner.StartEditorCoroutine(build()); }
/// <summary> /// 打包所有资源 /// </summary> public static void BuildAllAssetBundles() { if (ToolsHelper.IsPlaying()) { return; } ToolsHelper.ClearConsole(); EditorCoroutineRunner.StartEditorCoroutine(_OnBuildAllAssetBundles()); }
void Build() { if (GUILayout.Button("Build")) { PrefabUtility.DisconnectPrefabInstance(builder); Undo.RecordObject(builder, ""); EditorCoroutineRunner.StartEditorCoroutine(IEBuild()); EditorCoroutineRunner.StartEditorCoroutine(ShowProgress()); } }
private void DrawPartScreen() { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("区域", GUILayout.Width(100))) { DoPartScreen(); EditorCoroutineRunner.StartEditorCoroutine(DoPartScreen()); } EditorGUILayout.EndHorizontal(); GuiUtil.NewLine(); }
void Package() { isPacking = true; //自动保存设置文件 CreatePackageFile(); //自动增加小版本号 VersionService.SmallVersion++; VersionService.CreateVersionFile(); EditorCoroutineRunner.StartEditorCoroutine(PackageService.Package(relyPackages, bundles, ProessCallback)); }
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void Painter() { //返回当前点击的场景游戏物体;选择多个则返回第一个选择的;未选择相应的则返回null Transform CurrentSelect = Selection.activeTransform; //获取当前模型的MeshFilter MeshFilter temp = CurrentSelect.GetComponent <MeshFilter>(); //圓的大小 //笔刷在模型上的正交大小 = float(1-36) * 當前物體x的scale值 * 当前物體的MeshFilter的x大小 / 200 float orthographicSize = (brushSize * CurrentSelect.localScale.x) * (temp.sharedMesh.bounds.size.x / 200); //从材质球中获取Control贴图 MaskTex = (Texture2D)CurrentSelect.gameObject.GetComponent <MeshRenderer>().sharedMaterial.GetTexture("_Control"); //笔刷在模型上的直徑大小 = (int)四捨五入 < float(1-36) * Control贴图寬度 / 100 > brushSizeInPourcent = (int)Mathf.Round((brushSize * MaskTex.width) / 100); //bool ToggleF = false; Event e = Event.current;//检测输入,Event.current当前窗口的事件 //不想让SceneView视图接收鼠标点击选择事件,只希望在Hierarchy视图选择 HandleUtility.AddDefaultControl(0); RaycastHit raycastHit = new RaycastHit(); Ray terrain = HandleUtility.GUIPointToWorldRay(e.mousePosition); //从鼠标位置发射一条射线 if (Physics.Raycast(terrain, out raycastHit, Mathf.Infinity, 1 << LayerMask.NameToLayer("ground"))) //射线检测名为"ground"的层 { Handles.color = new Color(1f, 1f, 0f, 1f); //(滑鼠)控制器的颜色,黃色(R+G) Handles.DrawWireDisc(raycastHit.point, raycastHit.normal, orthographicSize); //根据笔刷大小在鼠标位置显示一个圆 //鼠标点击或按下并拖动进行绘制 if ((e.type == EventType.MouseDrag && e.alt == false && e.control == false && e.shift == false && e.button == 0) || (e.type == EventType.MouseDown && e.shift == false && e.alt == false && e.control == false && e.button == 0 && ToggleF == false)) { //选择绘制的通道 Vector2 pixelUV = raycastHit.textureCoord; //取得raycast點到的 纹理坐标(0~1) EditorCoroutineRunner.StartEditorCoroutine(Draw(pixelUV)); //Draw(pixelUV); ToggleF = true; } } else if (e.type == EventType.Layout && e.alt == false && e.button == 0 && ToggleF == true) { SaveTexture();//绘制结束保存Control贴图 ToggleF = false; } }
static void LoadBundle() { //EditorApplication.isPlaying = true; string bundleFile = Utils.OpenFileLocalPath(new string[] { TARGET_FORMAT }); Debug.Log(bundleFile); if (string.IsNullOrEmpty(bundleFile)) { EditorUtility.DisplayDialog("error", "your selection is error," + "please select the real assetbunldes file", "sure"); } else { EditorCoroutineRunner.StartEditorCoroutine(LoadBundle(bundleFile)); } }
private static IEnumerator GetCitys() { isGenerateData = true; Map.ProvinceNum = 0; for (int i = mapSizeX; i >= 0; i -= 16) { for (int j = mapSizeY; j >= 0; j -= 16) { if (isGenerateData && MapData.ColorNear(MapData.Map.GetPixel(i, j), MapData.MapColor)) { yield return(EditorCoroutineRunner.StartEditorCoroutine(new Province().GetCityFromPoint(i, j))); } } } }
BuildAssetBundleOptions relyBuildOption; //依赖包打包设置 void CheckAndPackage() { CheckPackage(); if (errorCount == 0) { EditorCoroutineRunner.StartEditorCoroutine(Package()); } else { if (EditorUtility.DisplayDialog("失败", "打包设置有错误,请先修复错误!", "好的", "仍要打包") == false) { EditorCoroutineRunner.StartEditorCoroutine(Package()); } } }
void SendServerInfo(Table_Skill skill, UpdateServerInfoEnum type) { string t = GetServerInfoType(type); string url = string.Format("{0}{1}{2}", ActionEventConfig.SERVER_URL, ActionEventConfig.SERVER_SKILL_ACTION_URL, t); switch (type) { case UpdateServerInfoEnum.INSERT: case UpdateServerInfoEnum.UPDATE: EditorCoroutineRunner.StartEditorCoroutine(SendInfo(url, SendUpdateInfo(skill))); break; case UpdateServerInfoEnum.DELETE: EditorCoroutineRunner.StartEditorCoroutine(SendInfo(url, SendDeleteInfo(skill.id))); break; } }
void SendServerInfo(Table_Client_Action_Res ar, UpdateServerInfoEnum type) { string t = GetServerInfoType(type); string url = string.Format("{0}{1}{2}", ActionEventConfig.SERVER_URL, ActionEventConfig.SERVER_RES_URL, t); switch (type) { case UpdateServerInfoEnum.INSERT: case UpdateServerInfoEnum.UPDATE: EditorCoroutineRunner.StartEditorCoroutine(SendInfo(url, SendUpdateInfo(ar))); break; case UpdateServerInfoEnum.DELETE: EditorCoroutineRunner.StartEditorCoroutine(SendInfo(url, SendDeleteInfo(ar.id))); break; } }
public void OnGUI() { if (GUILayout.Button("reset noise")) { NoiseTexGenerator.Init(); } CustomRenderTexture[] crtList = new CustomRenderTexture[NoiseTexGenerator.NOISE_NUM]; for (int i = 0; i < NoiseTexGenerator.NOISE_NUM; i++) { GUILayout.BeginArea(new Rect(10 + 310 * i, 10, 300, 800)); crtList[i] = DrawNoiseArea(i); GUILayout.EndArea(); } GUILayout.BeginArea(new Rect(10 + 310 * NoiseTexGenerator.NOISE_NUM, 10, 550, 800)); CustomRenderTexture noiseTex = NoiseTexGenerator.t_Blend2D; for (int i = 0; i < NoiseTexGenerator.NOISE_NUM; i++) { noiseTex.material.SetTexture("_MainTex" + i, crtList[i]); } GUI.DrawTexture(texShowerRect, noiseTex, ScaleMode.ScaleToFit, false); GUILayout.BeginArea(new Rect(10, 300, 280, 500)); blendMaterial = EditorGUILayout.ObjectField(blendMaterial, typeof(Material), false) as Material; if (blendMaterial != null) { noiseTex.material = blendMaterial; } else { blendMaterial = noiseTex.material; } EditorGUILayout.ObjectField(noiseTex, typeof(CustomRenderTexture)); EditorGUILayout.LabelField("-------------------------------------------EXPORT------------------------------------------"); width = EditorGUILayout.IntField("Width: ", width); height = EditorGUILayout.IntField("Height: ", height); { if (GUILayout.Button("Export PNG")) { EditorCoroutineRunner.StartEditorCoroutine(Export()); } } GUILayout.EndArea(); GUILayout.EndArea(); }
//绘制窗口时调用 void OnGUI() { //选择目标平台 EditorGUILayout.LabelField(string.Format("当前平台:{0}", EditorUserBuildSettings.activeBuildTarget.ToString())); GUILayout.Space(25); if (GUILayout.Button("制作资源包", GUILayout.Width(100))) { if (!m_IsDoing) { m_IsDoing = true; m_SelectFiles.Clear(); m_AseetBundleNames.Clear(); EditorCoroutineRunner.StartEditorCoroutine(coMakePackets()); } } }
/** * @function GenerateTerrain(PlanetObject) * @brief PlanetObject의 정보를 바탕으로 지형을 생성한다. */ public void GenerateTerrain(GameObject voxelPlanet) { if (voxelPlanet == null) { return; } var planetInfo = voxelPlanet.GetComponent <VoxelPlanetInfo>(); //지형 오브젝트 초기화 GameObject objTerrain = InitPlanetObject(voxelPlanet, "Terrain"); var compTerrain = objTerrain.AddComponent <VoxelTerrain>(); compTerrain.planetInfo = planetInfo; //청크 생성 EditorCoroutineRunner.StartEditorCoroutine(compTerrain.BuildChunk()); SaveCurrentPlanetInfo(voxelPlanet); }
/** * @function GenerateClouds(PlanetObject) * @brief PlanetObject의 정보를 바탕으로 구름을 생성한다. */ public void GenerateClouds(GameObject voxelPlanet) { if (voxelPlanet == null) { return; } var planetInfo = voxelPlanet.GetComponent <VoxelPlanetInfo>(); //구름 오브젝트 초기화 GameObject objClouds = InitPlanetObject(voxelPlanet, "Clouds"); var compClouds = objClouds.AddComponent <VoxelClouds>(); compClouds.planetInfo = planetInfo; //청크 생성 EditorCoroutineRunner.StartEditorCoroutine(compClouds.BuildChunk()); SaveCurrentPlanetInfo(voxelPlanet); }
public IEnumerator GetCityFromPoint(int x, int y) { List <Vector2> BorderPointList = new List <Vector2>(); Vector2 vector = GetBorderPoint(x, y); if (!vector.Equals(Vector2.zero)) { if (vector.x >= 0) { BorderPointList.Add(vector); bool isMore = true; int timer = 0; while (isMore) { isMore = false; if (AddMorePoint(BorderPointList)) { isMore = true; } if (timer >= MapData.BoarderGenerateSpeed) { timer = 0; MapData.Map.Apply(); yield return(new WaitForFixedUpdate()); } timer++; } } } if (BorderPointList.Count > 2) { yield return(EditorCoroutineRunner.StartEditorCoroutine(new Map().MakeCityMesh(GameObject.Instantiate(Resources.Load("MapData/BaseMeshObject")) as GameObject, BorderPointList))); } }
public static void BulidTarget(EPlatformType pfType, string channelid = "") { appSetting = ReadAppSettingTxt(); string pfName = pfType.ToString(); string app_name = $"{ Application.productName }.{pfName}_{ DateTime.Now.ToString("yyyyMMdd_HHmm")}"; string target_dir = ""; string target_name = ""; BuildTarget buildTarget = BuildTarget.Android; string applicationPath = Application.dataPath.Replace("/Assets", ""); switch (pfType) { case EPlatformType.SDK_ReleaseIOS: case EPlatformType.SDK_TestIOS: target_dir = applicationPath + "/Builds/BuildIOS"; target_name = app_name; buildTarget = BuildTarget.iOS; break; default: target_dir = applicationPath + "/Builds/BuildAndroid"; target_name = app_name; buildTarget = BuildTarget.Android; PlayerSettings.Android.minSdkVersion = AndroidSdkVersions.AndroidApiLevel19; EditorUserBuildSettings.exportAsGoogleAndroidProject = true; //SetKey(); break; } if (string.IsNullOrEmpty(channelid)) { //Test_IOS_Proj_xfkp channelid = "Test_" + buildTarget.ToString() + "_" + AppSetting.MineGameName; } Directory.CreateDirectory(target_dir); //PlayerSettings.bundleVersion = "9.9.9"; //PlayerSettings.ve = "9999"; if (pfType == EPlatformType.SDK_Test || pfType == EPlatformType.VersionPackage) { //安卓测试版设置包名 PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, "com.wedobest.u3d.demo"); if (pfType == EPlatformType.VersionPackage) { //版本包添加预定义宏 string ScriptingDefine = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android); if (!ScriptingDefine.Contains("VersionPackage")) { if (string.IsNullOrEmpty(ScriptingDefine)) { ScriptingDefine = "VersionPackage"; } else { ScriptingDefine += ";VersionPackage"; } PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android, ScriptingDefine); } } } else if (pfType == EPlatformType.SDK_Release) { //安卓发布版设置包名 PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, GetAppSettingInfo(2)); } BuildPipeline.BuildPlayer(EditorBuildSettings.scenes, target_dir + "/" + target_name, buildTarget, BuildOptions.None); if (pfType == EPlatformType.SDK_ReleaseIOS || pfType == EPlatformType.SDK_TestIOS) { return; } ToolsHelper.Log("生成Android工程完成,开始替换SDK文件"); //整理安卓工程 string projectPath = target_dir + "/" + target_name + $"/{Application.productName}/"; //string projectPath = target_dir + "/" + "GameFrameworkTest.SDK_Test_20191210_1012" + $"/{Application.productName}/"; EditorCoroutineRunner.StartEditorCoroutine(_OnBuildAllAssetBundles(pfType, projectPath, channelid)); }
static void InitSetup() { HttpUtil.DoInit(); EditorCoroutineRunner.StartEditorCoroutine(_InitSetup()); }
private string RequestAdmobConfig(string appKey) { if (Application.internetReachability == NetworkReachability.NotReachable) { return("Please check your network. You can also fill in manually."); } string result = string.Empty; if (!string.IsNullOrEmpty(appKey)) { string api = "https://sdk.mas.yodo1.com/v1/unity/setup/" + appKey; #if UNITY_2018 string response = HttpGet(api); Dictionary <string, object> obj = (Dictionary <string, object>)Yodo1JSON.Deserialize(response); Debug.Log("response:" + response); if (obj != null) { if (obj.ContainsKey("app_key")) { app_key = (string)obj["app_key"]; } if (obj.ContainsKey("name")) { app_name = (string)obj["name"]; } if (obj.ContainsKey("bundle_id")) { app_bundle_id = (string)obj["bundle_id"]; } if (obj.ContainsKey("platform")) { app_platform = (string)obj["platform"]; } if (obj.ContainsKey("admob_key")) { app_admob_key = (string)obj["admob_key"]; } if (app_platform == "ios") { this.adSettings.iOSSettings.AdmobAppID = app_admob_key; } else if (app_platform == "android") { this.adSettings.androidSettings.AdmobAppID = app_admob_key; } } else { result = "MAS App Key not found. please fill in correctly."; } #else ApiCallback callback = delegate(string response) { Dictionary <string, object> obj = (Dictionary <string, object>)Yodo1JSON.Deserialize(response); Debug.Log("response:" + response); if (obj != null) { if (obj.ContainsKey("app_key")) { app_key = (string)obj["app_key"]; } if (obj.ContainsKey("name")) { app_name = (string)obj["name"]; } if (obj.ContainsKey("bundle_id")) { app_bundle_id = (string)obj["bundle_id"]; } if (obj.ContainsKey("platform")) { app_platform = (string)obj["platform"]; } if (obj.ContainsKey("admob_key")) { app_admob_key = (string)obj["admob_key"]; } if (app_platform == "ios") { this.adSettings.iOSSettings.AdmobAppID = app_admob_key; } else if (app_platform == "android") { this.adSettings.androidSettings.AdmobAppID = app_admob_key; } } else { result = "MAS App Key not found. please fill in correctly."; } }; EditorCoroutineRunner.StartEditorCoroutine(SendUrl(api, callback)); #endif } else { result = "Please enter the correct MAS App Key."; } return(result); }
public void OnGUI() { if (GUILayout.Button("reset noise")) { NoiseTexGenerator.Init(); } CustomRenderTexture noiseTex = NoiseTexGenerator_Single.GetPreViewNoiseRT(t); if (t == NoiseTexGenerator_Single.NoiseType.PerilinNoise3D || t == NoiseTexGenerator_Single.NoiseType.PerilinNoise3D_ZLoop) { PreviewTexdMat.SetTexture("_Volume", noiseTex); Texture t = DrawTexture3DPreview(noiseTex, texShowerRect, BackgroundGuiStyle); GUI.DrawTexture(texShowerRect, t, ScaleMode.ScaleToFit, false); } else { GUI.DrawTexture(texShowerRect, noiseTex, ScaleMode.ScaleToFit, false); } for (int i = 0; i < 48; i++) { EditorGUILayout.Space(); } if (t == NoiseTexGenerator_Single.NoiseType.PerilinNoise3D || t == NoiseTexGenerator_Single.NoiseType.PerilinNoise3D_ZLoop) { tex3D_Z = EditorGUILayout.Slider("Z:", tex3D_Z, -2, 2); PreviewTexdMat.SetFloat("_Z", tex3D_Z); } else { for (int i = 0; i < 5; i++) { EditorGUILayout.Space(); } } EditorGUILayout.LabelField("--------------NoiseParam---------------"); t = (NoiseTexGenerator_Single.NoiseType)EditorGUILayout.EnumPopup("Noise Tpye: ", t); scale = EditorGUILayout.FloatField("Scale: ", scale); noiseTex.material.SetFloat("_Scale", scale); EditorGUILayout.ObjectField(noiseTex, typeof(CustomRenderTexture)); //_previewTex3dMat2 = (Material)EditorGUILayout.ObjectField(_previewTex3dMat2, typeof(Material),false); useFBM = EditorGUILayout.Toggle("Use FBM:", useFBM); if (useFBM) { noiseTex.material.EnableKeyword("_USEFBM"); octaves = EditorGUILayout.IntSlider("Octaves:", octaves, 1, 10); lacunarity = EditorGUILayout.FloatField("Lacunarity:", lacunarity); gain = EditorGUILayout.FloatField("Gain:", gain); amplitude0 = EditorGUILayout.FloatField("Amplitude0:", amplitude0); frequency0 = EditorGUILayout.FloatField("Frequency0:", frequency0); noiseTex.material.SetInt("_Octaves", octaves); noiseTex.material.SetFloat("_Lacunarity", lacunarity); noiseTex.material.SetFloat("_Gain", gain); noiseTex.material.SetFloat("_Amplitude0", amplitude0); noiseTex.material.SetFloat("_Frequency0", frequency0); } else { noiseTex.material.DisableKeyword("_USEFBM"); } //distance = EditorGUILayout.FloatField("Distance: ", distance); EditorGUILayout.LabelField("--------------EXPORT---------------"); width = EditorGUILayout.IntField("Width: ", width); height = EditorGUILayout.IntField("Height: ", height); if (t == NoiseTexGenerator_Single.NoiseType.PerilinNoise3D || t == NoiseTexGenerator_Single.NoiseType.PerilinNoise3D_ZLoop) { depth = EditorGUILayout.IntSlider("Depth: ", depth, 1, Mathf.FloorToInt(SystemInfo.maxTextureSize / (float)height)); } if (t == NoiseTexGenerator_Single.NoiseType.PerilinNoise3D || t == NoiseTexGenerator_Single.NoiseType.PerilinNoise3D_ZLoop) { if (GUILayout.Button("Export Tex3D(large memory!)")) { EditorCoroutineRunner.StartEditorCoroutine(ExportTex3D(false)); } if (GUILayout.Button("Export PNG")) { EditorCoroutineRunner.StartEditorCoroutine(ExportTex3D(true)); } } else { if (GUILayout.Button("Export PNG")) { EditorCoroutineRunner.StartEditorCoroutine(Export()); } } }
/// <summary> /// 获取地图的相关资源 /// </summary> private static void GetMapData() { if (GUILayout.Button("加载地图相关数据")) { GameObject baseObj = GameObject.Find("BaseGameObject"); if (baseObj != null) { GameObject.DestroyImmediate(baseObj); } Object mapPrefab = Resources.Load("MapData/MapObject"); if (mapPrefab != null) { mapObject = GameObject.Instantiate(mapPrefab) as GameObject; mapObject.transform.parent = MapData.BaseGameObject.transform; MapData.Image = null; MapData.Image = (mapObject).GetComponentInChildren <RawImage>(); if (MapData.Image != null) { Object mapTexture = Resources.Load("MapData/map"); if (mapTexture != null) { if (MapData.Map != null) { GameObject.DestroyImmediate(MapData.Map); MapData.Map = null; } MapData.Map = GameObject.Instantiate <Texture2D>(mapTexture as Texture2D); mapSizeX = MapData.Map.width; mapSizeY = MapData.Map.height; MapData.Image.texture = MapData.Map; MapData.Image.SetNativeSize(); isLoadData = true; } mapTexture = Resources.Load("MapData/colorMap"); if (mapTexture != null) { MapData.ColorMap = GameObject.Instantiate <Texture2D>(mapTexture as Texture2D); } } } } if (isLoadData) { if (GUILayout.Button("生成数据")) { EditorCoroutineRunner.StartEditorCoroutine(GetCitys()); } if (GUILayout.Button("强制生成单个三角面")) { MapData.IsForceContinue = true; } if (GUILayout.Button("停止生成数据")) { isGenerateData = false; } } }
public static void GenAll() { EditorCoroutineRunner.StartEditorCoroutine(GenAllSync()); }
public void OnGUI() { if (GUILayout.Button("reset noise")) { NoiseTexGenerator.Init(); } CustomRenderTexture[] crtList = new CustomRenderTexture[NoiseTexGenerator.NOISE_NUM]; for (int i = 0; i < NoiseTexGenerator.NOISE_NUM; i++) { GUILayout.BeginArea(new Rect(10 + 310 * i, 10, 300, 800)); crtList[i] = DrawNoiseArea(i); GUILayout.EndArea(); } GUILayout.BeginArea(new Rect(10 + 310 * NoiseTexGenerator.NOISE_NUM, 10, 550, 800)); CustomRenderTexture noiseTex = NoiseTexGenerator.t_Blend3D; for (int i = 0; i < NoiseTexGenerator.NOISE_NUM; i++) { noiseTex.material.SetTexture("_MainTex" + i, crtList[i]); } if (true) { PreviewTex3dMat[NoiseTexGenerator.NOISE_NUM].SetTexture("_Volume", noiseTex); Rect rect = new Rect(texShowerRect.x + 300 * NoiseTexGenerator.NOISE_NUM, texShowerRect.y, texShowerRect.width, texShowerRect.height); Texture t = DrawTexture3DPreview(noiseTex, rect, BackgroundGuiStyle, PreviewTex3dMat[NoiseTexGenerator.NOISE_NUM]); GUI.DrawTexture(texShowerRect, t, ScaleMode.ScaleToFit, false); } GUILayout.BeginArea(new Rect(10, 300, 280, 500)); tex3DBlend_Z = EditorGUILayout.Slider("Z:", tex3DBlend_Z, -2, 2); PreviewTex3dMat[NoiseTexGenerator.NOISE_NUM].SetFloat("_Z", tex3DBlend_Z); blendMaterial = EditorGUILayout.ObjectField(blendMaterial, typeof(Material), false) as Material; if (blendMaterial != null) { noiseTex.material = blendMaterial; } else { blendMaterial = noiseTex.material; } EditorGUILayout.ObjectField(noiseTex, typeof(CustomRenderTexture)); EditorGUILayout.LabelField("-------------------------------------------EXPORT------------------------------------------"); width = EditorGUILayout.IntField("Width: ", width); height = EditorGUILayout.IntField("Height: ", height); if (true) { depth = EditorGUILayout.IntSlider("Depth: ", depth, 1, Mathf.FloorToInt(SystemInfo.maxTextureSize / (float)height)); } if (true) { if (GUILayout.Button("Export Tex3D(large memory!)")) { EditorCoroutineRunner.StartEditorCoroutine(ExportTex3D(false)); } if (GUILayout.Button("Export PNG")) { EditorCoroutineRunner.StartEditorCoroutine(ExportTex3D(true)); } } else { if (GUILayout.Button("Export PNG")) { EditorCoroutineRunner.StartEditorCoroutine(Export()); } } GUILayout.EndArea(); GUILayout.EndArea(); }