Unity中使用XR实现界面登录

这篇具有很好参考价值的文章主要介绍了Unity中使用XR实现界面登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

​编辑

步骤一:搭建UI

步骤二:点击显示小键盘

步骤三:点击数字输入值

步骤三:点击删除 / 清空

步骤四:点击注册

步骤五:点击登录


Unity中使用XR实现界面登录,xr,unity,交互,vr,游戏引擎

步骤一:搭建UI

UI -> Canvas,创建一个 Canvas,确保Canvas的Render Mode设置为"World Space"

调整Canvas的Position和Rotation,使其在场景中正确摆放。

  • 背景

    1. 在Canvas下创建一个Panel元素。

      • 在Hierarchy视图中右键选择 "UI" -> "Panel"。

    2. 在Inspector视图中,调整Panel的位置和大小,确保它充满整个Canvas或适应你需要的位置。

    3. 在Inspector视图中的Image组件中,找到"Color"属性。

    4. 设置颜色为你想要的纯色背景。

      • 你可以通过手动输入RGB值或使用Color Picker来选择颜色。

  • 标签

    1. 在Plane下创建一个 UI -> Legacy -> text,并命名为accoutnt_text,密码同理

      • 调整字体大小,位置,长宽

  • 输入框

    1. 在Plane下创建一个 UI -> Legacy -> input Field,并命名为accoutnt_input,密码同理

      • 调整大小,位置,长宽

      • 在子对象Placeholder删除Text的内容

  • 按钮

    1. 在Plane下创建一个 UI -> Legacy -> button,并命名为register_btn,登录同理

      • 在子对象Text (Legacy)的Text 修改为 注 册/登 录

  • 右侧键盘输入

    • 上面:一个Input Filed,点击账号账号输入框就显示账号,密码反之

    • 中间:分别是数字输入盘类似小键盘,由九个按钮组成,分别是123456789,一行3个按钮

    • 下面:一个Remove按钮居中,点击删除输入框内容

    Unity中使用XR实现界面登录,xr,unity,交互,vr,游戏引擎

步骤二:点击显示小键盘

📕添加 Tracked Device Graphic Raycaster 脚本 把 Canvas 上原来的 Graphic Raycaster 组件删掉,添加 Tracked Device Graphic Raycaster 脚本。添加了这个脚本后,UI 就能被射线响应,比如被射线选中高亮。

📕添加 XR UI Input Module 脚本 在 EventSystem 游戏物体上添加 XR UI Input Module 脚本,并且把原先的 Standalone Input Module 脚本移除。XR UI Input Module 配合 Event System 组件,可以让 Input Action 中的动作配置作用于 VR 中的 UI,也可以用于 PC 端的键鼠调试,总的来说就是结合了 Input System,用于管理 XR 中 UI 的相关输入。

⭐添加点击事件

  • 编写脚本,并挂载到accoutnt_input对象password_input对象

    Unity中使用XR实现界面登录,xr,unity,交互,vr,游戏引擎

  • 添加Event Trigger,点击Add New Event Type选择Pointer Click,设置如下

    Unity中使用XR实现界面登录,xr,unity,交互,vr,游戏引擎

步骤三:点击数字输入值

⭐添加点击事件

  • 编写脚本,并挂载到各个数字按钮对象

    Unity中使用XR实现界面登录,xr,unity,交互,vr,游戏引擎

  • 在Button事件中添加On Click事件,绑定对象要是各自自己的对象,比如1就绑定1,2就绑定2

    Unity中使用XR实现界面登录,xr,unity,交互,vr,游戏引擎

步骤三:点击删除 / 清空

⭐添加点击事件

  • 编写脚本,并挂载到remove_btn按钮对象

    Unity中使用XR实现界面登录,xr,unity,交互,vr,游戏引擎

  • 在Button事件中添加On Click事件,绑定我们脚本写的方法即可

步骤四:点击注册

⭐添加弹窗UI

在 Canvas 上创建一个 Panel 作为弹窗的背景。右键点击 Canvas,在 UI -> Panel 中选择 Panel。

在 Panel 上添加 Text 元素,用于显示注册成功的提示信息。调整 Text 的大小、颜色等属性。

确保弹窗的 Panel 是不可见的。在 Inspector 视图中将 Canvas 上的 Panel 设置为不激活(勾选 Inspector 视图右上角的小方框)。

⭐添加点击事件

  • 创建脚本,并挂载到register_btn按钮对象

# 声明变量
// 账号输入框
public InputField accoutInput;
// 密码输入框
public InputField passwordInput;
// 弹窗
public GameObject popup;
// 弹窗显示文字
public Text popupText;
​
// 用户列表
public List<User> UserList = new List<User>();
# 弹窗显示隐藏
/// <summary>
/// 显示弹窗
/// </summary>
/// <param name="text">弹窗文字</param>
public void ShowPopup(string text)
{
    passwordInput.text = text;
    popup.SetActive(true);
    Invoke("HidePopup", 2f);
}
​
/// <summary>
/// 隐藏弹窗
/// </summary>
public void HidePopup()
{
    popup.SetActive(false);
}
/// <summary>
/// 注册
/// </summary>
public void Register()
{
    var account = accoutInput.text;
    var password = passwordInput.text;
​
    // 判断用户是否已经注册
    foreach (var item in UserList)
    {
        if (item.userName == account)
        {
            ShowPopup("用户已存在!");
            return;
        }
    }
​
    var user = new User
    {
        userName = account,
        password = password,
    };
    UserList.Add(user);
    ShowPopup("注册成功!");
    accoutInput.text = "";
    passwordInput.text = "";
}
  • 在Button事件中添加On Click事件,绑定Register方法

    Unity中使用XR实现界面登录,xr,unity,交互,vr,游戏引擎

