Điều khiển bằng cảm biến Gyro

Nền tảng:
Mobile
Tags:
Input
Movement
Rotation
Sensor

C# Code

using UnityEngine;

public class MobileGyroController : MonoBehaviour
{
    private bool gyroEnabled;
    private Gyroscope gyro;

    private GameObject cameraContainer;
    private Quaternion rot;

    void Start()
    {
        // Tạo một container để không ảnh hưởng trực tiếp đến camera chính
        cameraContainer = new GameObject("Camera Container");
        cameraContainer.transform.position = transform.position;
        transform.SetParent(cameraContainer.transform);

        gyroEnabled = SystemInfo.supportsGyroscope;

        if (gyroEnabled)
        {
            gyro = Input.gyro;
            gyro.enabled = true;

            cameraContainer.transform.rotation = Quaternion.Euler(90f, 90f, 0f);
            rot = new Quaternion(0, 0, 1, 0);
        }
        else
        {
            Debug.LogWarning("Thiết bị này không hỗ trợ Gyroscope.");
        }
    }

    void Update()
    {
        if (gyroEnabled)
        {
            transform.localRotation = gyro.attitude * rot;
        }
    }
}

Sử dụng cảm biến con quay hồi chuyển (gyroscope) của điện thoại để điều khiển sự xoay của một đối tượng. Hữu ích cho các game đua xe hoặc trải nghiệm VR/AR đơn giản.

Bình luận (0)

Bạn cần đăng nhập để có thể bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Bài viết liên quan

Làm cho một đối tượng 2D luôn xoay và hướng về vị trí của con trỏ chuột, hữu ích cho các game top-down.

2D
Movement
Rotation
Input
Player

Cho phép người chơi di chuyển nhân vật đến một vị trí trên mặt đất bằng cách chạm vào điểm đó trên màn hình. Sử dụng Raycast để xác định vị trí trong không gian 3D.

Mobile
3D
Movement
Player
Input

Tạo một joystick ảo có thể di chuyển bằng cách kéo thả trên màn hình cảm ứng. Yêu cầu 2 đối tượng Image UI cho background và handle của joystick.

Mobile
UI
Input
Player
Movement

Một script thống nhất để xử lý cả input từ chuột trên máy tính và chạm trên thiết bị di động để di chuyển một đối tượng.

Mobile
Input
Player
Movement

AI sẽ phát hiện người chơi trong một phạm vi nhất định và bắt đầu di chuyển về phía họ. Khi người chơi ra khỏi phạm vi, AI sẽ dừng lại.

AI
Movement
Gameplay
Player

Một script đơn giản cho AI để di chuyển tuần tự qua một danh sách các điểm (waypoints). Khi đến điểm cuối cùng, nó sẽ quay trở lại điểm đầu tiên.

AI
Movement
Gameplay

Cung cấp chức năng cho người chơi chụp lại khoảnh khắc trong game và lưu thành tệp PNG vào một thư mục được chỉ định.

Utility
Input
Mobile
Saving

Cho phép nhân vật thực hiện một cú lướt nhanh theo hướng di chuyển hiện tại. Có cooldown để tránh lạm dụng.

Player
Movement
Gameplay
Coroutine

Sử dụng Input System mới của Unity để di chuyển nhân vật 2D hoặc 3D một cách hiệu quả và linh hoạt.

2D
3D
Input
Gameplay
Player

Giúp nhân vật đứng vững trên các nền tảng di chuyển (moving platforms) bằng cách tạm thời đặt nhân vật làm con của nền tảng đó.

Movement
Player
Physics
Platformer