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:
animator duvidas
Formação de equipe (projeto já em andamento)
Unity Network, isServer, IsLocalPlayer..
Como executar uma animação atraves de um botão?
[TUTORIAL] Sistema de Oficina de Carros
[TUTORIAL] Unity 5 - Botão contínuo usando UI (Manter pressionado)
[PEDIDO] Script de Atirar
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
[RESOLVIDO] Erro de Prefab quando realiza o Build de um projeto 3D
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
Renderizar apenas algumas partes do mapa.
[RESOLVIDO] Água à noite?
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[PACOTE 2D GRATUITO] Pacote com 17 sprites de alta qualidade para baixar!
eixos X e Z nao rotaciona junto com o play
Erro na unity
Drop Shadows
Senha jogo schultz
Como fazer um sistema para conectar objetos?
Help!!! Criarção de Shader.
Projeto Estilo DD Tank
Duvidas com ADS
[TUTORIAL] Unity 5 - Sistema básico de jogo estilo ANGRY BIRDS
problema com giro na realidade aumentada
Sistema stealth
FreezeRotation e FreezePosition RigidBody Unity
[RESOLVIDO] Instanciar randômicamente prefab acima do terreno. Unity.
Gravidade para objetos selecionados
Procura-se Modelador para Mapas
Mudar ícone do jogo pelo script
[TUTORIAL] Plants VS Zombies na Unity!
A possibilidade de importar uma Biblioteca (dll) numa classe (MonoBehavior) da Unity?
IAP e ADS: plugins obsoletos
Raycast ponto a ponto
[Em Desenvolvimento] Battles of Worlds
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[RESOLVIDO] Linkar Script do inimigo quando o player entrar no collider dele
Ajuda sobre script para abir e fechar porta malas
site pra modelos 3d de armas
[RESOLVIDO] alguem que saiba fazer um jogo de fps pode ajuda?
Compilação do Game
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
Snake Game - JavaScript + SVG
(Dúvida) Como acessar o sensor de movimento do Android?
[TUTORIAL] Gerenciamento de idiomas para o jogo ou app
[RESOLVIDO] Menu de um jogo com vários mapas
[TUTORIAL] Criando jogo de cartas com I.A (C# e Visual Studio) - Parte 01
USSecurity
Sawed off (Modelo 3D)
Direito autoral
Contar objetos clones
Dividir uma mesh em dois.
Procura se level designer ou diretor de arte ( REMUNERADO )
[TUTORIAL] Sistema COMPLETO de câmeras
[RESOLVIDO] Animaçao só funciona uma vez
[RESOLVIDO] Eu não consigo abrir o monodevelop
Novo Asset Sistema de Portas e Chaves
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
[RESOLVIDO] Como fazer a animação executar so uma vez
[JOGO] Mega BombermOn - Pokémon + Bomberman
Meu personagem na Realidade Aumentada fica tremendo
Carregar arquivos da biblioteca
Jogo de Tabuada
Rodas de tanque
ik nao funciona
DUVIDA EM SCRIPT
Cores nos materiais sem criar material
[Projeto] Line Battle
[TUTORIAL] Controle de personagem em primeira pessoa + pulo para android!
SkyBox Com qualidade Horrivel!
[RESOLVIDO] Bug/Erro da unity?
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
erro unity para android
MENU DE SELEÇÃO DE FASES
[PROJETO CONCLUÍDO] Defeat the Illuminatis
sombras para jogos mobile
Corcle (Mobile) - Um jogo simples com um nome estranho.
[TUTORIAL] Jogo da forca em C#
[RESOLVIDO] Dúvida com relação à "Escopo" e "Namespace" entre pastas na Unity
Problema ao rotacionar valores negativos.
Importe objeto do blender
Monodevelop
Equipe RedSkyGames Studio
Blender ao juntar algumas partes ficam mais escuro
new Vector3 (o que ele ta fazendo de errado??)(iniciante)
[TUTORIAL] Sistema de Controlador De Primeira Pessoa Com Som De Passos Aleatorios
[TUTORIAL] AI Enemy ( Jogos de terror )
[RESOLVIDO] Retornar um resultado de pagina PHP com texto formatado
[RESOLVIDO] Como Voltar o Player para o Início usando Trigger? C#
Unity - Deslizar Para Rotacionar o 'Personagem'
Como criar um poligono dinamicamente?
Instantiate
Em busca de um modelador 3D para plataforma educacional (Já ganhamos apoio de faculdades)
Armazenar as informações de um botão e duplica-lo
História que eu fiz na hora vaga.
Nao consigo loga no banco de dados no mobile usando Mysql e PHP
[TUTORIAL] Banco de dados || MySQL
IA de turret
Hoje à(s) 1:48 am
Ontem à(s) 8:02 pm
Ontem à(s) 6:31 pm
Ontem à(s) 6:19 pm
Sab Dez 08, 2018 11:28 pm
Sab Dez 08, 2018 9:42 pm
Sab Dez 08, 2018 3:20 pm
Sex Dez 07, 2018 6:04 pm
Sex Dez 07, 2018 12:11 pm
Sex Dez 07, 2018 5:03 am
Qui Dez 06, 2018 11:02 pm
Qui Dez 06, 2018 8:17 pm
Qui Dez 06, 2018 6:30 pm
Qui Dez 06, 2018 6:30 pm
Qui Dez 06, 2018 6:26 pm
Qui Dez 06, 2018 5:59 pm
Qui Dez 06, 2018 1:28 pm
Qua Dez 05, 2018 8:53 pm
Qua Dez 05, 2018 11:31 am
Ter Dez 04, 2018 6:57 pm
Ter Dez 04, 2018 3:24 pm
Ter Dez 04, 2018 1:37 pm
Ter Dez 04, 2018 8:02 am
Ter Dez 04, 2018 7:50 am
Ter Dez 04, 2018 4:10 am
Ter Dez 04, 2018 3:57 am
Ter Dez 04, 2018 3:39 am
Seg Dez 03, 2018 10:45 pm
Seg Dez 03, 2018 8:47 pm
Seg Dez 03, 2018 12:11 pm
Seg Dez 03, 2018 12:08 pm
Seg Dez 03, 2018 9:09 am
Seg Dez 03, 2018 9:00 am
Seg Dez 03, 2018 5:12 am
Seg Dez 03, 2018 1:42 am
Dom Dez 02, 2018 11:32 pm
Dom Dez 02, 2018 11:31 pm
Dom Dez 02, 2018 11:29 am
Dom Dez 02, 2018 1:51 am
Dom Dez 02, 2018 12:42 am
Sab Dez 01, 2018 9:24 pm
Sab Dez 01, 2018 9:11 pm
Sab Dez 01, 2018 1:37 pm
Sab Dez 01, 2018 1:22 pm
Sex Nov 30, 2018 4:10 pm
Sex Nov 30, 2018 10:28 am
Qui Nov 29, 2018 2:02 am
Qui Nov 29, 2018 1:11 am
Qui Nov 29, 2018 1:08 am
Qua Nov 28, 2018 3:03 pm
Qua Nov 28, 2018 3:00 pm
Qua Nov 28, 2018 1:29 pm
Qua Nov 28, 2018 4:09 am
Qua Nov 28, 2018 3:03 am
Ter Nov 27, 2018 8:49 pm
Ter Nov 27, 2018 5:50 pm
Ter Nov 27, 2018 1:46 pm
Seg Nov 26, 2018 8:29 pm
Seg Nov 26, 2018 2:56 pm
Seg Nov 26, 2018 2:55 pm
Seg Nov 26, 2018 12:43 pm
Seg Nov 26, 2018 9:33 am
Seg Nov 26, 2018 9:28 am
Dom Nov 25, 2018 11:06 pm
Dom Nov 25, 2018 5:08 pm
Dom Nov 25, 2018 9:21 am
Dom Nov 25, 2018 5:04 am
Sab Nov 24, 2018 8:41 pm
Sab Nov 24, 2018 4:52 pm
Sab Nov 24, 2018 4:03 pm
Sab Nov 24, 2018 2:33 pm
Sab Nov 24, 2018 8:49 am
Sab Nov 24, 2018 6:54 am
Sex Nov 23, 2018 4:28 pm
Sex Nov 23, 2018 1:58 pm
Sex Nov 23, 2018 1:29 pm
Sex Nov 23, 2018 12:49 pm
Sex Nov 23, 2018 12:42 pm
Qui Nov 22, 2018 7:21 pm
Qui Nov 22, 2018 12:59 pm
Qui Nov 22, 2018 10:53 am
Qui Nov 22, 2018 10:33 am
Qua Nov 21, 2018 7:41 pm
Qua Nov 21, 2018 11:09 am
Qua Nov 21, 2018 7:30 am
Ter Nov 20, 2018 10:58 pm
Ter Nov 20, 2018 4:07 pm
Ter Nov 20, 2018 2:37 pm
Ter Nov 20, 2018 12:58 pm
Seg Nov 19, 2018 11:11 pm
Seg Nov 19, 2018 7:47 pm
Seg Nov 19, 2018 7:42 pm
Seg Nov 19, 2018 2:46 pm
Seg Nov 19, 2018 1:48 pm
Seg Nov 19, 2018 11:40 am
Seg Nov 19, 2018 1:05 am
Dom Nov 18, 2018 11:35 pm
Dom Nov 18, 2018 11:20 pm
Dom Nov 18, 2018 11:18 pm
Tegh
BRGC
Callyde Jr
luis45
Jp.Game
ueslei16
gcs
dstaroski
McbDJ
MarcosSchultz
Isabela
gilgsjr
dstaroski
dstaroski
dstaroski
francisco barroso
yVIEIRA
NKKF
francisco barroso
henriquegames501
gilgsjr
Manawydan
Zack2
yanayana
MarcosSchultz
MarcosSchultz
MarcosSchultz
Emerson Rebouças
lesgoy
Opiz
NKKF
Tegh
Tegh
Zack2
MarcosSchultz
Dom3000
Dom3000
Luizdanhp
ffabim
gutozardy
diegopds
gilgsjr
Joab Artes Gráficas
SuperGamer
glauco
dstaroski
Valdir dos Santos
igorobm
igorobm
TioUV
TioUV
dstaroski
conceptfac
rZwr
Erivan
francisco barroso
tonCosta3939
Simplizãum S
ninjagamergabriel
Hube
Mago
natanael.olimpio
natanael.olimpio
MarcosSchultz
Isabela
diegopds
KAYKETHEO27
NKKF
MRX
tonCosta3939
Joab Artes Gráficas
Zack2
Joab Artes Gráficas
francisco barroso
Callyde Jr
dstaroski
Joab Artes Gráficas
Joab Artes Gráficas
clroberto2005
Insurgente
diegopds
diegopds
Tegh
Samuelostgamer
TioUV
NKKF
Simplizãum S
ArysonSantos
Jmspp
gonzaga
Magnatah
conceptfac
francisco barroso
rZwr
MayLeone
SuperGamer
sabbath
sabbath
MarcosSchultz

Como alterar todos os materiais de um mesh renderer?

Ir em baixo

DÚVIDA Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Ter Abr 10, 2018 9:08 pm

Basicamente isto, quero alterar todos os materiais de um gameObject para outro, posso alterar apenas o primeiro material usando gameObject.GetComponent<MeshRenderer> ().material = materialQueEuDesejar;, mas não consigo usar o <MeshRenderer>().materials[];
todos os tópicos que vi no fórum da unity são da idade da pedra e não funcionam mais, ou são em javascript que não entendo nada. Uma ajuda seria de grande beneficio. Obrigado.
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por NKKF em Ter Abr 10, 2018 9:16 pm

Faz assim:

Código:
public MeshRenderer[] rend;

public void MudarMateriais(Material a){
foreach(MeshRenderer b in rend){
b.material = a;
}
}

Referências:
https://docs.unity3d.com/ScriptReference/MeshRenderer.html
https://docs.unity3d.com/ScriptReference/Material.html
https://unity3d.com/pt/learn/tutorials/topics/scripting/loops
https://answers.unity.com/questions/164600/foreach-loop-with-an-array-of-gameobjects.html

Espero ter lhe ajudado.
avatar
NKKF
ProgramadorMaster

Masculino PONTOS : 2086
REPUTAÇÃO : 413
Idade : 14
Áreas de atuação : Error 404 Not Found.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Ter Abr 10, 2018 9:47 pm

não funcionou
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por ffabim em Ter Abr 10, 2018 10:51 pm

Tbm estava precisando de algo parecido igual a este, mais acabei desistindo
mas tenta ai pode ser que funcione

Código:
   public MeshRenderer[] rend;
 
 void Start(){rend = GetComponentsInChildren<MeshRenderer>();}

    public void MudarMateriais(Material a){
    foreach(MeshRenderer b in rend){
    b.material = a;
    }
    }
}

