menu
 

La section Questions et réponses de la communauté Audiokinetic est un forum où les utilisateurs de Wwise et de Strata peuvent poser des questions et répondre à celles des autres membres de la communauté. Si vous souhaitez obtenir une réponse de la part de l'équipe de soutien technique d'Audiokinetic, veillez à utiliser le formulaire de Tickets de Soutien.

+2 votes

Hi all.

Here's a quick script you can use for finding game objects with duplicated scripts, instead of having to go manually through all of them. 
The example is currently looking for AkSurfaceReflector scripts, but you can replace that with any other type of component. 


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FindAkSurfaceReflectorDuplicates : MonoBehaviour
{
    public List<GameObject> akSurfComps = new List<GameObject>();

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            AkSurfaceReflector[] objects = GameObject.FindObjectsOfType<AkSurfaceReflector>();
            print("Total Amount of AkSurfaceReflectors: "+objects.Length);
            for (int i = 0; i<objects.Length; i++)
            {
                if (akSurfComps.Contains(objects[i].gameObject))
                {
                    Debug.Log(objects[i].gameObject.name + " has duplicated AkSurfaceReflector Scripts.", objects[i].gameObject);
                }
                else {
                    akSurfComps.Add(objects[i].gameObject);
                }
            }
            if (akSurfComps.Count < 1) {
                print("You have no objects with duplicated AkSurfaceReflector scripts.");
            }
        }  
    }
}


The game object name will be shown in the console on pressing 1 on your keyboard, and you can click on it in the console to highlight it in the Hierarchy.

dans General Discussion par Mads Maretty S. (Audiokinetic) (40.2k points)

Please sign-in or register to answer this question.

...