1
This commit is contained in:
@@ -29,14 +29,8 @@ public class LeavePlayPrefabControll : MonoBehaviour
|
||||
//GameObject staticObj = gameScene.transform.Find("Static").gameObject;
|
||||
//gameScene.transform.Find("Static").gameObject.SetActive(false);
|
||||
//Renderer[] renderers = staticObj.GetComponentsInChildren<Renderer>();
|
||||
//for (int i = 0; i < renderers.Length-1; i++)
|
||||
//{
|
||||
// renderers[i].enabled = false;
|
||||
//}
|
||||
//gameScene.transform.Find("Dynamic").gameObject.SetActive(false);
|
||||
|
||||
SetObjsRender(false);
|
||||
|
||||
GameObject gameEnvi = GameObject.Find("GameScene/Environment/SkyBox_360Player");
|
||||
SetGameObjectLayer(gameEnvi, false);
|
||||
leavePrefab.transform.position = new Vector3(v3.x, 0, v3.z);
|
||||
@@ -64,16 +58,22 @@ public class LeavePlayPrefabControll : MonoBehaviour
|
||||
boxCollider.transform.localScale = new Vector3(1, 1, 1.5f);
|
||||
//block.SetActive(true);
|
||||
}
|
||||
|
||||
public void SetObjsRender(bool isActive)
|
||||
{
|
||||
GameObject gameScene = GameObject.Find("GameScene");
|
||||
GameObject staticObj = gameScene.transform.Find("Static").gameObject;
|
||||
GameObject Dog_Root = GameObject.Find("GameScene/Dynamic/Character/Dog_Root");
|
||||
if (Dog_Root!=null)
|
||||
{
|
||||
Dog_Root.gameObject.SetActive(isActive);
|
||||
}
|
||||
|
||||
// 使用递归方法获取所有子物体的Renderer组件
|
||||
List<Renderer> staticRenderers = GetAllRenderersRecursive(staticObj);
|
||||
for (int i = 0; i < staticRenderers.Count; i++)
|
||||
{
|
||||
staticRenderers[i].enabled = isActive;
|
||||
|
||||
}
|
||||
|
||||
GameObject dynamicObj = gameScene.transform.Find("Dynamic").gameObject;
|
||||
@@ -153,25 +153,15 @@ public class LeavePlayPrefabControll : MonoBehaviour
|
||||
return;
|
||||
}
|
||||
|
||||
// 检查是否有碰撞器或触发器,如果有则跳过该节点,保持原状
|
||||
Collider collider = parent.GetComponent<Collider>();
|
||||
if (collider != null)
|
||||
{
|
||||
// 如果节点上有碰撞器或触发器,跳过该节点的Renderer,继续遍历子物体
|
||||
foreach (Transform child in parent)
|
||||
{
|
||||
GetAllRenderersRecursive(child, renderers, includeInactive);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// 获取当前物体的Renderer组件
|
||||
Renderer renderer = parent.GetComponent<Renderer>();
|
||||
|
||||
if (renderer != null)
|
||||
{
|
||||
renderers.Add(renderer);
|
||||
}
|
||||
|
||||
|
||||
// 递归遍历所有子物体
|
||||
foreach (Transform child in parent)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user