ou
Código:
   public MeshRenderer[] rend;

    public void MudarMateriais(Material a){
 foreach (MeshRenderer b in GetComponentsInChildren<Renderer>())
    b.material = a;
    }
    }
avatar
ffabim
Avançado
Avançado

Masculino PONTOS : 1032
REPUTAÇÃO : 36
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Ter Abr 10, 2018 11:20 pm

não da certo, primeiro porque é uma array, segundo porque não quero uma array com os mesh renderers"ate porque usualmente so tem 1 por gameobjects" e sim uma array com todos os materiais no mesh renderer.
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por ffabim em Qua Abr 11, 2018 9:49 pm

Estranho, mais não entendi você tem uma mesh com vários materiais e não quer usar array?
avatar
ffabim
Avançado
Avançado

Masculino PONTOS : 1032
REPUTAÇÃO : 36
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Qua Abr 11, 2018 10:10 pm

to falando que não da de usar 
rend = GetComponent<MeshRenderer>();
Porque a variável rend é uma array [] , segundo porque eu não quero fazer um loop nas minhas mesh renderers, logo porque o objeto só tem uma, no caso seria feito um loop em cada material dentro da mesh renderer, mas já tentei de vários jeitos e não consegui nenhum resultado
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por ffabim em Qua Abr 11, 2018 11:19 pm

