webzepetoku commited on
Commit
d8fa142
·
verified ·
1 Parent(s): d118888

Update UnityProject/Assets/TestBuilder.cs

Browse files
Files changed (1) hide show
  1. UnityProject/Assets/TestBuilder.cs +11 -10
UnityProject/Assets/TestBuilder.cs CHANGED
@@ -10,16 +10,16 @@ public class TestBuilder
10
  {
11
  try
12
  {
13
- // 1. Batasi 4 Worker (Job System)
14
  Unity.Jobs.LowLevel.Unsafe.JobsUtility.JobWorkerCount = 4;
15
- Debug.Log($"⚙️ [CLI] Job Worker Count dipaksa ke: {Unity.Jobs.LowLevel.Unsafe.JobsUtility.JobWorkerCount}");
16
 
17
- // 2. Setup Backend Mono2x (Wajib untuk 2022.3)
18
  PlayerSettings.SetScriptingBackend(BuildTargetGroup.Standalone, ScriptingImplementation.Mono2x);
19
  PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, ScriptingImplementation.Mono2x);
20
  PlayerSettings.SetScriptingBackend(BuildTargetGroup.iOS, ScriptingImplementation.Mono2x);
21
 
22
- // 3. Proses Perampingan Mesh
23
  string inputPath = "Assets/InputRaw";
24
  if (Directory.Exists(inputPath))
25
  {
@@ -40,15 +40,16 @@ public class TestBuilder
40
  AssetDatabase.SaveAssets();
41
  AssetDatabase.Refresh();
42
 
43
- // 4. Build ZEPETO
44
- Debug.Log("🚀 [CLI] Menjalankan Pengepakan ZEPETO...");
45
  ZepetoPackageCliBuilder.BuildWithArgs();
46
 
 
47
  EditorApplication.Exit(0);
48
  }
49
  catch (Exception e)
50
  {
51
- Debug.LogError($"💀 [FATAL] {e.Message}");
52
  EditorApplication.Exit(1);
53
  }
54
  }
@@ -61,15 +62,15 @@ public class TestBuilder
61
  Mesh src = (ren is MeshRenderer mr) ? ren.GetComponent<MeshFilter>()?.sharedMesh :
62
  (ren is SkinnedMeshRenderer smr) ? smr.sharedMesh : null;
63
 
64
- if (src != null)
65
  {
66
  var simplifier = new MeshSimplifier();
67
  simplifier.Initialize(src);
68
- simplifier.SimplifyMesh(0.05f); // Sisa 5% poligon
69
  Mesh newMesh = simplifier.ToMesh();
70
  newMesh.name = src.name + "_Internal";
 
71
  AssetDatabase.AddObjectToAsset(newMesh, path);
72
-
73
  if (ren is MeshRenderer) ren.GetComponent<MeshFilter>().sharedMesh = newMesh;
74
  else if (ren is SkinnedMeshRenderer s) s.sharedMesh = newMesh;
75
  }
 
10
  {
11
  try
12
  {
13
+ // --- PENGATURAN WORKER ---
14
  Unity.Jobs.LowLevel.Unsafe.JobsUtility.JobWorkerCount = 4;
15
+ Debug.Log($"⚙️ [CLI] Job Worker Count: {Unity.Jobs.LowLevel.Unsafe.JobsUtility.JobWorkerCount}");
16
 
17
+ // --- KONFIGURASI BACKEND (Wajib Mono2x untuk Unity 2022.3.x) ---
18
  PlayerSettings.SetScriptingBackend(BuildTargetGroup.Standalone, ScriptingImplementation.Mono2x);
19
  PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, ScriptingImplementation.Mono2x);
20
  PlayerSettings.SetScriptingBackend(BuildTargetGroup.iOS, ScriptingImplementation.Mono2x);
21
 
22
+ // --- PROSES PERAMPINGAN (OPTIMASI MESH) ---
23
  string inputPath = "Assets/InputRaw";
24
  if (Directory.Exists(inputPath))
25
  {
 
40
  AssetDatabase.SaveAssets();
41
  AssetDatabase.Refresh();
42
 
43
+ // --- PENGEPAKAN ZEPETO ---
44
+ Debug.Log("🚀 [CLI] Menjalankan ZepetoPackageCliBuilder...");
45
  ZepetoPackageCliBuilder.BuildWithArgs();
46
 
47
+ Debug.Log("✅ [CLI] Build Selesai.");
48
  EditorApplication.Exit(0);
49
  }
50
  catch (Exception e)
51
  {
52
+ Debug.LogError($"💀 [FATAL ERROR] {e.Message}");
53
  EditorApplication.Exit(1);
54
  }
55
  }
 
62
  Mesh src = (ren is MeshRenderer mr) ? ren.GetComponent<MeshFilter>()?.sharedMesh :
63
  (ren is SkinnedMeshRenderer smr) ? smr.sharedMesh : null;
64
 
65
+ if (src != null && !src.name.Contains("_Internal"))
66
  {
67
  var simplifier = new MeshSimplifier();
68
  simplifier.Initialize(src);
69
+ simplifier.SimplifyMesh(0.05f); // Sisa 5% poligon (Perampingan agresif)
70
  Mesh newMesh = simplifier.ToMesh();
71
  newMesh.name = src.name + "_Internal";
72
+
73
  AssetDatabase.AddObjectToAsset(newMesh, path);
 
74
  if (ren is MeshRenderer) ren.GetComponent<MeshFilter>().sharedMesh = newMesh;
75
  else if (ren is SkinnedMeshRenderer s) s.sharedMesh = newMesh;
76
  }