Unity WebGL 中文输入解决方案(UGUI、TextMeshPro、UIToolkit)

WebGL 中文输入解决方案

  • 方案介绍
  • 基础流程
  • Demo
    • 场景搭建
    • 发布设置

方案介绍

.本解决方案有效解决了在WebGL平台发布后无法输入中文的问题,本方案目前已经完成了对InputField(UGUI)、InputField(TextMeshPro)、TextField(UIToolkit)三大ui组件的支持。

.经过功能的封装使用过程极度舒适(只需在代码中使用xxx.AddIMESupport_WebGL()xxx.RemoveIMESupport_WebGL()),详情见后文Demo 部分。

基础流程

ui获得焦点,发送通知
显示
输入完成,关闭
输入完成,通知
Unity
Index.html
input.html-输入框

Demo

场景搭建

  1. 新建空白场景
  2. 拖入WebGL必备预制体(Assets/ZYF/Tools/Webgl/IMEInput/WebGL必备.prefab)
  3. 添加一个InputField (TMP) ui
  4. 新建脚本 Test.cs,并挂到ui物体上。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
namespace ZYF
{

    public class Test: MonoBehaviour
    {
        public TMP_InputField inputField;
        private void OnEnable()
        {
           inputField.AddIMESupport_WebGL();
        }


        private void OnDisable()
        {

            if (inputField != null)
            {
                inputField.RemoveIMESupport_WebGL();
            }
        }
       
    }
}

发布设置

  1. 选择WebGL Template 为ZYFUnity WebGL 中文输入解决方案(UGUI、TextMeshPro、UIToolkit)_第1张图片

  2. 勾选Decompression Fallback
    Unity WebGL 中文输入解决方案(UGUI、TextMeshPro、UIToolkit)_第2张图片

  3. 打包发布。

你可能感兴趣的:(UnityWebGL,Unity,unity,ui,WebGL,中文输入)