Entendi, veja ai se funciona estou sem unity no momento
Código:
public Material[] materials;
 public MeshRenderer rend;
 public void MudarMateriais(Material newMaterial)
 {Material[] materials = new Material[rend.materials.Length];
 for (int i = 0; i < materials.Length; ++i)
 {
 materials[i] = newMaterial;
 }
 rend.materials = materials;
         }
     }
avatar
ffabim
Avançado
Avançado

Masculino PONTOS : 1032
REPUTAÇÃO : 36
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Qui Abr 12, 2018 12:09 am

Ja deixei funcionando, apenas importei outro modelo com um material apenas vai me servir perfeitamente, melhor do que programar sem saber ashsahashsahas
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por ffabim em Qui Abr 12, 2018 12:15 am

rsrsrs, no caso resolveu o seu problema?
avatar
ffabim
Avançado
Avançado

Masculino PONTOS : 1032
REPUTAÇÃO : 36
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Qui Abr 12, 2018 1:00 am

Sim, eu queria fazer isso porque estava com preguiça de importar uma copia do modelo com apenas um material, então tecnicamente já esta resolvido, nem testei seu código mals.
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Dom3000 em Qui Abr 12, 2018 9:55 am

cara eu fiz isso de mudar o material para poder tornar meus personagens em pedra, kkk
puta merda que foi tenso pacas,acho que vou fazer um tuto

Public MeshRenderer[] Meshs;
Public Materials[] Material;

 Meshs.materials = Material; dessa maneira os material vão ser substituido pelo material
avatar
Dom3000
Programador

Masculino PONTOS : 2341
REPUTAÇÃO : 219
Idade : 23
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras :

Ver perfil do usuário https://www.instagram.com/battlesofworlds/?hl=pt-br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Dom Abr 15, 2018 1:44 pm

Da para fazer uma variável do tipo materials? tenho quase certeza que testei isso e não dava
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por NKKF em Dom Abr 15, 2018 2:34 pm

Material sempre será no singular, você deve utilizar ele no plural apenas se quiser denominar esta variável assim. Para criar um conjunto de materiais, utilize:

Código:
Material[] mats;

//Ou faça assim:

List<Material> mat;

^ Lembre-se de importar as bibliotecas corretamente.
avatar
NKKF
ProgramadorMaster

Masculino PONTOS : 2086
REPUTAÇÃO : 413
Idade : 14
Áreas de atuação : Error 404 Not Found.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Dom Abr 15, 2018 9:22 pm

Então como você conseguiu @Dom3000?
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Dom Abr 15, 2018 9:23 pm

Você usou naquele poder da medusa certo?
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por NKKF em Dom Abr 15, 2018 9:34 pm

