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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)
Como apagar Proceduram material da pista, quando for recarregar a cena?
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[TUTORIAL] Tirar printscreen em Runtime
Melhor método de criar mapas fechados para jogos?
estou montando uma equipe para jogos Android!!!!
Como tenho que desenhar o cenario 2D?
Destruir Polygon Collider 2D e Readiciona-lo, porém não há uma precisão no colisor gerado!
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Jogo Mobile - Utomate Fighter
Problema na física dos carros
Como fazer para traçar uma routa
[Ajuda] como fazer um objeto trocar de cor ao colidir com outro objeto
Botão para interagir com objeto
Sprite quando muda de animaçao muda de lugar e tamanho ajudem
Botão aparecer folha
(DÚVIDA) como eu posso fazer para a Câmera ativar um objeto ao ver?
Sistema de recoil e marca do tiro na parede!!!
[TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
Estou com problemas na iluminação da minha Lanterna (jogo de terror)
Problemas na hr da build do projeto unity 2017.3.1
[TUTORIAL] Efeito Outlined (Sublinhado) com shader
Animações 3D sincronização?!
Pegar o Collision de prefabs
Auto-Update de forma rápida, simples e barata.
Problema com contator
[RESOLVIDO] Trocar controles de keyboard para gui
[DÚVIDA] Script teleporte, como esperar determinados segundos para teleportar
Como Eu fasso um Um sistema de dia e noite
Será que vale a pena colocar todas as ideias do jogo em um papel?
Duvidas sobre jogos 2d
Desativar arma quando pegar outra
Efeito arma giratória
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
IsLocalPlayer não existe, o que substitui ele?
Script de Chute Futebol
Polygon Collider anexado a sprite com areas transparentes
[TUTORIAL] Seleçao de personagens no Photon.
Botão para acionar velocidade e botão para retornar a posição inicial
como fazer sistema de seleção de personagem para moba no photon?
Sombras na "tampa" de buracos no blender
Gradiente de cores
Personagem olhar para frente ao andar.
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
[Dúvida] Multiplayer Client Object Spawn
Tangram ou Quebra Cabeça
[RESOLVIDO] Problema Com o transform.LookAt!
Jogo com Battle Royale já em desenvolvimento
Inimigo jogar o jogador de volta.
Como fazer um gráfico em forma de pizza na unity?
Texturização no Blender
Tudo fica bugado ao mudar o projeto de PC para Android
erro de dll's
Como alterar todos os materiais de um mesh renderer?
[TUTORIAL] Mudando material
[RESOLVIDO] Remover child
[RESOLVIDO] Como compilar pra android ?
Inimigo seguir o jogador sem usar o NavMesh
Resolução
(DUVIDA) Pq os Graficos Não Diminuem Corretamente?
[RESOLVIDO] Script não ativa bool do animator
[FORMAÇÃO DE EQUIPE]Equipe para jogo De Carros
Como evitar que o QualitySettings afete a qualidade da textura de um texto do canvas?
[TUTORIAL] Deixar o Texto (UI) mais bonito - HD
Código não compila
Há alguma forma de Fazer o apk Funcionar somente se for baixado pela Play Store ?
[Alpha Android] - Winthia Chronicles (Alpha Devlog, 21 de março de 2018). V 1.6
Configurar MS vehicle system free para UFPS
CRIAR MENSAGEM NA TELA PARA PERSOAGEM
[RESOLVIDO] Dúvida sobre animação do personagem
Duvida sobre Cenas
[RESOLVIDO] Duvida sobre versao da unity e sobre o lerp
[RESOLVIDO] problemas ao animar o game object
[DÚVIDA] Sair som e acender luz de um BOTÃO UI ao pressionar uma tecla
Dificuldade em criação de mapa simples no Unity
Procuro Modelador 3D, To criando uma equipe.vamos?
[TUTORIAL] Inteligência Artificial
[Devlog] ZByte Defender 10/04 (Alpha Aberta) + Download
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
[TUTORIAL] Decrescer o valor do Emission Particlesystem
Limitar quantidades de vezes chamadas na void Update
[TUTORIAL] Sistema de inventário Sobrevivência
Sistema de Particulas não inicia com o jogo
[TUTORIAL] Serialização - JSON
Como posso resolver um bug reporter que não me deixa abrir o projeto?
[TUTORIAL]Sistema de Pet Virtual [Tamagotchi] Completo (ANDROID/PC)
Como arrumar efeitos do UFPS?
Servidor de discord para desenvolvedores.
Setar objeto filho de outro objeto via scrit
[RESOLVIDO] NavMesh nao funciona direito com terrain ?
[PEDIDO]Criar uma vestimenta para esse modelo que fiz no blender (Com-rig)
Duvida sobre blender para unity
Script para Sistema de Entregas e no final ganhar dinheiro
Formação de equipe
Criar jogo estilo clash of clans
Form API POST WebService unity
Por que a engine Unity 3D ficou pesado(FPS pior) depois da versão 5?
[TUTORIAL] Screenshoot do jogo no editor (em resoluções mais altas)
Hoje à(s) 9:43 pm
Hoje à(s) 9:34 pm
Hoje à(s) 9:17 pm
Hoje à(s) 9:16 pm
Hoje à(s) 7:41 pm
Hoje à(s) 2:42 pm
Hoje à(s) 1:49 pm
Hoje à(s) 11:42 am
Hoje à(s) 11:39 am
Hoje à(s) 11:38 am
Hoje à(s) 11:38 am
Ontem à(s) 9:04 pm
Ontem à(s) 7:34 pm
Ontem à(s) 7:32 pm
Ontem à(s) 7:07 pm
Ontem à(s) 6:55 pm
Ontem à(s) 6:50 pm
Ontem à(s) 3:16 pm
Seg Abr 23, 2018 8:49 pm
Seg Abr 23, 2018 8:32 pm
Seg Abr 23, 2018 8:11 pm
Seg Abr 23, 2018 6:48 pm
Seg Abr 23, 2018 10:33 am
Seg Abr 23, 2018 10:25 am
Dom Abr 22, 2018 8:49 pm
Dom Abr 22, 2018 7:12 pm
Dom Abr 22, 2018 3:52 pm
Dom Abr 22, 2018 3:42 pm
Dom Abr 22, 2018 2:25 pm
Sab Abr 21, 2018 9:54 pm
Sab Abr 21, 2018 9:01 pm
Sab Abr 21, 2018 12:22 pm
Sab Abr 21, 2018 8:36 am
Sab Abr 21, 2018 1:32 am
Sex Abr 20, 2018 7:05 pm
Sex Abr 20, 2018 6:21 pm
Sex Abr 20, 2018 3:12 pm
Sex Abr 20, 2018 3:07 pm
Sex Abr 20, 2018 12:58 pm
Sex Abr 20, 2018 6:39 am
Sex Abr 20, 2018 6:24 am
Sex Abr 20, 2018 1:05 am
Qui Abr 19, 2018 10:33 am
Qui Abr 19, 2018 9:33 am
Qui Abr 19, 2018 6:45 am
Qui Abr 19, 2018 6:02 am
Qua Abr 18, 2018 10:30 pm
Qua Abr 18, 2018 9:13 pm
Qua Abr 18, 2018 8:57 pm
Qua Abr 18, 2018 6:18 pm
Qua Abr 18, 2018 5:48 pm
Qua Abr 18, 2018 3:28 pm
Qua Abr 18, 2018 2:59 pm
Qua Abr 18, 2018 1:41 pm
Ter Abr 17, 2018 9:55 pm
Ter Abr 17, 2018 8:01 pm
Ter Abr 17, 2018 8:00 pm
Ter Abr 17, 2018 7:53 pm
Ter Abr 17, 2018 3:35 pm
Ter Abr 17, 2018 2:22 pm
Ter Abr 17, 2018 1:07 pm
Seg Abr 16, 2018 10:28 pm
Seg Abr 16, 2018 9:03 pm
Seg Abr 16, 2018 6:36 pm
Seg Abr 16, 2018 6:33 pm
Seg Abr 16, 2018 6:31 pm
Seg Abr 16, 2018 1:19 pm
Seg Abr 16, 2018 12:40 pm
Seg Abr 16, 2018 12:09 pm
Seg Abr 16, 2018 10:01 am
Seg Abr 16, 2018 1:07 am
Dom Abr 15, 2018 8:28 am
Dom Abr 15, 2018 12:06 am
Sab Abr 14, 2018 4:29 pm
Sab Abr 14, 2018 2:52 pm
Sab Abr 14, 2018 1:23 pm
Sab Abr 14, 2018 11:23 am
Sab Abr 14, 2018 11:10 am
Sab Abr 14, 2018 9:56 am
Sex Abr 13, 2018 10:20 pm
Sex Abr 13, 2018 10:01 pm
Sex Abr 13, 2018 8:12 pm
Sex Abr 13, 2018 7:22 pm
Sex Abr 13, 2018 4:50 pm
Sex Abr 13, 2018 3:12 pm
Sex Abr 13, 2018 1:30 pm
Sex Abr 13, 2018 12:59 pm
Sex Abr 13, 2018 12:20 pm
Sex Abr 13, 2018 12:16 pm
Sex Abr 13, 2018 12:02 pm
Qui Abr 12, 2018 10:14 pm
Qui Abr 12, 2018 7:01 pm
Qui Abr 12, 2018 12:09 pm
Qua Abr 11, 2018 9:02 pm
Qua Abr 11, 2018 2:00 pm
Ter Abr 10, 2018 11:33 pm
Ter Abr 10, 2018 8:26 pm
Ter Abr 10, 2018 5:57 pm
Ter Abr 10, 2018 2:30 pm
guimaraf
guimaraf
MarcosSchultz
dstaroski
isah
junkflash30
dyemerson
dashartX
dstaroski
dstaroski
dstaroski
willonplay
dstaroski
dstaroski
dstaroski
Phph09
Phph09
Daniel Pires da Silva
dstaroski
dstaroski
Leetz1k
Souris
Dom3000
Dom3000
hetrodo_gamer
Souris
guimaraf
otavio00augusto
Souris
Daniel Pires da Silva
SuperGamer
Zack2
dstaroski
Before Dawn
DreamKiller
YmKx
dstaroski
dstaroski
Callyde Jr
Phph09
Phph09
felipehobs1
dstaroski
Daniel Pires da Silva
Phph09
Callyde Jr
luizmauro123
MarcosUAC
MarcosUAC
rafaelllsd
oilson
Yagogomes
Fluttershy28
hetrodo_gamer
Dom3000
Dom3000
AmaralGabriel2
TioUV
dstaroski
Zack2
glauco
Daniel Pires da Silva
fabriciorsz34
Daniel Pires da Silva
Souris
Souris
fabriciorsz34
Cássio Ambelouer
Phph09
felipehobs1
Callyde Jr
Phph09
Ronmaster
nando07
Souris
Callyde Jr
Dom3000
Dom3000
Mateus2583
MarcosSchultz
ffabim
Daniel Pires da Silva
Fluttershy28
YmKx
natanael.olimpio
Souris
dstaroski
Phph09
BRGC
Phph09
Callyde Jr
BRGC
Zack2
heliab125
Souris
gcs13
natanael.olimpio
Daniel Pires da Silva
dstaroski

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 ().material = materialQueEuDesejar;, mas não consigo usar o ().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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 Souris 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
Souris
ProgramadorMaster

Masculino PONTOS : 1081
REPUTAÇÃO : 220
Idade : 13
Áreas de atuação : UNET ~ HLAPI,
Dev. Mobile,
Unity 2D.
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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 : 788
REPUTAÇÃO : 33
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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 : 788
REPUTAÇÃO : 33
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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 : 788
REPUTAÇÃO : 33
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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 : 788
REPUTAÇÃO : 33
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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 : 1941
REPUTAÇÃO : 173
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
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 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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 Souris 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
Souris
ProgramadorMaster

Masculino PONTOS : 1081
REPUTAÇÃO : 220
Idade : 13
Áreas de atuação : UNET ~ HLAPI,
Dev. Mobile,
Unity 2D.
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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 Souris 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
Souris
ProgramadorMaster

Masculino PONTOS : 1081
REPUTAÇÃO : 220
Idade : 13
Áreas de atuação : UNET ~ HLAPI,
Dev. Mobile,
Unity 2D.
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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 : 2235
REPUTAÇÃO : 300
Idade : 39
Áreas de atuação : Iniciante em modelagem
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 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 : 1941
REPUTAÇÃO : 173
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
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 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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 : 1941
REPUTAÇÃO : 173
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
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 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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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 : 1941
REPUTAÇÃO : 173
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
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:51 pm

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

Masculino PONTOS : 1941
REPUTAÇÃO : 173
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
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 8:02 pm

avatar
Dom3000
Programador

Masculino PONTOS : 1941
REPUTAÇÃO : 173
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
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 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 : 274
REPUTAÇÃO : 29
Idade : 21
Á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  Razz,  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 : 1941
REPUTAÇÃO : 173
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
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 17, 2018 9:52 pm

avatar
Fluttershy28
Avançado
Avançado

Masculino PONTOS : 274
REPUTAÇÃO : 29
Idade : 21
Á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 : 1941
REPUTAÇÃO : 173
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
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 Conteúdo patrocinado


Conteúdo patrocinado


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