Перемещение игрока (объекта) мышкой не касаясь его

Общие вопросы о Unity3D

Перемещение игрока (объекта) мышкой не касаясь его

Сообщение Grisha06 11 апр 2022, 21:42

Привет, пытаюсь сделать управление на подобии World Hardest Game и No Humanity (на Android). Как это реализуется? Написал такой скрипт, объект пытается перемещаться, но его дергает.

Суть в том, чтобы перемещать игрока пальцем, при этом не касаясь его самого. И он не должен телепортироваться к точке касания. Если не совсем понятно, попробуйте скачать игры, приведенные сверху.

Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{

    public Transform player;
    public float speed = 5000f;

    private bool touchStart = false;
    private Vector2 offset;
    private Vector2 point;
    private Vector2 pos;


    private void Awake()
    {
        player = transform;
    }

    private void FixedUpdate()
    {
       
        if(Input.GetMouseButton(0))
        {
            touchStart = true;
           
            pos = player.position;
            point = Camera.main.ScreenToWorldPoint( new Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.transform.position.z) );
            offset = point - pos;
        }
        else
        {
            touchStart = false;
        }

        if (touchStart)
        {

            transform.position = point + offset;

        }
    }

}
Grisha06
UNец
 
Сообщения: 1
Зарегистрирован: 11 апр 2022, 21:35

Re: Перемещение игрока (объекта) мышкой не касаясь его

Сообщение RikiTikiTak 02 май 2022, 17:23

Попробуйте через функцию Лепр или трансформ транслейт. Еще есть вектор лепр.
https://docs.unity3d.com/ScriptReferenc ... .Lerp.html
Или мов товардс.
https://docs.unity3d.com/ScriptReferenc ... wards.html
В библиотеке поиска пути есть готовый похожий скрипт
https://arongranberg.com/astar/
Первый пример
RikiTikiTak
UNец
 
Сообщения: 35
Зарегистрирован: 02 сен 2021, 21:08


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


cron