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

Erro de Compilação : error CS0117

error CS0117: 'Camera' does not contain a definition for 'main'

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

Oi, Lucas, tudo bem?

Pode colocar o script todo? Também pode conferir se a sua Camera na scene tem a tag MainCamera, essa opção fica abaixo do nome do Inspector e é só selecionar.

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

public class andar : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {

    }

    public float vel = 6 ;
    // Update is called once per frame


    Vector3 direcao;

    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("movimento", true);
        }
        else
        {
            GetComponent<Animator>().SetBool("movimento", false);
        } 


    }

    //movimentação do personagem
    void FixedUpdate() 
    {
        GetComponent<Rigidbody>().MovePosition
            (GetComponent<Rigidbody>().position +
            (direcao * vel * Time.deltaTime));

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

}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O script parece certinho, o problema deve estar em outro lugar.

Você consegue fazer um .zip da pasta do projeto toda e colocar num Google Drive, Dropbox, ou qualquer coisa que consiga deixar o link publico e colocar aqui?

Oi, Lucas, tudo bem?

Pode clicar com o botão direito no arquivo e mudar a permissão de acesso para que qualquer pessoa possa acessar?

Já mudei a permissão.

solução!

Oi, Lucas, tudo bem?

Dei uma olhada no seu projeto e o problema é que tem um script chamado Camera então na hora da Unity procurar ela procura no seu e não no dela. Tem dois jeitos de corrigir:

  • Ou você renomeia seu script para algo como ControlaCamera.cs e a classe para ControlaCamera
  • Ou na hora de usar a classe Camera você faz UnityEngine.Camera......resto do código aqui toda vez que quiser se referir a camera da Unity

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