É meio complicado entender o que você quer. Tente explicar-se novamente, assim podemos lhe ajudar.

@Edit: Você quer mudar o material do objeto?
avatar
NKKF
ProgramadorMaster

Masculino PONTOS : 2086
REPUTAÇÃO : 413
Idade : 14
Áreas de atuação : Error 404 Not Found.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Dom Abr 15, 2018 10:59 pm

Tenho alguns mesh renderer que tem de 5 a 7 materiais diferentes cada um, quero trocar todos esses materiais por um outro. Desculpe a falta  de  clareza, tenho problemas para me expressar.
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Callyde Jr em Seg Abr 16, 2018 6:32 am

Eu fiz assim para mudar a cor do carro ele tinha como voce falou materiais diferentes mesma cor mais cada parte do carro tinhao ceu, entao eu coloquei o mesmo material neles todos entao quando eu mudo a cor ele muda todo objecto entedeu?
avatar
Callyde Jr
Programador

Masculino PONTOS : 2750
REPUTAÇÃO : 372
Idade : 39
Áreas de atuação : Iniciante em modelagem Blender,ScketSHUP
Progamador
Ideialista

Meu Canal
https://www.youtube.com/ch
Respeito as regras :

Ver perfil do usuário http://unnygames.000webhostapp.com/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Dom3000 em Seg Abr 16, 2018 9:41 am

eu fiz assim: criei uma classe e nessa classe coloquei uma variavel de array de material, ai criei uma aray dessa nova classe assim fica uma array de aray de materiais, no start eu chamo a função de getcomponetsInChildren das meshes e skinsmeshes, ai eu guardo os materials de cada mesh e skinmeshes nessa minha nova classe, ai quando mudo o material eu substituo o material um por um pelo material da pedra assim as meshes e skinsmesh ficam com o numero de materials original, tipo se a meshes ter 7 materiais ela continua com os 7 materiais so que seram os mesmos, quando quer voltar ao material original, se faz a mesma coisa so em vez de colocar o material se coloca o material original correspondente para cada skinmesh ou mesh;


não sei exatamente se vai funcionar pois não testei mas por esse script vc pode ter uma ideia do que falei em cima
Código:





// Variaveis dos Materiais
   [Serializable]
   public class MatsOriginal {

      [Space(10)]
   [HideInInspector]   public SkinnedMeshRenderer[] Skins;
      [Space(20)]
      [HideInInspector]   public MeshRenderer[] Meshes;
      [Space(10)]
      public    List<SkinnedMeshRenderer> SkinsAchados;
      public    List<MeshRenderer> MeshesAchados;
   

      [Space(20)]
      public List<Mats> SkinsMats;

      [Space(20)]
      public List<Mats> MeshesMats;

   

      [Serializable]
      public class Mats {

         public Material [] Materiais;


      }


   }



