Ответы пользователя по тегу Unity
  • Почему игрок не может повернуться к курсору в 3d top-down игре?

    @ikeky Автор вопроса
    Мне нашли решение в зарубежном сайте stackoverflow, где прекрасно описали ошибку, подробнее об этой проблеме можете найти здесь
    Вот решение:
    Debug.Log(Input.mousePosition);
            RaycastHit hit;
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            if (Physics.Raycast(ray, out hit)){
                Vector3 pointToLook = hit.point;
                Vector3 projection = Vector3.ProjectOnPlane(transform.position - pointToLook, Vector3.up);
                transform.forward = projection;
            }
    Ответ написан
  • Как сделать круговое движение в unity?

    @ikeky Автор вопроса
    Неожиданно-негаданно я нашёл выход из данной ситуации. Я пошёл по совершенно другому подходу: использовал рейкасты и использовал transform.lookat
    Ray cameraRay = Camera.main.ScreenPointToRay(Input.mousePosition);
                Plane groundPlane = new Plane(Vector3.up, Vector3.zero);
                float rayLength;
                if(groundPlane.Raycast(cameraRay, out rayLength)){
                    Vector3 pointToLook = cameraRay.GetPoint(rayLength);
                    transform.LookAt(new Vector3(pointToLook.x,transform.position.y, pointToLook.z));
                    if(Input.GetMouseButtonUp (0)){
                        transform.position = Coll.position;
                        EndFishkaEvent();
                    }
                }

    я закрою эту тему, возможно вам когда либо она пригодится.
    Ответ написан
    Комментировать