[方法] 《鸣潮》/《原神》呼出与锁定光标的功能细节

本方法适用于Cinemachine - FreeLook。

1. 锁定与呼出光标的功能实现

// 锁定光标
private void LockMouse() {
    // 将光标锁定在屏幕中间
    Cursor.lockState = CursorLockMode.Locked;
    // 隐藏光标
    Cursor.visible = false;
}


// 呼出光标
private void UnLockMouse() {
    // 释放光标
    Cursor.lockState = CursorLockMode.Confined;
    // 显示光标
    Cursor.visible = true;
}

2. Alt键对光标控制

2.1 基本逻辑

private void MouseControl() {
    if (Input.GetKeyDown(KeyCode.LeftAlt)) {
        // 在游戏中仅使用光标
        UseMouseCursorOnly();
    } else if (Input.GetKeyUp(KeyCode.LeftAlt)) {
        // 在游戏中关闭光标
        CloseMouseCursor();
    }
}

2.2 《鸣潮》/《原神》中的细节

public void UseMouseCursorOnly() {
    UnLockMouse(); // 释放光标
    inputControl.Disable(); // 关闭键盘输入 (鸣潮是这样,但原神不是)

    // 停止利用鼠标转动镜头 
    FreeLook_Camera.m_XAxis.m_InputAxisName = "";
    FreeLook_Camera.m_YAxis.m_InputAxisName = "";
    FreeLook_Camera.m_XAxis.m_InputAxisValue = 0;
    FreeLook_Camera.m_YAxis.m_InputAxisValue = 0;
}

public void CloseMouseCursor() {
    LockMouse(); // 锁定光标
    inputControl.Enable(); // 启动键盘输入

    // 重新启动鼠标对镜头的控制
    FreeLook_Camera.m_XAxis.m_InputAxisName = "Mouse X";
    FreeLook_Camera.m_YAxis.m_InputAxisName = "Mouse Y";
}

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 01:04:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 01:04:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 01:04:01       87 阅读
  4. Python语言-面向对象

    2024-06-10 01:04:01       96 阅读

热门阅读

  1. 初学者使用sql时易犯的错误(持续更新)

    2024-06-10 01:04:01       32 阅读
  2. uni-app 倒计时组件

    2024-06-10 01:04:01       29 阅读
  3. 前端面试题日常练-day60 【面试题】

    2024-06-10 01:04:01       31 阅读
  4. 【杂记-浅谈VLAN技术】

    2024-06-10 01:04:01       25 阅读
  5. Web前端 CodeView:深度解析与实用指南

    2024-06-10 01:04:01       31 阅读
  6. 7_1 Linux 文件管理

    2024-06-10 01:04:01       29 阅读
  7. Spring

    2024-06-10 01:04:01       32 阅读
  8. MATLAB cell数组 (tuple)

    2024-06-10 01:04:01       28 阅读
  9. C 语言实例 - 字符串翻转

    2024-06-10 01:04:01       30 阅读
  10. 46-3 护网溯源 - 溯源报告编写

    2024-06-10 01:04:01       26 阅读
  11. Spring常用拓展点(随记)

    2024-06-10 01:04:01       22 阅读
  12. js的锚点

    2024-06-10 01:04:01       32 阅读