Solucionado (ver solução)
Solucionado
(ver solução)
21
respostas

Erro grande: Jogador fica no ar.

Estou com um problema grande ao escrever o código irei demonstrar o erro em vídeo a seguir: https://streamable.com/8offhi

21 respostas

Oi, Teodoro, tudo bem?

Zera a posição em Y do seu Jogador pra ver se o problema se resolve.

Mas pelo problema parece que algum dos objetos dentro do prefab está com a posição errada, se quiser você pode baixar o prefab da aula de novo e substituir com o seu.

Como posso substituir?

Você pode pegar os arquivos do inicio do curso ou ao final de cada módulo tem o link para download e jogar no seu projeto refazendo a configuração de scripts, e outras coisas depois

https://prnt.sc/26m1931 Está dando esse erro, sabe o que é?

Deve ter faltado alguma chave ou algo nesse script, quer colocar ele aqui?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ControlarOJogador : MonoBehaviour
{


    public float Velocidade = 10;
    Vector3 direcao;
    public LayerMask MascaraChao;
    // Update is called once per frame
    void Update()
    {
        float eixoX = Input.GetAxis("Horizontal");
        float eixoZ = Input.GetAxis("Vertical");

        direcao = new Vector3(eixoX, 0, eixoZ);




        if (direcao != Vector3.zero)
        {
            GetComponent<Animator>().SetBool("Movendo", true);
        }
        else
        {
            GetComponent<Animator>().SetBool("Movendo", false);
        }
    }

    private void FixedUpdate()
    {
        GetComponent<Rigidbody>().MovePosition
            (GetComponent<Rigidbody>().position +
            (direcao * Velocidade * Time.deltaTime));

        Ray raio = Camera.main.ScreenPointToRay(Input.mousePosition);
        Debug.DrawRay(raio.origin, raio.direction * 100, Color.red);

        RaycastHit impacto;

        if (Physics.Raycast(raio, out impacto, 100, MascaraChao))
        {
            Vector3 posicaoMiraJogador = impacto.point - transform.position;

            posicaoMiraJogador = transform.position;

            Quaternion novaRotacao = Quaternion.LookRotation(posicaoMiraJogador);

            GetComponent<Rigidbody>().MoveRotation(novaRotacao);
        }
    }
    }
}

É este

Parece ter uma chave a mais depois do FixedUpdate, pode conferir?

https://prnt.sc/26mioo7 ´dá esses erros.

Cola todos os erros aqui, aí a gente consegue conferir cada um

Mas seu script não tava funcionando antes, o que mudou do vídeo pra cá? você criou um script novo?

Assets\ControlarOJogador.cs(52,36): error CS1519: Invalid token '(' in class, struct, or interface member declaration Assets\ControlarOJogador.cs(52,37): error CS8124: Tuple must contain at least two elements. Assets\ControlarOJogador.cs(52,38): error CS1519: Invalid token '.' in class, struct, or interface member declaration Assets\ControlarOJogador.cs(52,63): error CS1001: Identifier expected Assets\ControlarOJogador.cs(54,5): error CS1022: Type or namespace definition, or end-of-file expected Assets\ControlarOJogador.cs(55,5): error CS1022: Type or namespace definition, or end-of-file expected Assets\ControlarOJogador.cs(56,1): error CS1022: Type or namespace definition, or end-of-file expected

Quando eu tiro o { do FixedUpdate.

Assets\ControlarOJogador.cs(56,1): error CS1022: Type or namespace definition, or end-of-file expected

Quando tá com o {

não é o { é a chave de } depois do FixedUpdate tem duas de }

tem que tirar 1 desse: }

isso aí!

Assets\Prefabs\Scripts\ControlarOJogador.cs(31,18): error CS0111: Type 'ControlarOJogador' already defines a member called 'FixedUpdate' with the same parameter types Assets\Prefabs\Scripts\ControlarOJogador.cs(11,10): error CS0111: Type 'ControlarOJogador' already defines a member called 'Update' with the same parameter types Assets\Prefabs\Scripts\ControlarOJogador.cs(5,14): error CS0101: The namespace '' already contains a definition for 'ControlarOJogador'

deu esses erros

É porque tem dois scripts iguais, acho que você duplicou esse script.

Tem um em assets e outros na pasta prefab

https://streamable.com/qpcn8q Este erro dos } concertado! Mas agora o zumbi não rotaciona (vi pelo vídeo).

Acho que deve ter faltado configurar no script a MascaraChao e a tag Jogador no objeto. Dá uma conferida nesses.

https://prnt.sc/26mlsda Agora dá esse erro.

solução!

Tem dois scripts no seu componente que não existem, você deve ter pego o da aula que estava mais avançado certo?

Então tem que apagar os meus componentes porque seus scripts tem nomes diferentes.

Tudo resolvido, obrigado por toda ajuda!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software