float CroGuard;
void GuardarMateriais(){


      if (CroGuard == 0) {
         
         MaterialOriginal.Skins = GetComponentsInChildren<SkinnedMeshRenderer> ();


         for (int x = 0; x < MaterialOriginal.Skins.Length; x++) {

            if (!MaterialOriginal.SkinsAchados.Contains (MaterialOriginal.Skins [x])) {
               
               MaterialOriginal.SkinsAchados.Add (MaterialOriginal.Skins [x]);
               MaterialOriginal.SkinsMats.Add (new MatsOriginal.Mats ());
               MaterialOriginal.SkinsMats [x].Materiais = MaterialOriginal.Skins [x].materials;

            }
         }
      }


      CroGuard += Time.deltaTime;

      if (CroGuard <= 1) {

         MaterialOriginal.Meshes = GetComponentsInChildren<MeshRenderer> ();

         for (int x = 0; x < MaterialOriginal.Meshes.Length; x++) {

            if (!MaterialOriginal.MeshesAchados.Contains (MaterialOriginal.Meshes [x])) {

               MaterialOriginal.MeshesAchados.Add (MaterialOriginal.Meshes [x]);

               MaterialOriginal.MeshesMats.Add (new MatsOriginal.Mats());
               MaterialOriginal.MeshesMats [x].Materiais = MaterialOriginal.Meshes [x].materials;

            }}
      }






   



   }

public Material MatPedra;
void TransformarEmPedra(){

     


                                        SkinnedMeshRenderer[] Skins = GetComponentsInChildren<SkinnedMeshRenderer>();
                                        // torna o material de pedra nas Skins
                                        for (int s = 0; s < Skins.Length; s++)
                                        {

                                            Material[] Mats = Skins[s].materials;

                                            for (int m = 0; m < Mats.Length; m++)
                                            {

                                                MateriaisOriginais.Add(Skins[s].materials[m]);

                                                Mats[m] = MagiasDeATK.MatPedra;

                                            }

                                            Skins[s].materials = Mats;

                                        }



                                        MeshRenderer[] Meshs = GetComponentsInChildren<MeshRenderer>();

                                        // Torna pedra todas as meshes

                                        for (int s = 0; s < Meshs.Length; s++)
                                        {

                                            Material[] Mats = Meshs[s].materials;

                                            for (int m = 0; m < Mats.Length; m++)
                                            {

                                                MateriaisOriginais.Add(Skins[s].materials[m]);

                                                Mats[m] = MagiasDeATK.MatPedra;

                                            }

                                            Meshs[s].materials = Mats;

                                        }










}


OnDestoy(){// esta void toca quando o obj é destruido e nesse caso serve para tornar os materiais originais novamente

       

                        SkinnedMeshRenderer[] Skins = GetComponentsInChildren<SkinnedMeshRenderer> ();

         // torna o material de pedra nas Skins
         for (int s = 0; s < Skins.Length; s++) {

         Skins [s].materials = MaterialOriginal.SkinsMats[s].Materiais;
                        
         }



         MeshRenderer[] Meshs = AtingidosMagia [p].gameObject.GetComponentsInChildren<MeshRenderer> ();

         // Torna pedra todas as meshes

         for (int s = 0; s < Meshs.Length; s++) {

         Meshs [s].materials = MaterialOriginal.MeshesMats[s].Materiais;
                        
         }



}

avatar
Dom3000
Programador

Masculino PONTOS : 2341
REPUTAÇÃO : 219
Idade : 23
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras :

Ver perfil do usuário https://www.instagram.com/battlesofworlds/?hl=pt-br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Ter Abr 17, 2018 4:18 pm

Consegui, valeu doom, aparentemente o meshRenderer.materials [0] = outromaterial não funciona,
 o meu código ficou assim no final;
Código:
MeshRenderer rend;
public Material materialATrocar;
Material[] materiais;

void Start(){
 materiais = rend.materials;
}

void Update(){
rend.materials = materiais;
 TrocarMateriais();
}

void TrocarMateriais(){
 if(trocarMaterias == true){
  for (int i = 0; i < materiais.Length; i++) {
   materiais [i] = materialATrocar;
    }
  }
}
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Dom3000 em Ter Abr 17, 2018 7:11 pm

@Fluttershy28 escreveu:Consegui, valeu doom, aparentemente o meshRenderer.materials [0] = outromaterial não funciona,
 o meu código ficou assim no final;
Código:
MeshRenderer rend;
public Material materialATrocar;
Material[] materiais;

void Start(){
 materiais = rend.materials;
}

void Update(){
rend.materials = materiais;
 TrocarMateriais();
}

void TrocarMateriais(){
 if(trocarMaterias == true){
  for (int i = 0; i < materiais.Length; i++) {
 materiais [i] = materialATrocar;
    }
  }
}
dessa maneira vc vai conseguir mudar o material , mas não vai conseguir devolver o material original
avatar
Dom3000
Programador

Masculino PONTOS : 2341
REPUTAÇÃO : 219
Idade : 23
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras :

Ver perfil do usuário https://www.instagram.com/battlesofworlds/?hl=pt-br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Ter Abr 17, 2018 7:14 pm

Sim, eu não preciso devolver o material para o que eu quero, basicamente é meu sistema de construção, quando eu terminar esse sistema vou postar mais um vídeo de como o jogo esta ficando , faz um tempo desde a ultima vez
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Dom3000 em Ter Abr 17, 2018 7:37 pm

então blz, fico ansioso para ver o projeto, quero ver um projeto melhor que o meu, ate agora não achei, nenhum
avatar
Dom3000
Programador

Masculino PONTOS : 2341
REPUTAÇÃO : 219
Idade : 23
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras :

Ver perfil do usuário https://www.instagram.com/battlesofworlds/?hl=pt-br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Dom3000 em Ter Abr 17, 2018 7:51 pm

vou postar igual um tutorial aqui no forum sobre isso
avatar
Dom3000
Programador

Masculino PONTOS : 2341
REPUTAÇÃO : 219
Idade : 23
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras :

Ver perfil do usuário https://www.instagram.com/battlesofworlds/?hl=pt-br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Dom3000 em Ter Abr 17, 2018 8:02 pm

avatar
Dom3000
Programador

Masculino PONTOS : 2341
REPUTAÇÃO : 219
Idade : 23
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras :

Ver perfil do usuário https://www.instagram.com/battlesofworlds/?hl=pt-br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Ter Abr 17, 2018 8:55 pm

Os melhores projetos que já vi aqui no site são o seu e  o do marcos4503
avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Dom3000 em Ter Abr 17, 2018 9:49 pm

não vi os do marcos4503@ pode me mandar algum link 
o que vi no brasil são jogos indie nada perto de profissional, na gringa já vi muitos bem legais como o do Emushit  https://www.youtube.com/channel/UC7T8ybogdDIv0Xncvf09z3w
mas mesmo ele não supera e cara eu achava impossível fazer igual, mas atualmente meu projeto superou o dele ate fiz um Golpe do Dragão que ficou muito foda o shen long se move como no anime mesmo  :P,  mas o cara deve estar trabalhando em algum outro projeto quero ver só o que ele vai fazer, deve que sera incrível;
avatar
Dom3000
Programador

Masculino PONTOS : 2341
REPUTAÇÃO : 219
Idade : 23
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras :

Ver perfil do usuário https://www.instagram.com/battlesofworlds/?hl=pt-br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Fluttershy28 em Ter Abr 17, 2018 9:52 pm

avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 556
REPUTAÇÃO : 46
Idade : 22
Áreas de atuação : Modelagem,Animação,Texturização,Design
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como alterar todos os materiais de um mesh renderer?

Mensagem por Dom3000 em Ter Abr 17, 2018 9:55 pm

cara ta ficando bom mesmo;
cara será que meu projeto vende?
avatar
Dom3000
Programador

Masculino PONTOS : 2341
REPUTAÇÃO : 219
Idade : 23
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras :

Ver perfil do usuário https://www.instagram.com/battlesofworlds/?hl=pt-br

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