首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >WebGL问题总结

WebGL问题总结

作者头像
CoderZ
发布2022-08-29 15:29:49
发布2022-08-29 15:29:49
1.8K0
举报

1.中文的输入输出问题:

1).输出问题:Unity的默认字体Arial在WebGL平台并不能正常的显示,解决方法也简单,自己创建一个字体或者去资源商店里找一个,替换所有的Text文本字体。

2).输入问题:InputField在WebGL平台里不支持中文输入,在Gihub上下载了一个插件-WebGLNativeInputField。插件写了一个InputField的派生类。

添加输入框时将InputField替换为WebGLNativeInputField组件。

DialogType是一个枚举类型,包含Prompt popup和Overlay Html两个值,是弹出输入框的两种形式,都可以使用,但各自有一个问题:

1).Promt pupup 该输入框只显示单行,如果有大量输入的需求,使用起来很是麻烦。

2).Overlay Html 该类型输入框不支持全屏,如果程序在全屏运行,弹出该输入框时会退出全屏。但可以将它修改为显示多行,需要对插件进行修改

修改:

使用Notepad++或者记事本等文本编辑工具打开该插件

修改SetupOverlayDialogHtml函数中的一行代码:

就是将input修改为textarea文本域。

2.视频播放问题:

VideoPlayer组件,Source来源有两种形式,VideoClip和URL

使用VideoClip,不管是在检视面板将视频拖拽赋值或者是代码动态赋值,在WebGL平台均不能播放,只能使用URL形式,填写视频文件的路径,打包后才能正常播放视频。

3.文件读取问题:

一度认为WebGL不支持使用StreamAssetsPath路径,但测试发现是可以正常使用的,使用System.IO.File读取该路径下的配置文件会失败是因为,使用File类相关函数时,我们真实填入的WebGL平台下的路径参数,是以file:///开头的,但是File读取后的路径开头却是/file:/ 所以结论是,在WebGL平台下不要使用System.IO.File类。

4.URL链接问题:

在PC平台使用Application.OpenURL函数可以打开指定的网页,但是在WebGL端使用该函数打开网页时会覆盖我们的程序页面,没有其他重载方法。只能自己写个插件,用js代码打开新的网页。在Plugins文件夹下创建一个 .jslib文件。

然后在unity中通过调用声明好的外链方法实现关联,再用一个静态方法进一步封装,方便其他类调用。

使用我们自己编写的OpenURL函数代替Application.OpenURL即可。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 当代野生程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档