SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Imagem excedendo o limite da tela. Como resolver?
Problema mudar de sprite sempre que seja adicionado um novo sprite a lista
Informação Importante sobre o Edge Collider 2D
Como consigo aquele efeito de lanterna imagem abaixo
Como desativar e habilitar o Skinned MeshRenderer?
Como abrir uma empresa de games?
Como posso usar a função OnClick nesse script
[TUTORIAL] Como carregar uma cena em segundo plano?
[Tutorial] Sistema de Combos (Mobile e PC)
Como se faz um sistema de combo pra mobile
Personagem sofre dando e continua de onde parou com condição.
Jogador pode escolher que tipo de pos processamento usar nas configurações?
Como Abrir Porta do Carro (Capo,PortaMalas, Portas) Mirando Nelas
[RESOLVIDO] Várias faixas de música
[RESOLVIDO] int Random.Range(int min, int max) para geração procedural ?
Como fazer o som funcionar de acordo com a velocidade do objeto
Alto falante Vibrar
[RESOLVIDO] Luz no interior
[TUTORIAL] Como Fazer com que as Luzes Iluminem apenas o que você deseja
Traduções e Dublagens de games
[RESOLVIDO] Cono mudar a Tag por script?
[RESOLVIDO] Qualidade do sprite - Compression
[TUTORIAL] Unity 3D - AnimationCurve
Rotação de um gameobject sem que os gameobjects filhos se alterem?
Colocar video no unity
[RESOLVIDO] Partículas com imagem
[RESOLVIDO] DUVIDA SOBRE ATIVAR UM GAMEOBJECT ATRAVÉS DE UMA CONDIÇÃO
NavMesh não consegue reproduzir sprits de um jogador
NavMesh não faz animação do jogador
Bom dia amigos compro assets do meu interesse!
Criar Ranking Online
[TUTORIAL] ScrollView rapida e facil de fazer
colocar imagem no fórum
Unity ou Game Maker Studio
[TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
Error CS0246, não sei o que fazer
Como faço pra um colisor não reconhecer outro colisor sem usar IsTrigger
[RESOLVIDO] Alteração de nomes e rastreamento das mudanças
Som unity
CHAVE DE ASSINATURA
[TUTORIAL]identificar se está no controle ou teclado
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Não estou conseguindo ativar o evento do onClick após instanciar o botão
Exportar Modelo 3D da Unity
Duvida sobre Spawn
Dúvida sobre volatile
[UE4] Por favor me digam como me livrar do motion blur!
[RESOLVIDO] Float to transform
[RESOLVIDO] mudar a cor quando a personagem passa
Como ativar um 'Panel'
Como faço pra desligar e ligar outro text?
Como Faço Para Ativar/Desativar Material Por Script ?
como modificar o script para receber e registar o dano no personagem
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Meu personagem está tomando repulsão da parede
Problemas com IEnumerator
Meu personagem ta tremendo quando toca em alguma coisa
[TUTORIAL] Como criar tiro no Unity usando Raycast
Scripts travados
Como faço para mudar a posição de um objeto para perto de outro.
Alteração de personagens durante o jogo // parte 2
Como se faz uma grid, apenas e somente uma grid em 3D?
meu primeiro jogo pronto
quero corverter uma int em string
Como mudar a posição de um objeto constantemente sem estar na void Update
Como conseguir fazer para minha moto dar grau
[RESOLVIDO] Alteração de personagens durante o jogo
Como fazer um retrovisor leve para android?
Preciso de um script para andar de moto alguem consegue me ajudar
Como consigo fazer esse efeito de escurecer o ambiente ao atacar?
Como fazer pra selecionar um inimigo pra atacar de varios unity 2d
Setparent Photon
duvida em sistema de Horror de como pegar e solta objeto
[UE4] Como fazer cutscene com o próprio personagem?
Plataforma Flutuante
OS Tycoon (DEVLOG) - Crie seu próprio sistema operacional
[RESOLVIDO] Grande X vermelho
Como desativo o vsync em projeto para celular?
Como fazer uma compra aleatoria em uma cena
Sistema de propagação de fogo
[TUTORIAL] Como utilizar a função " Instantiate "
Inteligencia Artificial
Como faço pra deixar as luzes mais leves em um jogo 2d
[TUTORIAL] Unity 2019.4 ou superior - PRESETS
colocar Produtos na Playstore, procuro freelancer.
Tem como fazer o jogo forçar o hardware do celular para rodar melhor?
Como fazer efeito de digitação em um texto
[TUTORIAL] Texto suave (UI)
Box, Whell e outros Collider Esta vindo 10x maior que o Objeto
Objetos não respeitam script
[RESOLVIDO] Duvidas sobre dar restart na cena com Scene Management
Game Jam - GAME JAAJ 5 (prêmio 1.800 reais)
Ativar e desativar botão UI
[RESOLVIDO] Duvidas sobre o Canvas, preFabs e o collisor na Unity
Como fazer formas em ligths
Como usar e programar shaders no unity?
Como manipular o deslizamento do Player?
Problemas com UnityAds
[RESOLVIDO] Como fazer para meu Player andar por um terreno irregular?
Hoje à(s) 2:31 am
Hoje à(s) 2:18 am
Ontem à(s) 10:30 pm
Ontem à(s) 8:28 pm
Ontem à(s) 7:29 pm
Ontem à(s) 6:36 pm
Ontem à(s) 4:48 pm
Ontem à(s) 6:49 am
Seg Jan 18, 2021 11:39 pm
Seg Jan 18, 2021 10:35 pm
Seg Jan 18, 2021 9:31 pm
Seg Jan 18, 2021 3:35 pm
Seg Jan 18, 2021 10:47 am
Seg Jan 18, 2021 10:34 am
Dom Jan 17, 2021 10:54 pm
Dom Jan 17, 2021 6:28 pm
Dom Jan 17, 2021 2:07 pm
Dom Jan 17, 2021 12:21 pm
Dom Jan 17, 2021 11:19 am
Dom Jan 17, 2021 11:17 am
Dom Jan 17, 2021 11:15 am
Dom Jan 17, 2021 1:44 am
Sab Jan 16, 2021 6:40 pm
Sab Jan 16, 2021 3:39 pm
Sab Jan 16, 2021 2:35 pm
Sab Jan 16, 2021 11:43 am
Sab Jan 16, 2021 11:12 am
Sex Jan 15, 2021 8:20 pm
Sex Jan 15, 2021 1:39 am
Qui Jan 14, 2021 9:53 pm
Qui Jan 14, 2021 7:44 pm
Qui Jan 14, 2021 5:35 pm
Qui Jan 14, 2021 3:55 pm
Qui Jan 14, 2021 2:07 pm
Qui Jan 14, 2021 1:51 pm
Qui Jan 14, 2021 12:56 pm
Qua Jan 13, 2021 6:57 pm
Qua Jan 13, 2021 2:45 pm
Ter Jan 12, 2021 11:14 pm
Ter Jan 12, 2021 8:14 pm
Ter Jan 12, 2021 3:16 pm
Seg Jan 11, 2021 6:26 pm
Seg Jan 11, 2021 5:55 pm
Seg Jan 11, 2021 10:51 am
Dom Jan 10, 2021 7:18 pm
Dom Jan 10, 2021 6:21 pm
Dom Jan 10, 2021 3:24 pm
Dom Jan 10, 2021 2:31 pm
Dom Jan 10, 2021 2:29 pm
Dom Jan 10, 2021 10:44 am
Sab Jan 09, 2021 9:30 pm
Sex Jan 08, 2021 9:14 am
Sex Jan 08, 2021 7:07 am
Sex Jan 08, 2021 1:02 am
Sex Jan 08, 2021 12:33 am
Qui Jan 07, 2021 7:31 pm
Qui Jan 07, 2021 5:31 pm
Qui Jan 07, 2021 3:51 pm
Qui Jan 07, 2021 3:49 pm
Qui Jan 07, 2021 12:12 am
Qua Jan 06, 2021 7:40 pm
Qua Jan 06, 2021 4:57 pm
Qua Jan 06, 2021 7:36 am
Ter Jan 05, 2021 5:29 pm
Ter Jan 05, 2021 1:58 pm
Ter Jan 05, 2021 10:35 am
Ter Jan 05, 2021 5:22 am
Ter Jan 05, 2021 1:00 am
Ter Jan 05, 2021 12:02 am
Seg Jan 04, 2021 4:33 pm
Seg Jan 04, 2021 3:24 pm
Seg Jan 04, 2021 3:15 pm
Seg Jan 04, 2021 2:23 pm
Seg Jan 04, 2021 2:06 pm
Seg Jan 04, 2021 8:56 am
Dom Jan 03, 2021 8:18 pm
Dom Jan 03, 2021 9:48 am
Dom Jan 03, 2021 4:14 am
Sab Jan 02, 2021 10:11 pm
Sab Jan 02, 2021 8:36 pm
Sab Jan 02, 2021 8:34 pm
Sab Jan 02, 2021 3:36 pm
Sab Jan 02, 2021 11:45 am
Sab Jan 02, 2021 5:50 am
Sab Jan 02, 2021 2:37 am
Sex Jan 01, 2021 7:09 pm
Sex Jan 01, 2021 4:50 pm
Qui Dez 31, 2020 4:47 pm
Qui Dez 31, 2020 3:42 pm
Qui Dez 31, 2020 3:38 pm
Qui Dez 31, 2020 3:38 pm
Qui Dez 31, 2020 3:34 pm
Qui Dez 31, 2020 2:42 pm
Qui Dez 31, 2020 11:25 am
Qui Dez 31, 2020 10:08 am
Qui Dez 31, 2020 9:36 am
Qui Dez 31, 2020 12:14 am
Qua Dez 30, 2020 11:47 pm
Qua Dez 30, 2020 6:50 pm
verme1311
Xremix30
acefogo
Fagner
Vans 123
dutrabr100
Vans 123
amoraleite
Pokedlg
Pokedlg
acefogo
ProBrStalker
dutrabr100
Pokedlg
dutrabr100
Pokedlg
savtoi
dragongirl
dutrabr100
Rangel Oblivion
dutrabr100
JoelMJunior
MarcosSchultz
Fagner
SauloeArthur
dragongirl
dutrabr100
Ren Allen
Ren Allen
LucasGamerFx
SauloeArthur
NKKF
dutrabr100
SauloeArthur
Pokedlg
SauloeArthur
dutrabr100
Alexandre Santos
Pokedlg
starfreddybou69
diegopds
Super
dutrabr100
TIKO
dutrabr100
SauloeArthur
lesgoy
Fagner
Pokedlg
dutrabr100
Pokedlg
SauloeArthur
redPRO
glauco
Op3000
Pokedlg
JulioWinchester
SauloeArthur
SauloeArthur
Leozitu
Ren Allen
speedluk
SauloeArthur
BatataBugada54321
Pokedlg
Pokedlg
Ren Allen
Fagner
123
Pokedlg
macinhadeborracha
MRX
giowde
lesgoy
TIKO
Micco
Leonardo André
lesgoy
Moskeiro
Fagner
mama2401
Fagner
BRGC
fabricadegame
NyanHeavyBR
rafaelPortugal
dutrabr100
acefogo
MarcosSchultz
MarcosSchultz
acefogo
MarcosSchultz
BatataBugada54321
acefogo
brizaloka
Pokedlg
Neyuriki
Magnatah
Portela

[TUTORIAL] Script para informar layers não utilizadas

Ir em baixo

TUTORIAL [TUTORIAL] Script para informar layers não utilizadas

Mensagem por dipode em Qui Jun 15, 2017 3:51 pm

Postei recentemente um script para verificar tags não utilizadas aqui no fórum, o link:

https://www.schultzgames.com/t4916-script-para-informar-tags-nao-utilizadas#34386

Agora fiz esse para verificar layers não utilizadas; link do GitHub:

https://github.com/PerduGames/LayersOff

O que ele faz?
Verifica as layers não utilizadas, você pode optar por procurar layers não utilizadas na cena(Apenas objetos ativos) ou no projeto(prefabs).

Opções?
-Pesquisar somente na cena ou no projeto.
-Criar ou não um arquivo .txt com as layers.
-Mostrar ou não as layers padrões da Unity.

Como utilizar?
É só jogar em algum objeto qualquer e dar play, só não se esqueça de desabilitar ou retirar o script do objeto depois da verificação, pois dependendo de quantos objetos você tiver em cena ou no projeto pode atrapalhar.

Código:
using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.IO;

public class LayersOff : MonoBehaviour {

 //////////////////////////////////////
 //Script by PerguGames
 //GitHub:https://github.com/PerduGames
 //////////////////////////////////////

 /*
 Script para encontrar as layers não utilizadas na cena
 ou em todo projeto, recebendo seus nomes no Console ou
 criando arquivo .txt com as layers não utilizadas.

 Notes:
 - Para atualizar o arquivo .txt criado na Unity, minimize a Unity ou de um Refresh que atualiza.
 - Ouvi dizer que este por ser um recurso interno pode quebrar em futuras versões:
 "UnityEditorInternal.InternalEditorUtility.layers"
 -No modo pesquisa para pesquisar somente na cena(true), apenas pesquisa objetos ativos, caso esteja
 usando uma versão antiga da Unity, apenas mude onde houver "FindObjectsOfType" para "FindObjectsOfTypeAll",
 assim também pesquisará em objetos inativos na cena.
 */

 //Bool para pesquisar dentro da cena ou do projeto inteiro
 [Header("Modo Pesquisa?")]
 [Tooltip("True = Pesquisar somente na cena. \nFalse = Pesquisar em todo projeto.")]
 [SerializeField]
 private bool ModoPesquisa;

 //Bool para gerar arquivo txt ou não
 [Header("Gerar arquivo .txt?")]
 [Tooltip("True = Gerar arquivo .txt. \nFalse = Não gerar arquivo .txt.")]
 [SerializeField]
 private bool GerarArquivo;

 //Bool para evitar layers padrão da unity
 [Header("Evitar Layers padrões da Unity?")]
 [Tooltip("True = Evitar Layers padrões da Unity. \nFalse = Não evitar Layers padrões da Unity.")]
 [SerializeField]
 private bool EvitarLayersUnity;

 //Lista para guardar layers não utilizadas
 private List<string> listaLayers = new List<string>();
 //Criar array de layers padrão da Unity
 string[] layersUnity = {"Default", "TransparentFX", "Ignore Raycast", "Water", "UI", ""};

 // Use this for initialization
 void Awake () {
 //Pesquisar somente na cena
 if (ModoPesquisa == true) {
 //Colocar as layers na lista
 listaLayers = UnityEditorInternal.InternalEditorUtility.layers.ToList ();

 for (int i = 0; i < UnityEditorInternal.InternalEditorUtility.layers.Length; i++) {
 int num = 0;
 //Verificar se a layer está sendo utilizada por algum objeto
 Object[] objs = GameObject.FindObjectsOfType (typeof(GameObject));
 for (int j = 0; j < objs.Length; j++) {
 GameObject o = (GameObject)objs[j];
 if(o.layer == LayerMask.NameToLayer(UnityEditorInternal.InternalEditorUtility.layers [i])){
 num += 1;
 }
 //Pesquisar nos objetos filhos caso haja
 if (o.transform.childCount > 0) {
 for (int k = 0; k < o.transform.childCount; k++) {
 if (o.transform.GetChild (k).gameObject.layer == LayerMask.NameToLayer(UnityEditorInternal.InternalEditorUtility.layers [i])) {
 num += 1;
 }
 }
 }
 }
 //Se a layers estiver sendo utilizada, remove ela da lista
 if(num != 0){
 listaLayers.Remove (UnityEditorInternal.InternalEditorUtility.layers [i]);
 }
 }
 //Evitar as layers e gerar arquivo
 gerar ();
 //Pesquisar em todo projeto
 }else if(ModoPesquisa == false){
 //Criar lista de GameObject para os prefabs
 List<GameObject> listaPrefabs = new List<GameObject>();
 //Pegar FileInfo de todos prefabs do projeto
 DirectoryInfo dir = new DirectoryInfo ("Assets/");
 FileInfo[] arquivo = dir.GetFiles ("*.prefab", System.IO.SearchOption.AllDirectories);
 //Pegar todos os GameObjects
 foreach(FileInfo i in arquivo){
 string pathCompleto = i.FullName.Replace(@"\","/");
 string pathUnity = "Assets" + pathCompleto.Replace(Application.dataPath, "");
 GameObject gobj = AssetDatabase.LoadAssetAtPath (pathUnity, typeof(GameObject)) as GameObject;
 listaPrefabs.Add (gobj);
 }

 //Colocar as layers na lista
 listaLayers = UnityEditorInternal.InternalEditorUtility.layers.ToList ();

 //Pecorrer a lista das layers
 for (int i = 0; i < UnityEditorInternal.InternalEditorUtility.layers.Length; i++) {
 int num = 0;
 //Pecorrer a lista dos objetos
 for (int j = 0; j < listaPrefabs.Count; j++) {
 //Pesquisar no objeto pai
 if (listaPrefabs [j].layer == LayerMask.NameToLayer(UnityEditorInternal.InternalEditorUtility.layers [i])) {
 num += 1;
 }
 //Pesquisar nos objetos filhos caso haja
 if (listaPrefabs [j].transform.childCount > 0) {
 for (int k = 0; k < listaPrefabs [j].transform.childCount; k++) {
 if(listaPrefabs [j].transform.GetChild(k).gameObject.layer == LayerMask.NameToLayer(UnityEditorInternal.InternalEditorUtility.layers [i])){
 num += 1;
 }
 }
 }
 }
 //Se a layers estiver sendo utilizada, remove ela da lista
 if(num != 0){
 listaLayers.Remove (UnityEditorInternal.InternalEditorUtility.layers [i]);
 }
 }
 //Evitar as layers e gerar arquivo
 gerar ();
 }
 }

 //Metodo para evitar as layers e gerar arquivo caso seja true
 void gerar (){
 //Para evitar layers padrão da Unity
 if(EvitarLayersUnity == true){
 for(int i = 0; i < layersUnity.Length; i++) {
 listaLayers.Remove (layersUnity [i]);
 }
 }
 //String para escrever no arquivo .txt
 string stg = "";
 //Mostrar as layers não utilizadas no Console
 for (int i = 0; i < listaLayers.Count; i++) {
 Debug.Log (listaLayers [i]);
 //Se GerarArquivo for true
 if(GerarArquivo == true){
 stg += listaLayers [i] + System.Environment.NewLine;
 }
 }
 //Se GerarArquivo for true
 if (GerarArquivo == true) {
 StreamWriter writer = new StreamWriter("Assets/LayersOff.txt");
 writer.WriteLine (stg);
 writer.Close();
 }
 }
}
dipode
dipode
Avançado
Avançado

PONTOS : 2205
REPUTAÇÃO : 39
Respeito as regras : [TUTORIAL] Script para informar layers não utilizadas WvDYdlf

https://github.com/perdugames

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum