Transformação de personagem
2 participantes
Página 1 de 1
Transformação de personagem
Como faço para adicionar uma transformação pro personagem? Quero que quando voce aperta um botao ele passe da forma humana pra outra forma. O jogo é 3d em terceira pessoa.
Xavier- Membro
- PONTOS : 845
REPUTAÇÃO : 7
Respeito as regras :
Re: Transformação de personagem
Existem algumas alternativas para isso.
1°Desativando e Ativando
A mais simples é colocar a segunda forma como filho da primeira na posição (0,0,0) e então desativa-la e quando for apertar o botao voce coloca:
2°Instantiate e Destroy
Caso voce não queira fazer a primeira maneira, voce pode fazer que ao apetar o botao, a partir da posição do player instancia a segunda forma e destroi o player, ao apertar o botao novamente faz a mesma coisa porém ao contrário, a partir da posição da segunda forma instancia o player e destroy a segunda forma.
3°Alterando a Mesh
E a terceira maneira é mudando sua Mesh apartir do meshFilter. Caso optar por esta maneira recomendo que crie uma pasta com o nome "Resources" para podermos guardar nossos prefabs e partir dela pegar a mesh de acordo com nome do GameObject. Para podermos pegar os objetos da pasta Resources utiliazamos o Resource.Load()e para pegar o Component utilizamos GetComponent<T>().
Ambas Maneiras resultará:
1°Desativando e Ativando
A mais simples é colocar a segunda forma como filho da primeira na posição (0,0,0) e então desativa-la e quando for apertar o botao voce coloca:
- Código:
yourGameObject.SetActive(true);
2°Instantiate e Destroy
Caso voce não queira fazer a primeira maneira, voce pode fazer que ao apetar o botao, a partir da posição do player instancia a segunda forma e destroi o player, ao apertar o botao novamente faz a mesma coisa porém ao contrário, a partir da posição da segunda forma instancia o player e destroy a segunda forma.
- Código:
Instantiate(secondForm, tansform.position, transform.rotation);
Destroy(this.gameObject);
3°Alterando a Mesh
E a terceira maneira é mudando sua Mesh apartir do meshFilter. Caso optar por esta maneira recomendo que crie uma pasta com o nome "Resources" para podermos guardar nossos prefabs e partir dela pegar a mesh de acordo com nome do GameObject. Para podermos pegar os objetos da pasta Resources utiliazamos o Resource.Load()e para pegar o Component utilizamos GetComponent<T>().
- Código:
Mesh mesh = Resources.Load<GameObject>("Name").GetComponent<MeshFilter>().sharedMesh;
gameObject.GetComponent<MeshFilter>().mesh = mesh;
Ambas Maneiras resultará:
Pokedlg- ProgramadorMaster
-
PONTOS : 1803
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Transformação de personagem
hm, bacana, tô usando o primeiro jeito, achei melhor.Pokedlg escreveu:Existem algumas alternativas para isso.
1°Desativando e Ativando
A mais simples é colocar a segunda forma como filho da primeira na posição (0,0,0) e então desativa-la e quando for apertar o botao voce coloca:
- Código:
yourGameObject.SetActive(true);
2°Instantiate e Destroy
Caso voce não queira fazer a primeira maneira, voce pode fazer que ao apetar o botao, a partir da posição do player instancia a segunda forma e destroi o player, ao apertar o botao novamente faz a mesma coisa porém ao contrário, a partir da posição da segunda forma instancia o player e destroy a segunda forma.
- Código:
Instantiate(secondForm, tansform.position, transform.rotation);
Destroy(this.gameObject);
3°Alterando a Mesh
E a terceira maneira é mudando sua Mesh apartir do meshFilter. Caso optar por esta maneira recomendo que crie uma pasta com o nome "Resources" para podermos guardar nossos prefabs e partir dela pegar a mesh de acordo com nome do GameObject. Para podermos pegar os objetos da pasta Resources utiliazamos o Resource.Load()e para pegar o Component utilizamos GetComponent<T>().
- Código:
Mesh mesh = Resources.Load<GameObject>("Name").GetComponent<MeshFilter>().sharedMesh;
gameObject.GetComponent<MeshFilter>().mesh = mesh;
Ambas Maneiras resultará:
Xavier- Membro
- PONTOS : 845
REPUTAÇÃO : 7
Respeito as regras :

» Personagem da AS, animações do mixamo dão erro ao usar avatar do personagem.
» personagem
» Como fazer o personagem me atacar e fazer o personagem morrer??
» Como usar um personagem low poly como personagem jogavel
» Personagem invisivel
» personagem
» Como fazer o personagem me atacar e fazer o personagem morrer??
» Como usar um personagem low poly como personagem jogavel
» Personagem invisivel
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos