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:
como fazer o braço do personagem seguir a camera
LineRenderer
IEnumerator não funciona
Distancia com o CineMachine
Como eu faço para ativar essa animação
Como faço pra executar a ação apenas 1 vez ?
Online Shooting Android
Equipe de iniciantes em unity
[RESOLVIDO] Restaurar GameObject
Como acessar as funções de pós processamento por script?
Alguém sabe mexer com Shader Graph?
[DUVIDA]Level editor
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
Preciso de ajuda com o baked de um SpotLight
Iluminação (estou com um problema)
Fear in The Modern House - CH2 [Steam]
BomberChan jogo feito em 4 dias
Imagem Gira Junto com a Câmera
Collider invadindo outro!! Player atravessando parede.
Como acessar uma variável de outro script sem saber o objeto?
O Android App Bundle não foi assinado, por favor como resolvo isso ?
Rotacionar em eixo Y, alguém ajuda ?
MEU JOGO NA PLAY STORE!
GetComponent referncia não encontrada
Particula de fogo grátis para download
Problemas com dropdown
Sistema de dano
Onde posso colocar minhas criações no fórum?
Sistema de morte na Unity usando o Photon
JSON Unity
Implementação do arquivo mysql.data.dll na Unity
Criação de um player com atributos para um game online
Com Fazer um Radio na Unity
Executar Animação enquanto pressionar shift
Erros ao enviar apk no Play Console
error CS0619: 'HostData' is obsolete: 'The legacy networking system has bee
[RESOLVIDO] Áudio termina e imagem aparece
Cargo na empresa
Qual é a melhor extensão do vs code para unity?
[RESOLVIDO] Áudio Termina e depois o Objeto da Cena Habilita
Projeto de Parkour
[RESOLVIDO] Entrar no If pelo nome da Scene
Reduzir partículas gradualmente
[TUTORIAL] Criar Analógico Virtual UI Para Mobile.
Imagem não Fica Aonde no local certo
Trocar Personagem/Skin
FlyBird - Um simples clone do Flappy Bird
Inimigo 2d
BLUE BIRD STUDIOS!! EQUIPE DE DESENVOLVIMENTOS DE GAMES
[MOBILE] Block Target
Sistema completo de FPS, (by u/KFriske)
Pode anunciar o fórum em outros sites/fóruns?
Como mover algum objeto apenas ao colidir com outro?
É normal não aparecer o Package Manager?
Rapper Simulator (demo) mobile
como fazer um public gameObject ser preenchido pelo objeto com tag X.
Dúvida sobre classes
Animação em um If
Duvida sobre criar respawn.
[TUTORIAL] Sistema de Inventário com scroll
[Duvida] Relacionada a rotação de um objeto.
Ethan prefab
como fazer sistema de partículas apagar outro sistema de partículas
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Bug no pulo do personagem
[ERRO] Did you spawn new GameObjects from OnDestroy?
[TUTORIAL] SISTEMA SIMPLES DE CADASTRO DE CLIENTES - C#, VISUAL STUDIO
Minha camera esta girando de maneira brusca
[TUTORIAL] Tirar Print da Tela do Jogo
Sistema de munição para um sistema de particulas
[RESOLVIDO] De me uma luz
Adicionar função ao um botão atraves de um script
gostaria de sabe como posso utiliza o particle
Como resolver o problema de eixo da arma ao executar uma animação?
sistema de carro e viagens na unity
Procuro equipe para criar um Minecraft para treinar!
Proposta de Parceria em Belo Horizonte
[Formação de equipe] Formação de equipe para o ramo de criação de jogos.
muda estado de objeto filho sem interferie nos outros
ERRO: O nome de tipo ou namespace "UI" não existe no namespace "UnityEngine"
Sprite corrompido quando atribuo o material texture transparente
Como faço uma imagem com tamanho variado sem perde qualidade
Inimigo atravessando paredes
Dúvida, como transferir dados para outra cena (Iniciante)
Quando coloco RigLayer no meu personagem, ele começa a flutuar
Para MarcosSchultz
INIMIGO INSTANCIAR PREFABS AUTOMATICAMENTE
Error CS0246, não sei o que fazer
Como fazer o personagem correr ao apertar botão
Não sei o que está errado.
Animação das armas
Recarregar quando esta perto do objeto
[TUTORIAL] Salvar dados com playerprefs facilmente.
Player flutuando na hora de utilizar riglayer
Aconselhamento: não tente escrever em inglês
Gostaria de compartilhar alguns PRINTS do meu FUTURO GAME!!!
Teste de Desempenho na tela de Splash
Time.timeScale
Animação não reproduz e só fica parado em uma animação
Hoje à(s) 13:56
Hoje à(s) 2:43
Ontem à(s) 23:22
Ontem à(s) 21:27
Ontem à(s) 19:54
Ontem à(s) 19:34
Ontem à(s) 5:48
Ontem à(s) 2:33
Ter 24 Nov 2020 - 23:12
Ter 24 Nov 2020 - 22:22
Ter 24 Nov 2020 - 13:44
Ter 24 Nov 2020 - 12:47
Ter 24 Nov 2020 - 4:05
Ter 24 Nov 2020 - 3:53
Seg 23 Nov 2020 - 22:54
Seg 23 Nov 2020 - 21:25
Seg 23 Nov 2020 - 18:33
Seg 23 Nov 2020 - 18:32
Seg 23 Nov 2020 - 16:42
Seg 23 Nov 2020 - 9:40
Seg 23 Nov 2020 - 1:59
Dom 22 Nov 2020 - 21:25
Dom 22 Nov 2020 - 21:24
Dom 22 Nov 2020 - 0:43
Sab 21 Nov 2020 - 19:21
Sab 21 Nov 2020 - 17:30
Sab 21 Nov 2020 - 15:52
Sab 21 Nov 2020 - 13:28
Sab 21 Nov 2020 - 12:44
Sex 20 Nov 2020 - 20:51
Sex 20 Nov 2020 - 20:14
Sex 20 Nov 2020 - 20:09
Sex 20 Nov 2020 - 18:52
Sex 20 Nov 2020 - 18:33
Sex 20 Nov 2020 - 3:29
Qui 19 Nov 2020 - 22:16
Qui 19 Nov 2020 - 16:20
Qui 19 Nov 2020 - 11:32
Qui 19 Nov 2020 - 3:21
Qui 19 Nov 2020 - 1:18
Qui 19 Nov 2020 - 0:42
Qua 18 Nov 2020 - 18:54
Qua 18 Nov 2020 - 3:50
Qua 18 Nov 2020 - 3:47
Qua 18 Nov 2020 - 0:23
Ter 17 Nov 2020 - 22:01
Ter 17 Nov 2020 - 22:01
Ter 17 Nov 2020 - 20:15
Ter 17 Nov 2020 - 20:14
Ter 17 Nov 2020 - 11:28
Ter 17 Nov 2020 - 3:09
Ter 17 Nov 2020 - 3:05
Ter 17 Nov 2020 - 3:01
Ter 17 Nov 2020 - 3:00
Ter 17 Nov 2020 - 1:30
Ter 17 Nov 2020 - 0:25
Seg 16 Nov 2020 - 22:40
Seg 16 Nov 2020 - 22:28
Seg 16 Nov 2020 - 17:46
Seg 16 Nov 2020 - 16:37
Seg 16 Nov 2020 - 15:38
Seg 16 Nov 2020 - 14:31
Dom 15 Nov 2020 - 22:15
Dom 15 Nov 2020 - 15:19
Dom 15 Nov 2020 - 1:09
Sab 14 Nov 2020 - 23:36
Sab 14 Nov 2020 - 22:51
Sab 14 Nov 2020 - 21:47
Sab 14 Nov 2020 - 21:36
Sab 14 Nov 2020 - 21:34
Sab 14 Nov 2020 - 21:33
Sab 14 Nov 2020 - 21:31
Sab 14 Nov 2020 - 21:26
Sab 14 Nov 2020 - 21:23
Sab 14 Nov 2020 - 19:48
Sab 14 Nov 2020 - 16:50
Sab 14 Nov 2020 - 16:43
Sab 14 Nov 2020 - 16:37
Sab 14 Nov 2020 - 16:21
Sab 14 Nov 2020 - 14:14
Sab 14 Nov 2020 - 1:15
Sab 14 Nov 2020 - 1:13
Sex 13 Nov 2020 - 19:02
Sex 13 Nov 2020 - 18:01
Sex 13 Nov 2020 - 14:18
Sex 13 Nov 2020 - 5:14
Sex 13 Nov 2020 - 5:12
Sex 13 Nov 2020 - 2:38
Sex 13 Nov 2020 - 2:04
Sex 13 Nov 2020 - 1:58
Qui 12 Nov 2020 - 23:57
Qui 12 Nov 2020 - 21:49
Qui 12 Nov 2020 - 21:48
Qui 12 Nov 2020 - 16:30
Qui 12 Nov 2020 - 15:57
Qui 12 Nov 2020 - 2:10
Qui 12 Nov 2020 - 0:14
Qua 11 Nov 2020 - 19:46
Qua 11 Nov 2020 - 13:29
Pokedlg
marino96
Micco
Luizdanhp
NotoriousDev
NotoriousDev
Daniel Dória
VitexX17
Agoraaae3432
Magnatah
Pokedlg
diegopds
Brunobarradas
JulioWinchester
Pokedlg
BlesseD
samoliver1813
Pokedlg
70correr
Portela
Portela
GattiMene
JackDarm
MatheusEleodoro
Pokedlg
GattiMene
lobodomato
glauco
Atho
NKKF
joão hoffman
joão hoffman
JulioWinchester
Pokedlg
Daniel Dória
ProBrStalker
AdrianoEstúdio
thales.ulisses
Pokedlg
AdrianoEstúdio
mericu
Ricardito
Pokedlg
dunha
Pokedlg
artplayer
Micco
cafezinho71
cafezinho71
cafezinho71
cafezinho71
cafezinho71
cafezinho71
cafezinho71
Callyde Jr
Portela
MayLeone
Nalfam
loucoporjogo
MayLeone
MarcosSchultz
Fagner
Pokedlg
Hastur
Micco
Micco
tomiomatsushita
Magnatah
Micco
Magnatah
victormvw5
Magnatah
Magnatah
Magnatah
SauloeArthur
Minimuster
Minimuster
Minimuster
Pokedlg
loucoporjogo
brizaloka
brizaloka
Pokedlg
cafezinho71
italo rikelme
MarcosSchultz
MarcosSchultz
Pokedlg
BlesseD
Pokedlg
Pokedlg
Pokedlg
Zm2317
Pokedlg
thales.ulisses
cafezinho71
MatheusEleodoro
Ricardito
italo rikelme

Fazer o personagem apontar na direção do movimento

Ir em baixo

DÚVIDA Fazer o personagem apontar na direção do movimento

Mensagem por GattiMene em Ter 8 Set 2020 - 0:31

Bom... basicamente eu queria fazer meu personagem apontar pra direção que ele se move, por exemplo, se ele estiver se movendo pra direita, ele rotaciona pra direita, se ele se mover pra esquerda, ele rotaciona pra esquerda, como é na maioria dos jogos 3d, tipo mario galaxy... porém não é tão simples, porque meu personagem se move em um planeta com um sistema de gravidade esférica e usa rigidbody... esse é o script de movimento

Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{

    public GameObject Planet;
    public GameObject PlayerPlaceholder;


    public float speed = 4;
    public float JumpHeight = 1.2f;

    float gravity = 100;
    bool OnGround = false;


    float distanceToGround;
    Vector3 Groundnormal;

    public Animator Animations;
    public float AnimationActivation;

    private Rigidbody rb;

    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
        rb.freezeRotation = true;
    }

    // Update is called once per frame
    void Update()
    {

        //MOVEMENT

        float x = Input.GetAxis("Horizontal") * Time.deltaTime * speed;
        float z = Input.GetAxis("Vertical") * Time.deltaTime * speed;

        AnimationActivation = Mathf.Abs(x) + Mathf.Abs(z);

        transform.Translate(x, 0, z);

        //Local Rotation

        if (Input.GetKey(KeyCode.E))
        {

            transform.Rotate(0, 150 * Time.deltaTime, 0);
        }
        if (Input.GetKey(KeyCode.Q))
        {

            transform.Rotate(0, -150 * Time.deltaTime, 0);
        }

        //Jump

        if (Input.GetKeyDown(KeyCode.Space))
        {
            rb.AddForce(transform.up * 40000 * JumpHeight * Time.deltaTime);

        }



        //GroundControl

        RaycastHit hit = new RaycastHit();
        if (Physics.Raycast(transform.position, -transform.up, out hit, 10))
        {

            distanceToGround = hit.distance;
            Groundnormal = hit.normal;

            if (distanceToGround <= 0.2f)
            {
                OnGround = true;
            }
            else
            {
                OnGround = false;
            }


        }


        //GRAVITY and ROTATION

        Vector3 gravDirection = (transform.position - Planet.transform.position).normalized;

        if (OnGround == false)
        {
            rb.AddForce(gravDirection * -gravity);

        }

        //

        Quaternion toRotation = Quaternion.FromToRotation(transform.up, Groundnormal) * transform.rotation;
        transform.rotation = toRotation;

        if (AnimationActivation != 0)
        {

            Animations.SetInteger("AnimationState", 1);

        }
        else if (AnimationActivation == 0)
        {

            Animations.SetInteger("AnimationState", 0);

        }

    }


    //CHANGE PLANET

    private void OnTriggerEnter(Collider collision)
    {
        if (collision.transform != Planet.transform)
        {

            Planet = collision.transform.gameObject;

            Vector3 gravDirection = (transform.position - Planet.transform.position).normalized;

            Quaternion toRotation = Quaternion.FromToRotation(transform.up, gravDirection) * transform.rotation;
            transform.rotation = toRotation;

            rb.velocity = Vector3.zero;
            rb.AddForce(gravDirection * gravity);


            PlayerPlaceholder.GetComponent<TutorialPlayerPlaceholder>().NewPlanet(Planet);

        }
    }


}
Precisava muito disso, quem puder ajudar agradeço...

GattiMene
Membro
Membro

PONTOS : 881
REPUTAÇÃO : 2
Respeito as regras : Fazer o personagem apontar na direção do movimento WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Fazer o personagem apontar na direção do movimento

Mensagem por zuziv em Ter 8 Set 2020 - 14:12

@GattiMene escreveu:Bom... basicamente eu queria fazer meu personagem apontar pra direção que ele se move, por exemplo, se ele estiver se movendo pra direita, ele rotaciona pra direita, se ele se mover pra esquerda, ele rotaciona pra esquerda, como é na maioria dos jogos 3d, tipo mario galaxy... porém não é tão simples, porque meu personagem se move em um planeta com um sistema de gravidade esférica e usa rigidbody... esse é o script de movimento

Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{

    public GameObject Planet;
    public GameObject PlayerPlaceholder;


    public float speed = 4;
    public float JumpHeight = 1.2f;

    float gravity = 100;
    bool OnGround = false;


    float distanceToGround;
    Vector3 Groundnormal;

    public Animator Animations;
    public float AnimationActivation;

    private Rigidbody rb;

    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
        rb.freezeRotation = true;
    }

    // Update is called once per frame
    void Update()
    {

        //MOVEMENT

        float x = Input.GetAxis("Horizontal") * Time.deltaTime * speed;
        float z = Input.GetAxis("Vertical") * Time.deltaTime * speed;

        AnimationActivation = Mathf.Abs(x) + Mathf.Abs(z);

        transform.Translate(x, 0, z);

        //Local Rotation

        if (Input.GetKey(KeyCode.E))
        {

            transform.Rotate(0, 150 * Time.deltaTime, 0);
        }
        if (Input.GetKey(KeyCode.Q))
        {

            transform.Rotate(0, -150 * Time.deltaTime, 0);
        }

        //Jump

        if (Input.GetKeyDown(KeyCode.Space))
        {
            rb.AddForce(transform.up * 40000 * JumpHeight * Time.deltaTime);

        }



        //GroundControl

        RaycastHit hit = new RaycastHit();
        if (Physics.Raycast(transform.position, -transform.up, out hit, 10))
        {

            distanceToGround = hit.distance;
            Groundnormal = hit.normal;

            if (distanceToGround <= 0.2f)
            {
                OnGround = true;
            }
            else
            {
                OnGround = false;
            }


        }


        //GRAVITY and ROTATION

        Vector3 gravDirection = (transform.position - Planet.transform.position).normalized;

        if (OnGround == false)
        {
            rb.AddForce(gravDirection * -gravity);

        }

        //

        Quaternion toRotation = Quaternion.FromToRotation(transform.up, Groundnormal) * transform.rotation;
        transform.rotation = toRotation;

        if (AnimationActivation != 0)
        {

            Animations.SetInteger("AnimationState", 1);

        }
        else if (AnimationActivation == 0)
        {

            Animations.SetInteger("AnimationState", 0);

        }

    }


    //CHANGE PLANET

    private void OnTriggerEnter(Collider collision)
    {
        if (collision.transform != Planet.transform)
        {

            Planet = collision.transform.gameObject;

            Vector3 gravDirection = (transform.position - Planet.transform.position).normalized;

            Quaternion toRotation = Quaternion.FromToRotation(transform.up, gravDirection) * transform.rotation;
            transform.rotation = toRotation;

            rb.velocity = Vector3.zero;
            rb.AddForce(gravDirection * gravity);


            PlayerPlaceholder.GetComponent<TutorialPlayerPlaceholder>().NewPlanet(Planet);

        }
    }


}
Precisava muito disso, quem puder ajudar agradeço...


Vê se isso consegue te ajudar: 

 
zuziv
zuziv
Iniciante
Iniciante

Masculino PONTOS : 1491
REPUTAÇÃO : 4
Idade : 15
Áreas de atuação : C#, Python, Mysql, PHP, HTML, CSS, Linux, Segurança da informação.
Respeito as regras : Fazer o personagem apontar na direção do movimento WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Fazer o personagem apontar na direção do movimento

Mensagem por GattiMene em Ter 8 Set 2020 - 18:41

Mais ou menos... porque nesse script não tem nada que faça o player rotacionar pra direção do movimento...

GattiMene
Membro
Membro

PONTOS : 881
REPUTAÇÃO : 2
Respeito as regras : Fazer o personagem apontar na direção do movimento WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Fazer o personagem apontar na direção do movimento

Mensagem por MarcosSchultz em Qui 10 Set 2020 - 5:19

Taaalvez, mas apenas tallvez, esse tutorial ajude:



Mas montando rápidamente a lógica aqui na minha mente, talvez tenha que usar Vector3.Dot pra algumas coisas ai no meio.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 63229
REPUTAÇÃO : 2513
Idade : 24
Áreas de atuação : Administrador do fórum
Respeito as regras : Fazer o personagem apontar na direção do movimento Aad8pUi

https://www.schultzgames.com

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