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:
Erro após reinstalar o Unity!
Erro ao publicar na google play
como fazer a luz ficar "important" e "not important" por script?
[TUTORIAL] Sistema de Entregas + GPS!
[TUTORIAL] Desenvolvendo um jogo de quebra-cabeças
duvida sobre sistema de cheats estilo gta sa
[Tutorial] Gerando Objetos Proceduralmente
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
COMO EXECUTAR AUDIO QUANDO PLAYER MORRE
[____ASSET____] MS Vehicle System (FREE VERSION)
[TUTORIAL] Unity 5.5 - Splash Screen
SOU MODELADOR SE TIVER ALGUEM PRECISANDO AI ME CONTATE
Como bloquear rotação em um eixo do objeto?
Como adicionar todos materiais de um Obj em um Array ou Lista?
PopUp bloqueando versões antigas do jogo
[____ QUAL A OPINIÃO DE VOCÊS SOBRE O FÓRUM? ____]
[TUTORIAL] Sistema de PORTAS e CHAVES
Movimentação 3D View Blender
Som não funciona no IOS
Requisitos de hardware para Post Processing
Imagem Aparecer como pergunta
Aparecer item comprado
Por que a UI da esse "BUG"?
Zerar os tempos do Cronometro Unity
Ajuda na unity
Girar personagem no próprio eixo usando joystick virtual
Problema com Esqueleto do personagem
PRESSIONAR BOTÃO TOUCH NO ANDROID SERÁ O MESMO QUE PRESSIONAR UMA TECLA DO TECLADO REAL
Quanto Devo Cobrar Por Um Pacote De Modelos 3D ?
Script de Contagem Regressiva
Ajuda com o codigo.
Como acessar uma variável de um script utilizando como parâmetro uma variável nomescript
CRIEI MEU PRIMEIRO JOGO! 1 ANO DE TRABALHO!
Como eu faço pra poder interagir apenas uma vez com um objeto de luz?
MOVIMENTAÇAO DE UM CUBO
Duvida sobre materiais e textura
Super Husky - meu jogo
Duvida sobre Unity
[Em Desenvolvimento] Battles of Worlds
Dúvida de imagem sobre realidade aumentada
Converter string em virgula em float (decimal)
[TUTORIAL] Como usar FREE EASY CRIATURA CONTROLE IA
Duvida em relação processo de geração de receita
Preciso de ajuda com GetButtonDown with Axis
Me ajudem por favor
Detectando Colisão da Arma com o Inimigo
Como posiciono meu interestial admob pra aparecer apenas quando o personagem morrer?
Como eu faria pra ter uma animação diferente para cada lado em um jogo de plataforma 2D?
JOGO DE CARRO EM 2D E PRECISO DE AJUDA EM SCRIPT QUE VAI PRA FRENTE E PRA TRAZ
[RESOLVIDO] Abrir Tampa Ao Apertar o Botão do Mouse
Problemas com .blend para unity
Assetion faled on expression: SUCCEEDED(hr)´
[RESOLVIDO] Raycast que seque o player
OBJETO CONTINUAR FLUTUANDO TENDO RAGDOLL
[TUTORIAL] Roleta de Premios
COMO INTRODUZO O NPC NO VEÍCULO UTILIZANDO O MS VEHICLE SYSTEM?
Duvida - Tilemap
[TUTORIAL] Salvar a última posição do personagem ao trocar de cena
Sistema de codigos utilizando PlayerPrefs
[Duvida] Jogo Futebol - Fisica
[RESOLVIDO] Visual Studio não se auto-completa
[RESOLVIDO] Não consigo somar o PlayerPrafs do meu game
[RESOLVIDO] AJUDA COM SCRIPT COLETAR 8 PEÇAS PARA ABRIR PORTA
Conta desenvolvedor android
[RESOLVIDO] Criando terreno para mobile
SnowFall
Erro no Script
AJUDA COM PROBLEMA QUANDO INIMIGO MORRE
[Duvida] Como Edito uma animação do Mixamo ?
Sea Ruler
Tem como texturizar apenas uma face do cubo no Unity?
[RESOLVIDO] Light moba style
[RESOLVIDO] Problema com script básico
Por que o unity não está abrindo? Grizzly 2.3.30? Request failed?
[DÚVIDA] Fazer um zumbi..
[RESOLVIDO] Como Fasso Para O HingeJoint Virar em Duas Direçoes?
[RESOLVIDO] Obter um valor ne uma lista
Duvidas sobre Programação, Banco de Dados, PHP/XML em Unity, Json ou PlayerPrefs?
[RESOLVIDO] Quando dou BAKE na cena, as sombras dos objetos somem!
SkyBox Lerp
Como fazer pro meu tiro matar o inimigo?
[ARTIGO] Inteligência Artificial para Jogos
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
dança
Caixa de notificações
SCRIPT DE INTELIGENCIA ARTIFICIAL PARA ZUMBI, DESVIAR DE OBJETOS E ATACAR JOGADOR
Script faz a função tudo certo na unity, já quando gero apk o script não faz a função
[RESOLVIDO] Script não funciona corretamente, qual seria o problema?
Qual o nome das funções prontas no Unity (transform, linecast)
Arquivos com Casa, arvores, Gramas, Objetos3d Etc...
Novo App Maquininha Virtual
Shader com efeito de dissolução
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
Formação de Equipe ( Favela Killer)
Movimentação com RigidBOdy2D dando travadinhas
Como Configurar a Unity, para que modifique o seu Eixo?
Pegar Valor int, Como?
POSSO PUBLICAR MEUS JOGOS USANDO VERSÃO GRATUITA DESSA ENGINE...
Parceria em game 2D
Hoje à(s) 12:04 pm
Hoje à(s) 12:02 pm
Hoje à(s) 10:06 am
Hoje à(s) 10:02 am
Hoje à(s) 9:46 am
Ontem à(s) 11:53 pm
Ontem à(s) 9:42 pm
Ontem à(s) 9:20 pm
Ontem à(s) 8:17 pm
Ontem à(s) 1:04 pm
Ontem à(s) 2:01 am
Dom Jun 16, 2019 6:02 pm
Dom Jun 16, 2019 2:43 pm
Dom Jun 16, 2019 2:16 pm
Dom Jun 16, 2019 1:16 pm
Dom Jun 16, 2019 4:33 am
Dom Jun 16, 2019 4:03 am
Sab Jun 15, 2019 5:52 pm
Sab Jun 15, 2019 3:16 pm
Sab Jun 15, 2019 2:43 pm
Sab Jun 15, 2019 1:43 pm
Sab Jun 15, 2019 12:01 am
Sex Jun 14, 2019 10:47 pm
Sex Jun 14, 2019 9:39 pm
Sex Jun 14, 2019 9:20 pm
Sex Jun 14, 2019 8:56 pm
Sex Jun 14, 2019 8:31 pm
Sex Jun 14, 2019 8:18 pm
Sex Jun 14, 2019 8:12 pm
Sex Jun 14, 2019 7:09 pm
Sex Jun 14, 2019 6:26 pm
Sex Jun 14, 2019 8:59 am
Sex Jun 14, 2019 5:25 am
Qui Jun 13, 2019 7:42 pm
Qui Jun 13, 2019 7:33 pm
Qui Jun 13, 2019 1:02 pm
Qua Jun 12, 2019 8:26 pm
Qua Jun 12, 2019 5:27 pm
Qua Jun 12, 2019 3:54 pm
Qua Jun 12, 2019 3:01 pm
Qua Jun 12, 2019 2:50 pm
Qua Jun 12, 2019 12:13 pm
Ter Jun 11, 2019 5:26 pm
Ter Jun 11, 2019 3:47 pm
Ter Jun 11, 2019 3:43 pm
Ter Jun 11, 2019 8:13 am
Seg Jun 10, 2019 12:24 pm
Dom Jun 09, 2019 10:46 pm
Dom Jun 09, 2019 3:19 pm
Dom Jun 09, 2019 2:21 pm
Dom Jun 09, 2019 12:04 pm
Dom Jun 09, 2019 10:42 am
Sab Jun 08, 2019 11:56 pm
Sab Jun 08, 2019 10:52 pm
Sab Jun 08, 2019 10:33 pm
Sab Jun 08, 2019 10:06 pm
Sab Jun 08, 2019 9:41 pm
Sab Jun 08, 2019 8:40 pm
Sab Jun 08, 2019 8:32 pm
Sab Jun 08, 2019 2:00 pm
Sab Jun 08, 2019 12:50 pm
Sab Jun 08, 2019 8:59 am
Sex Jun 07, 2019 8:21 pm
Sex Jun 07, 2019 3:50 pm
Sex Jun 07, 2019 3:39 pm
Qui Jun 06, 2019 10:47 pm
Qui Jun 06, 2019 2:48 pm
Qua Jun 05, 2019 1:48 pm
Qua Jun 05, 2019 10:43 am
Ter Jun 04, 2019 6:35 pm
Ter Jun 04, 2019 3:20 pm
Ter Jun 04, 2019 11:20 am
Seg Jun 03, 2019 3:49 am
Seg Jun 03, 2019 2:31 am
Dom Jun 02, 2019 11:53 pm
Dom Jun 02, 2019 10:01 pm
Dom Jun 02, 2019 12:44 pm
Sab Jun 01, 2019 2:42 pm
Sab Jun 01, 2019 4:32 am
Sex Maio 31, 2019 8:26 pm
Sex Maio 31, 2019 4:02 pm
Sex Maio 31, 2019 12:20 pm
Qui Maio 30, 2019 7:34 pm
Qui Maio 30, 2019 4:29 pm
Qui Maio 30, 2019 4:27 pm
Qui Maio 30, 2019 4:26 pm
Qua Maio 29, 2019 3:42 pm
Qua Maio 29, 2019 10:15 am
Ter Maio 28, 2019 5:40 pm
Ter Maio 28, 2019 2:49 pm
Ter Maio 28, 2019 1:47 pm
Ter Maio 28, 2019 9:37 am
Ter Maio 28, 2019 9:22 am
Ter Maio 28, 2019 8:31 am
Seg Maio 27, 2019 4:53 pm
Seg Maio 27, 2019 3:22 pm
Seg Maio 27, 2019 2:42 pm
Dom Maio 26, 2019 5:58 pm
Dom Maio 26, 2019 11:44 am
slevimk
slevimk
MarceloYBP
JhoowGamer
Diego Felix
kalango studios games
Matrirxp
NKKF
Diego Felix
dkrazor
henriquegusbr
Socates
LúcioHenrique098
ffabim
Diguinho
MarcosSchultz
MarcosSchultz
lesgoy
fjosmoreno
guimaraf
MayLeone
Magnatah
glauco
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
artplayer
Tegh
fluminintia
diegopds
diegopds
ronigleydson
GameLACK
poyser
Dom3000
numb123
numb123
Unidade3d5
poyser
velho rabugento
JohnRambo
marlok3d
slevimk
mathhBR
Magnatah
williangamesbr4021
Magnatah
Giuliano Neto
hendrick22
MarcosSchultz
Diguinho
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MayLeone
LúcioHenrique098
yurinogueira
yurinogueira
JohnRambo
JohnRambo
NKKF
artplayer
Diego Felix
diegopds
NKKF
ronigleydson
erifmeurer
yurinogueira
luiz12345
gcs13
williangamesbr4021
hendrick22
artplayer
BrazaTattoo
Brian Victor
JohnRambo
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MayLeone
glauco
Tegh
glauco
fecirineu
fabricadegame
fabricadegame
thales.ulisses
MarcosSchultz
glauco
Tegh
GameLACK
Priste_Hell

[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:

http://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 : 1623
REPUTAÇÃO : 39
Respeito as regras : [TUTORIAL] Script para informar layers não utilizadas WvDYdlf

Ver perfil do usuário https://github.com/perdugames

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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