步骤五:点击登录

  • login_btn按钮对象上,Onclick事件加上绑定LoginFun方法

  • 确保在使用SceneManager.LoadScene时传入正确的场景名。你需要确保你的下一个场景在File -> Build Settings中被添加,并使用正确的场景名字。文章来源地址https://www.toymoban.com/news/detail-823663.html

/// <summary>
/// 登录方法
/// </summary>
public void LoginFun()
{
    var account = accoutInput.text;
    var password = passwordInput.text;
​
    // 判断用户是否存在
    foreach (var item in UserList)
    {
        if (item.userName == account && item.password == password)
        {
            ShowPopup("登录成功!");
            SceneManager.LoadScene("Hall");
            return;
        }
    }
    ShowPopup("用户名或密码错误!");
    return;
}

到了这里,关于Unity中使用XR实现界面登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VRIK+Unity XR Interaction Toolkit 配置 VR 全身模型(下):实现腿部行走动画

    此教程相关的详细教案,文档,思维导图和工程文件会放入 Spatial XR 社区 。这是一个高质量知识星球 XR 社区,博主目前在内担任 XR 开发的讲师。此外,该社区提供教程答疑、及时交流、进阶教程、外包、行业动态等服务。 社区链接: Spatial XR 高级社区(知识星球) Spatial

    2024年02月10日
    浏览(36)
  • Unity之OpenXR+XR Interaction Toolkit实现 VR控制第一人称角色模型动画

    我们在开发VR项目时,有时会有第一人称视角的需求,即我们自己带上VR头显,能够看到自己的身体,如果模拟一些人物触电死亡,使用工具动画之类的需求,那么VR控制第一人称视角就比较实用了。 我们今天就来介绍一下如何实现VR设备控制第一人称: 1.角色手部跟随手柄移

    2024年02月09日
    浏览(38)
  • Unity之如何接入google cardboard-xr-plugin实现android手机VR

    我们提到VR,总是会想到Oculus,HTC Vive,Pico等头戴VR设备,但是别忘了,最早Google就通过再手机端实现VR了,而且还推出过Cardboard手机盒子,让我们可以用最低的成本体验到VR效果。 先说明一下,Unity在1028版本之前,支持过GoogleVR,但是后来因为统一OpenXR标准之后,放弃了对G

    2024年02月07日
    浏览(39)
  • Unity之OpenXR+XR Interaction Toolkit实现 射线和物体交互事件回调

    前面我们介绍了如何抓取物体,今天我们来说一下如何和3D的物体进行交互,得到接触的事件回调。 交互的两种方式: 1.直接抓取或者射线抓取物体,得到接触回调 2.射线或者手部触摸物体后,得到接触回调 我们需要准备好Unity工程和环境配置 有了前文:Unity之OpenXR+XR Inter

    2024年02月13日
    浏览(68)
  • 【unity】【vr】新版Unity中找不到xr interaction toolkit

    unity中开发VR相关游戏和应用少不了一个很重要的Package:XR interaction toolkit。 但是新版unity中发现没了这个包,这篇介绍解决办法。 之前的unity版本中,默认状况下也是看不到XR interaction toolkit的。 需要在package设定中打开高级设定,允许用户看到pre-release版本,然后拉到列表底

    2024年02月11日
    浏览(60)
  • Unity VR:XR Interaction Toolkit 官方 Demo

    Unity XR Interaction Toolkit 提供了一个官方 Demo,包含了丰富的功能演示,可以供大家更好地学习 VR 开发。 项目地址:https://github.com/Unity-Technologies/XR-Interaction-Toolkit-Examples)(不要选择 CSDN 的 Github 加速打开) 项目里包括多个演示场景,而 XRI_Examples_Main 是多个演示功能的整合,包

    2024年02月06日
    浏览(43)
  • 【Unity】【VR开发疑难】Unity运行就报无法启动XR Plugin

    连接Link后运行Unity的VR项目Link也无反映,Unity控制台报:无法启动XR Plugin,并说是由于Oculus头盔未连接导致。 打开Oculus PC客户端,发现状态是连接正常。重启机器后,提示Oculus没有出于RunTime。 想到刚才升级过客户端,可能就是因为升级后某些设置归位了,导致连接不被Unit

    2024年02月06日
    浏览(41)
  • XR2 Pancake VR下的Unity Launcher优化

    表现优化 纹理优化 在游戏中,纹理是占用大量内存和显存的重要资源。为了优化性能,我们可以考虑以下措施: 压缩纹理:使用适当的纹理压缩格式,如ETC、ASTC或BC等,以减少纹理占用的内存和显存。 减小纹理尺寸:根据实际需求,将纹理的分辨率调整到合适的大小,避免

    2024年01月20日
    浏览(37)
  • Unity XR 设置VR设备手柄按键按下事件

    ①打开XRI Default Input Action 面板。 ②设置左手柄上的按键就点击Action Maps 列表下的 XRI LeftHand Interaction选项,设置右手柄上的按键就点击XRI RightHand Interaction。 ③以设置右手柄上的按键为例,我们将设置右手柄上的 A键、B键、摇杆按下键、摇杆上下左右推动事件、R2键(扳机键

    2024年01月19日
    浏览(45)
  • Unity开发元宇宙多人交互XR应用

    如何独立开发一款多人交互XR应用,实现类似VRChat、Horizon Worlds的功能,使用Unity+多种插件快速实现基础功能原型。 服务端: 使用C#开发控制台应用,网络通讯使用TCP、UDP,协议使用Googole.Protobuf,数据库使用MySQL。 客户端: Unity2020LTS开发,第一版先考虑支持Quest、HoloLens、H

    2024年02月04日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包