Вращающийся 2D мир в Unity - PullRequest
       10

Вращающийся 2D мир в Unity

0 голосов
/ 10 октября 2018

Я смотрю на разработку игры в Unity с использованием C #. Игра будет ориентироваться по гироскопу и поворачиваться в соответствии с направлением вращения телефона.

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

В настоящее время у меня нет кода, так как я нахожусь в процессе его разработки, однако я не могу понять логику, как заставить эту работу работать вмоя голова

Спасибо

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Вот как бы я поступил так: сначала я бы не вращал мир, так как это много объектов, которые нужно вращать, но если вы действительно хотите, вы можете связать весь мир с одним игровым объектом, а затемповерните этот объект вокруг оси, основанной на позиции игрока (см .: https://docs.unity3d.com/ScriptReference/Transform.RotateAround.html).

. Самый простой способ - прикрепить основную камеру к плееру (перетащите ее на свой объект Player в своей иерархии)., затем поверните плеер.

для примера, который вы можете проверить на своей машине без гироскопа:

using UnityEngine;

public class rotatorScript: MonoBehaviour {
    void Update() {
        // Will Rotate based off of left/right arrows
        float rotator = -Input.GetAxisRaw("Horizontal");
        // Move up or down based off of up/down Arrows
        float verticalDirection = Input.GetAxisRaw("Vertical");
        // Do the actual movement... using space.self so it is based on the player not the world.
        transform.Translate(Vector3.up * verticalDirection * Time.deltaTime * 5f, Space.self);
        transform.Rotate(0f,0f,90f * Time.deltaTime * rotator); 
    }
}

Этот скрипт будет прикреплен к плееру.

0 голосов
/ 10 октября 2018

Если я правильно понял вашу цель, я думаю, что поворота камеры, как в игре Fist-Person, будет достаточно, и это будет намного проще, чем вращение всего мира при сохранении статичности игрока.

...