This commit is contained in:
CortexCore
2024-04-16 04:15:06 +08:00
parent b673a9438d
commit 0362b2c606
183 changed files with 5695 additions and 1453 deletions

View File

@@ -0,0 +1,20 @@
{
"name": "BITKit.AdvancedCullingSystem.Runtime",
"rootNamespace": "",
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
"GUID:a2097016d65c6554fb43a19198fc2220",
"GUID:37151e2099022af42afa90e2ee1b768a"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [
"BITKit_AdvancedCullingSystem"
],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -0,0 +1,54 @@
using System;
using System.Collections;
using System.Collections.Generic;
using MeshCombineStudio;
using NGS.AdvancedCullingSystem.Dynamic;
using UnityEditor.Build;
using UnityEngine;
using UnityEngine.Events;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace BITKit.OpenWorld
{
public class OpenWorldCombiner : MonoBehaviour
{
[SerializeField] private MeshCombiner meshCombiner;
[SerializeField] private UnityEvent onCombiningReady;
[SerializeField]
private bool allowCullingSource = true;
private void Start()
{
meshCombiner.onCombiningReady +=x=> onCombiningReady.Invoke();
meshCombiner.onCombiningReady += AddCullingSource;
}
private void AddCullingSource(MeshCombiner meshcombiner)
{
if (allowCullingSource)
AddCullingSource();
}
[BIT]
private void AddCullingSource()
{
var reportBuilder = new System.Text.StringBuilder();
var renderers = meshCombiner.GetComponentsInChildren<MeshRenderer>(true);
reportBuilder.AppendLine($"找到{renderers.Length}个Renderer");
foreach (var x in renderers)
{
if (x.GetComponent<DC_SourceSettings>()) continue;
x.gameObject.AddComponent<DC_SourceSettings>();
reportBuilder.AppendLine($"为{x.name}添加了DC_SourceSettings");
}
Debug.Log(reportBuilder.ToString());
}
}
}