Animação completa em personagem rotacionável pelo mouse
2 participantes
Página 1 de 1
Animação completa em personagem rotacionável pelo mouse
Olá, peço ajuda para conseguir implementar todas as animações (andar frente, pra trás, pra esquerda, direita e idle parado) num personagem cujo código o schultz fez o tutorial. Segue o Script.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(Rigidbody))]
public class Movimento : MonoBehaviour {
RaycastHit hit;
Rigidbody rb;
Vector3 movimento;
public bool movimentoEmRelacaoAoMouse = false;
public float velocidadeMovimento = 10;
void Start () {
rb = GetComponent<Rigidbody> ();
}
void FixedUpdate () {
if (Physics.Raycast (Camera.main.ScreenPointToRay (Input.mousePosition), out hit, 100)) {
//
Vector3 playerToMouse = hit.point - transform.position;
playerToMouse.y = 0;
Quaternion newRotation = Quaternion.LookRotation (playerToMouse);
rb.MoveRotation (newRotation);
//movimento
if (movimentoEmRelacaoAoMouse) {
Vector3 forwordDirection = new Vector3 (transform.forward.x, 0, transform.forward.z) * Input.GetAxis ("Vertical");
Vector3 sideDirection = new Vector3 (transform.right.x, 0, transform.right.z) * Input.GetAxis ("Horizontal");
Vector3 finalDirection = forwordDirection + sideDirection;
if (finalDirection.magnitude > 1) {
finalDirection.Normalize ();
}
movimento = finalDirection * velocidadeMovimento * Time.deltaTime;
rb.MovePosition (transform.position + movimento);
}
else {
movimento = new Vector3 (Input.GetAxis ("Horizontal"), 0, Input.GetAxis ("Vertical"));
movimento = movimento.normalized * velocidadeMovimento * Time.deltaTime;
rb.MovePosition (transform.position + movimento);
}
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(Rigidbody))]
public class Movimento : MonoBehaviour {
RaycastHit hit;
Rigidbody rb;
Vector3 movimento;
public bool movimentoEmRelacaoAoMouse = false;
public float velocidadeMovimento = 10;
void Start () {
rb = GetComponent<Rigidbody> ();
}
void FixedUpdate () {
if (Physics.Raycast (Camera.main.ScreenPointToRay (Input.mousePosition), out hit, 100)) {
//
Vector3 playerToMouse = hit.point - transform.position;
playerToMouse.y = 0;
Quaternion newRotation = Quaternion.LookRotation (playerToMouse);
rb.MoveRotation (newRotation);
//movimento
if (movimentoEmRelacaoAoMouse) {
Vector3 forwordDirection = new Vector3 (transform.forward.x, 0, transform.forward.z) * Input.GetAxis ("Vertical");
Vector3 sideDirection = new Vector3 (transform.right.x, 0, transform.right.z) * Input.GetAxis ("Horizontal");
Vector3 finalDirection = forwordDirection + sideDirection;
if (finalDirection.magnitude > 1) {
finalDirection.Normalize ();
}
movimento = finalDirection * velocidadeMovimento * Time.deltaTime;
rb.MovePosition (transform.position + movimento);
}
else {
movimento = new Vector3 (Input.GetAxis ("Horizontal"), 0, Input.GetAxis ("Vertical"));
movimento = movimento.normalized * velocidadeMovimento * Time.deltaTime;
rb.MovePosition (transform.position + movimento);
}
}
}
}
Leonardo2700- Iniciante
-
PONTOS : 378
REPUTAÇÃO : 0
Áreas de atuação : Formado em filosofia
Respeito as regras :
Re: Animação completa em personagem rotacionável pelo mouse
Poderia especificar qual tutorial corresponde o seu código?
Mas a princípio, recomendo que veja o tutorial do Marcos sobre Animator, é bem intuitivo e não precisa de muitas alterações no código.
Mas a princípio, recomendo que veja o tutorial do Marcos sobre Animator, é bem intuitivo e não precisa de muitas alterações no código.
JohnRambo- Moderador
-
PONTOS : 4744
REPUTAÇÃO : 659
Idade : 23
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: Animação completa em personagem rotacionável pelo mouse
Segue o tutorial:
Obrigado, vou ir estudando e logo retorno se conseguir resultados. Gratidão pela atenção.
Obrigado, vou ir estudando e logo retorno se conseguir resultados. Gratidão pela atenção.
Leonardo2700- Iniciante
-
PONTOS : 378
REPUTAÇÃO : 0
Áreas de atuação : Formado em filosofia
Respeito as regras :

» Gostaria de fazer a animação do arco seguir animação do personagem
» [PEDIDOS DE TUTORIAIS]
» Animação De Personagem
» Como gravar o nome de um personagem inserido pelo usuário no unity
» Animação no movimento do mouse
» [PEDIDOS DE TUTORIAIS]
» Animação De Personagem
» Como gravar o nome de um personagem inserido pelo usuário no unity
» Animação no movimento do mouse
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos