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:
Unity + Photon 2
Como usar o touchpad da unity para orbital o personagem em terceira pessoas ?
(Dúvida) Encontrar o objeto mais próximo partindo do ponto inicial ao final.
[TUTORIAL] JavaScript & HTML - Eventos
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Erro MSVehicleController
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[Em Desenvolvimento] Battles of Worlds
Artistas 3D e Programadores Unity3D (Remunerado)
[Modelo 3D]Unity Interior 3D Estilo De Terror + Download Grátis
iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Salvar e carregar dados json player pref
Dificuldade no adição do Android SDK a Unity e erro no Android Studio
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
[TUTORIAL] Sistema de Entregas + GPS!
Como fazer um objeto ter a mesma rotação de outro
Favela Killer Mapa
Servidor De Desenvolvimento De Jogos GGI DISCORD
[Duvida] Script pegar itens
[TUTORIAL] Sistema de vida,morte,dano
[TUTORIAL] Third Person Shooter
[GameJam] Competição organizada pela BitCodeStudios
Como Faz pra barra de vida aparecer de uma cena pra outra?
[____ENQUETE____] Eleições para presidente 2018 (2º turno)
[PROJETO MOBILE] Defeat the Illuminatis
[RESOLVIDO] Problema com cenário infinito ou algum tipo de bug na Unity?
Unity Remota 5, sem reação.
Procuro Equipe Para Criação de Jogo [PAGO]
Procuro Map Designer [PAGO $$$] (criador de mapas)
[TUTORIAL] Sistema de Oficina de Carros
[RESOLVIDO] Unity 2018 - Bug com a iluminação da Spotlight nos Objetos
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
[TUTORIAL] Barra de VIDA / HP contínua
Blander ao juntar algumas partes ficam mais escuro
Problema com Esqueleto do personagem
{Possível Projeto para Unity} Buscando membros para formar uma Equipe...
[TUTORIAL] Como spawnar inimigos [Tutorial simples]
Não consigo fazer o box collider descer junto com o personagem.
BUG UNITY 3D ROSA A SCENE E GAME
Sistema de Grau Realista - Jogo de Moto
Programação Unity android 2D
(UNITY) Erro ao compilar a Build Android
Erro na sincronização dos player no Photon
[TUTORIAL] Barra de vida usando a UI da Unity(Slider)
[Projeto] Line Battle
[TUTORIAL] Desbloqueio e Escolha de Personagens.
[RESOLVIDO] Problema com o navmesh agent
[RESOLVIDO] Registro cadrastando uma vez?
Vaga de modelador 3D, com remuneração...
Problemas com Colisores
Como criar Atlas de textura com modelos exportados do Sketchup?
Unity - Sistema de Pagamento
[RESOLVIDO] iniciar áudio ao passar por uma área da cena
[RESOLVIDO] como envia asset para asset store
[TUTORIAL] Mover personagem com Touch, no estilo SUBWAY SURFERS
codigo não deleta prefab e não respeita o if
[TUTORIAL] Filtros de áudio para AudioListner (Low pass filter, High pass filter, etc)
[____CICLO DE TRABALHO DA UNITY____]
Meu jogo não está abrindo em outro PC
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Discord para desenvolvimento de jogos
FAB in WWII (Novo jogo na Play Storee é Free :D)
[TUTORIAL] Sistema de PORTAS e CHAVES
Criar uma Array ou List com as resoluções suportadas
Alguem traz esse tutorial pro forum?
Realistic fps prefab tenho esses erros ao tentar colocar um script de entrar sair do carro
[RESOLVIDO] Alguem pode me ajudar? tenho esse erro aqui em um script
[RESOLVIDO] Personagem 2d batendo na borda e voando.
[RESOLVIDO] Não consigo usar o Sphere collider.
[RESOLVIDO] Como usa o UI.Text do unity?
Como criar botão de nova tentativa
[RESOLVIDO] Duvida em Jogo de tiro 2D
[RESOLVIDO] duvida com PlayerPrefs
Iniciar animação em determinado frame
Sistema De Troca De Armas 2D
[TUTORIAL] Script de arma completo! [FREE]
[TUTORIAL] Ordenar valores de uma array[] em ordem CRESCENTE OU DECRESCENTE
Meu jogo de runner em primeira pessoa !
[RESOLVIDO] Timer pra mudar de cena na unity 2018
Atualizar Build
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
Como usar Vector3.Angles para detectar que algo está na frente de outro objeto?
[TUTORIAL] Como fazer porta malas do carro abrir atravez de um botão?
Script nao funciona
Como desativar scripts em objetos distantes
[RESOLVIDO] Bug Da Unity ?
[AULA] HTML - Aula 1: Introdução
Raycast
[TUTORIAL]"Morte" do personagem (Unity 5.3 ou Superior)
Problema com a unity ads
como eu faço para a camera orbitar um objeto atraves de um joystick?????
XML, suporte e utilização.
Arrastar objetos em plano 2D (ArrastarT).
Participe da Game Jam - Jaaj do canal Amdré Young!
Criar sistema de arrastar e soltar objetos em determinado lugar
AWM Champions I
[RESOLVIDO] Como verificar se o objeto é diferente de null
COMO FAÇO PARA FAZER UM SISTEMA DE SKIN PARA ANDROID ESTILO HEAVY BUS, PROTON BUS, ETC
[TUTORIAL] Snake com Unity + C#
Hoje à(s) 10:01 am
Hoje à(s) 1:41 am
Hoje à(s) 12:43 am
Ontem à(s) 10:37 pm
Ontem à(s) 9:20 pm
Ontem à(s) 8:56 pm
Ontem à(s) 6:34 pm
Ontem à(s) 6:32 pm
Ontem à(s) 4:52 pm
Ontem à(s) 3:46 pm
Ontem à(s) 3:00 pm
Ontem à(s) 1:45 pm
Ontem à(s) 9:58 am
Dom Out 21, 2018 11:29 pm
Dom Out 21, 2018 8:26 pm
Dom Out 21, 2018 8:26 pm
Dom Out 21, 2018 2:26 pm
Dom Out 21, 2018 1:10 pm
Dom Out 21, 2018 11:07 am
Dom Out 21, 2018 9:36 am
Dom Out 21, 2018 1:10 am
Sab Out 20, 2018 4:15 pm
Sab Out 20, 2018 2:48 pm
Sab Out 20, 2018 1:10 pm
Sab Out 20, 2018 11:46 am
Sex Out 19, 2018 10:24 pm
Sex Out 19, 2018 7:51 pm
Sex Out 19, 2018 7:23 pm
Sex Out 19, 2018 7:18 pm
Qui Out 18, 2018 7:09 pm
Qui Out 18, 2018 4:52 pm
Qui Out 18, 2018 2:57 pm
Qui Out 18, 2018 10:36 am
Qua Out 17, 2018 11:45 pm
Qua Out 17, 2018 11:17 pm
Qua Out 17, 2018 10:14 pm
Qua Out 17, 2018 9:49 pm
Qua Out 17, 2018 8:32 pm
Qua Out 17, 2018 5:18 pm
Qua Out 17, 2018 5:16 pm
Qua Out 17, 2018 5:13 pm
Qua Out 17, 2018 5:10 pm
Qua Out 17, 2018 4:35 pm
Qua Out 17, 2018 3:13 pm
Qua Out 17, 2018 7:28 am
Ter Out 16, 2018 3:34 pm
Ter Out 16, 2018 12:41 pm
Ter Out 16, 2018 11:48 am
Seg Out 15, 2018 5:34 pm
Seg Out 15, 2018 5:03 pm
Seg Out 15, 2018 1:19 pm
Seg Out 15, 2018 12:56 pm
Seg Out 15, 2018 11:34 am
Seg Out 15, 2018 6:17 am
Seg Out 15, 2018 12:30 am
Seg Out 15, 2018 12:18 am
Dom Out 14, 2018 12:52 am
Sab Out 13, 2018 9:08 pm
Sab Out 13, 2018 5:24 pm
Sab Out 13, 2018 4:00 pm
Sex Out 12, 2018 6:00 pm
Sex Out 12, 2018 2:56 pm
Sex Out 12, 2018 2:42 pm
Qui Out 11, 2018 8:59 pm
Qui Out 11, 2018 8:32 pm
Qui Out 11, 2018 3:09 pm
Qui Out 11, 2018 2:32 pm
Qui Out 11, 2018 12:15 pm
Qui Out 11, 2018 11:35 am
Qui Out 11, 2018 10:50 am
Qui Out 11, 2018 8:24 am
Qua Out 10, 2018 11:31 pm
Qua Out 10, 2018 10:43 pm
Qua Out 10, 2018 8:22 pm
Qua Out 10, 2018 4:53 pm
Qua Out 10, 2018 4:44 pm
Qua Out 10, 2018 3:48 pm
Qua Out 10, 2018 12:40 pm
Ter Out 09, 2018 9:51 pm
Ter Out 09, 2018 8:16 pm
Ter Out 09, 2018 8:16 pm
Ter Out 09, 2018 8:10 pm
Ter Out 09, 2018 8:09 pm
Ter Out 09, 2018 7:38 pm
Ter Out 09, 2018 2:55 pm
Seg Out 08, 2018 6:13 pm
Seg Out 08, 2018 4:40 pm
Seg Out 08, 2018 2:39 pm
Seg Out 08, 2018 12:52 pm
Seg Out 08, 2018 12:16 pm
Seg Out 08, 2018 10:33 am
Dom Out 07, 2018 1:59 pm
Dom Out 07, 2018 11:53 am
Sab Out 06, 2018 11:14 pm
Sab Out 06, 2018 10:55 pm
Sab Out 06, 2018 8:50 pm
Sab Out 06, 2018 8:41 pm
Sab Out 06, 2018 2:21 pm
Sab Out 06, 2018 1:33 pm
hao3726
CaioItz
rafaelllsd
MayLeone
Pablo Conti
MarcosSchultz
Dom3000
Dom3000
Caio Cesar Miguel
francisco barroso
dstaroski
igorobm
dstaroski
francisco barroso
KAYKETHEO27
ruanzikaad
Isabela
SoullSec
Pablo Conti
francisco barroso
Callyde Jr
hetrodo
hao3726
JohnRambo
dstaroski
FabioBRPA
francisco barroso
SoullSec
SoullSec
leandrospp7
CaerHunter
Mourao
francisco barroso
DominicDK
DominicDK
NoctisLucis
francisco barroso
MayLeone
MarcosSchultz
MarcosSchultz
MarcosSchultz
francisco barroso
hao3726
dstaroski
dstaroski
ismarspn
Jmspp
Callyde Jr
igorobm
conceptfac
Isabela
Callyde Jr
Daniel Dória
diegopds
MarcosSchultz
igorobm
MarcosSchultz
MarcosSchultz
Flávio
francisco barroso
SuperGamer
SoullSec
SoullSec
Flávio
francisco barroso
Samuelostgamer
Samuelostgamer
gurgelg752
luansantos
guimaraf
theus.mors
TecnoGames
Eduardoro39
QueriaStarMorto
QueriaStarMorto
mecjo
NyanHeavyBR
CaioItz
RodriGO3477
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
FelipeSouza11
FelipeSouza11
QueriaStarMorto
Tegh
Jmspp
Callyde Jr
Jmspp
Gabryellx007
Tegh
Tegh
Luizdanhp
MarcosSchultz
TioUV
QueriaStarMorto
KAYKETHEO27
NKKF

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 : 508
REPUTAÇÃO : 46
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 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 : 1995
REPUTAÇÃO : 405
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 : 508
REPUTAÇÃO : 46
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 : 977
REPUTAÇÃO : 34
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 : 508
REPUTAÇÃO : 46
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 : 977
REPUTAÇÃO : 34
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 : 508
REPUTAÇÃO : 46
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 : 977
REPUTAÇÃO : 34
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 : 508
REPUTAÇÃO : 46
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 : 977
REPUTAÇÃO : 34
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 : 508
REPUTAÇÃO : 46
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 : 2273
REPUTAÇÃO : 209
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/
Ble
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 : 508
REPUTAÇÃO : 46
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 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 : 1995
REPUTAÇÃO : 405
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 : 508
REPUTAÇÃO : 46
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 : 508
REPUTAÇÃO : 46
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 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 : 1995
REPUTAÇÃO : 405
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 : 508
REPUTAÇÃO : 46
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 : 2685
REPUTAÇÃO : 364
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 : 2273
REPUTAÇÃO : 209
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/
Ble
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 : 508
REPUTAÇÃO : 46
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 : 2273
REPUTAÇÃO : 209
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/
Ble
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 : 508
REPUTAÇÃO : 46
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 : 2273
REPUTAÇÃO : 209
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/
Ble
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 : 2273
REPUTAÇÃO : 209
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/
Ble
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 : 2273
REPUTAÇÃO : 209
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/
Ble
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 : 508
REPUTAÇÃO : 46
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  :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 : 2273
REPUTAÇÃO : 209
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/
Ble
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 : 508
REPUTAÇÃO : 46
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 : 2273
REPUTAÇÃO : 209
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/
Ble
Respeito as regras :

Ver perfil do usuário

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