当前位置: 首页 > news >正文

如何快速给 Unity WebGL 加上原生输入框:WebGLInput 完整上手指南

如何快速给 Unity WebGL 加上原生输入框:WebGLInput 完整上手指南

【免费下载链接】WebGLInputIME for Unity WebGL项目地址: https://gitcode.com/gh_mirrors/we/WebGLInput

把 Unity 游戏发布到 WebGL 后,登录页的 InputField 能看见、敲不进:中文打不出来,复制粘贴失效,手机上软键盘也不弹。WebGLInput 就是为此做的输入法桥接——装上去,输入框直接复用浏览器原生键盘,中文 IME、复制粘贴、Tab 切换、移动端全部可用。

项目速览

  • 名称:WebGLInput(GitHub 开源项目 kou-yeung/WebGLInput)
  • 定位:IME for Unity WebGL,给 InputField / TMP_InputField 挂上浏览器原生输入能力
  • 语言:C# + JavaScript(jslib)
  • 附带能力:复制粘贴、Tab/Shift+Tab 切换焦点、移动端(实验性)、UI Toolkit(Unity 2022+,实验性)

📦 1 分钟导入 WebGLSupport

做完这节,你的 Unity 工程里会多出 WebGLInput 组件,可直接拖到 GameObject 上。

  1. 从项目 Releases 下载 WebGLSupport.unitypackage;或执行git clone https://gitcode.com/gh_mirrors/we/WebGLInput,把 Assets/WebGLSupport 拷进工程。
  2. 菜单 Assets → Import Package → Custom Package。
  3. 选中 unitypackage,点击 Import。
  4. 完成,Assets 下出现 WebGLSupport 文件夹。

🎯 3 步让输入框接上键盘

做完这节,WebGL 发布页里点输入框会调出浏览器原生键盘,内容实时同步回 InputField。

  1. 选中挂了 InputField(或 TMP_InputField)的 GameObject。
  2. Add Component,搜 WebGLInput,添加。
  3. 构建 WebGL 版本,浏览器打开发布页点击输入框。

零配置:组件自动识别输入框类型,placeholder、字符上限、密码模式都会同步。想要画布上可见的原生输入框并支持拖拽选中文本,勾选 WebGLInput 的 showHtmlElement 即可。

⌨️ 让 Tab 键改插制表符

默认 Tab / Shift+Tab 在输入框之间切换焦点。需要按 Tab 输入 \t 时:

  1. Project Settings → Player 的 Scripting Define Symbols 加WEBGLINPUT_TAB
  2. WebGLInput 组件勾选 Enable Tab Text。
  3. 重新构建验证。

📱 移动端软键盘与 UI Toolkit 接入

做完这节,手机点输入框能弹软键盘,UI Toolkit 的 TextField 也能打字。

  • 移动端:发布构建即可。移动端下 WebGLInput 会自动挂载 WebGLInputMobile 处理触摸聚焦;移动端输入被禁用的输入框,组件会自我关闭。功能为实验性质,真机务必自测。
  • UI Toolkit(Unity 2022+):给每个 TextField 挂上 manipulator:
uiDocument.rootVisualElement.Query<TextField>() .ForEach(v => v.AddManipulator(new WebGLInputManipulator()));

⚠️ 避坑清单

编辑器里打字没反应

  • 现象:Play 模式点输入框无反应
  • 原因:组件仅在 WebGL 构建目标启用
  • 处理:构建 WebGL 后到浏览器验证

报 "Can not Setup WebGLInput!!"

  • 现象:启动即抛异常
  • 原因:WebGLInput 所在 GameObject 没有输入组件
  • 处理:与 InputField/TMP_InputField 挂在同一对象上

Tab 键只会切焦点

  • 现象:想输制表符却跳走了
  • 原因:宏开关未启用
  • 处理:加 WEBGLINPUT_TAB 并勾选 Enable Tab Text

收尾

适用场景:Unity 2018.2+、面向 WebGL 发布、需要文本输入的游戏(登录、聊天、改名)。不适用场景:原生平台——那里原生输入框本来就好使,WebGLInput 会直接停用。更多细节(全屏 API、Default/Minimal/PWA 三种 DEMO)去 WebGLInput 项目主页看。

【免费下载链接】WebGLInputIME for Unity WebGL项目地址: https://gitcode.com/gh_mirrors/we/WebGLInput

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4158040.html

相关文章:

  • Oracle APEX Blueprints实战:AI驱动的规范开发,从需求文档一键生成应用
  • EntityFrameworkCore.Triggered性能开销到底有多大?完整基准测试数据解读
  • 132、洞察驱动的实战标题——时域降噪的“鬼影博弈“——运动检测阈值高一点还是低一点?从运动矢量置信度到混合权重的工程调优
  • 使用vminpoly前必知的5个注意事项:常见坑与浏览器兼容清单
  • 扩展 D-Zone:接入 Slack 等新聊天平台的开发者进阶指南
  • 潍坊全家电维修服务指南-欧米到家常见故障、服务范围与预约报修
  • SillyTavern-Launcher:一条命令装好 AI 应用全家桶|从零跑通完整指南
  • 安卓7.0 开机动画和launcher之间的黑屏...如何解决?
  • R2CNN_Faster-RCNN_Tensorflow网络架构深度剖析:ResNet+RPN双路旋转检测的TensorFlow实现原理
  • ThriftPy2协议层深度解析:Binary、Compact、JSON协议全对比与选型建议
  • 基于BERT的情感分析实战:从Hugging Face微调到生产部署全流程
  • 中文AI绘图神器ComfyUI-Kolors-MZ:为什么它能让快手Kolors在ComfyUI原生采样?完整概览
  • YAMLScript快速上手教程:5步安装ys和libys,跑通你的第一个YAML程序
  • Apktool APK 逆向完整指南:如何快速解码与重打包一个 Android 应用
  • Vue 文档编辑器快速上手指南:如何把 Vue 应用变成 A4 纸式的在线文档
  • 无界 Wujie 微前端实战:三步接入、三种模式与高频坑的完整指南
  • IP地址与子网掩码深度解析:从原理到实战的网络配置指南
  • Numa Balancing 入门
  • kaml快速开始:data class与YAML双向转换,4个实战例子讲清核心用法
  • OBS RTSP 服务器搭建:5分钟装好 obs-rtspserver 插件并出流
  • MobaXterm Keygen 快速上手:3 步生成专业版许可证文件
  • 拆解Orbit区块链交易调查工具核心代码:ranker排行算法、getNew去重与pageLimit分页机制详解
  • 现货电价API接入最佳实践:日前电价、实时电价、节点电价和96点数据
  • 安全先行:office-docs-powershell管理员必须知道的8个PowerShell认证与权限最佳实践清单
  • Triton前置——Python基础语法
  • HumanInput源码剖析:8KB事件库如何解析复杂的组合事件字符串,EventHandler设计全解读
  • NAND闪存工作原理——SSD数据是如何存储的?
  • SDRangel SDR信号接收与频谱分析快速上手
  • 一台电脑两台手柄?任意 PC 游戏双人分屏的完整指南
  • 跑通多模态情感分析:Multimodal-Sentiment-Analysis 图文融合实战指南