Unity笔记 -myself

2020 /12 /21 星期一 笔记

在协程中使用回调


    void Start()
    { 
        StartCoroutine(callBack());
    }

    private static IEnumerator callBack()
    {
        Application.ExternalCall("HideDropdown", true);
        yield return true;
    }

Unity发布成WebGL之后,可以与浏览器脚本进行交互

官方说明链接:https://connect.unity.com/doc/Manual/webgl-interactingwithbrowserscripting

之前Unity提供的Application.ExternalCall方法现在已经被设为过时。
现在需要用到的方法是在Plugins目录下添加“*.jslib”文件,将浏览器脚本写在里面。

你可以调用Application.ExternalCall() 和Application.ExternalEval()在你嵌入的网页中执行 JavaScript代码.

//网页中的HTML
public static void ExternalEval(string script);
//script 执行的JS代码 
//Description
//在嵌入WEBGL的页面中执行JS代码
 Application.ExternalEval("history.back()");

ExternalEval 现在该功能已过时。有关替代方法,请参见https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html

其他注意内容

Unity发布的WebGL会将键盘输入截取,导致只能在Unity生成的画布中输入,无法在浏览器其他地方进行输入。

Unity提供了“WebGLInput.captureAllKeyboardInput”属性,当该属性为“false”的时候,即可在浏览器其他地方输入,默认值为“true”。

参考Demo,地址如下,访问速度略慢,见谅。
http://www.nshworkshop.cn/unityweb/

WebGL不支持:

1、不支持Unity的 print,可用Debug.Log代替。

//摘自:我是橙子va

2、不支持动态链接库 DllImport**

比如说Unity模拟按键按下的动态链接库代码 [DllImport(“user32.dll”, EntryPoint = “keybd_event”)]

但不同浏览器提供的支持程度存在差异

https://connect.unity.com/doc/Manual/webgl-browsercompatibility

添加进度条

unity WebGl内容将在加载时自动呈现默认进度条。您可以通过提供自己的进度函数作为附加的实例化参数来覆盖默认的加载进度条。例如:

var gameInstance = UnityLoader.instantiate("gameContainer","%UNITY_WEBGL_BUILD_URL%",{onProgress:UnityProgress});

Unity 3D WebGL:在应用程序加载并准备好后运行Javascript代码?

详情:https://cloud.tencent.com/developer/ask/196683

WebGL 使用SendMessage传递多个参数

详情:https://www.cnblogs.com/zj-kingder/p/6805564.html

Unity的SendMessage本来就只支持一个参数,难怪我一直不成功

博客中使用了一种自定义分隔符的方式实现了多个参数的传递

unity中:

void inboundfunction(string indata)
{ 
	string[] words = indata.Split('~'); 
	data1 = words[0];
	moredata2 = words[1];
	anotherpiece3 = words[2]; 
}

JS中:

<script type=”text/javascript”>
<!function callbackunity(arg)
{
	alert(arg);
	var unity = unityObject.getObjectById(“unityPlayer”);
	unity.SendMessage(“Rezzer”, “inboundfunction”, “item1~item2~item3”);
}>
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity Mega-Fiers是一款强大的Unity插件,它为开发者提供了许多功能和工具,以帮助他们创建优秀的游戏体验。 首先,Unity Mega-Fiers具有强大的形变功能。开发者可以通过该插件实现各种形状的变换,包括弯曲、挤压、拉伸等。这为游戏中的人物、物体和环境提供了更多的自由度和个性化选项,使其更具动态和真实感。 其次,Unity Mega-Fiers还提供了高度的粒子系统控制能力。开发者可以使用该插件来创建更加逼真的粒子效果,并具有更准确的控制。这包括粒子的大小、颜色、速度等方面,使游戏中的特效更加出色。 另外,Unity Mega-Fiers还支持可编程网格。这意味着开发者可以通过脚本来控制网格的生成和变形,从而实现各种复杂的效果。无论是地形生成、水体模拟还是其他物体的变形,都可以通过该插件实现,并使游戏更加逼真和具有个性化。 除了以上功能,Unity Mega-Fiers还提供了其他诸多辅助工具,如动画控制、特效编辑等,为开发者提供了更丰富的开发选项和提升游戏质量的手段。 总结而言,Unity Mega-Fiers是一款功能强大的Unity插件,为开发者提供了丰富的形变、粒子系统控制和可编程网格等功能。它能够大幅提升游戏的真实感和品质,并为开发者提供更多的创作空间和个性化选项。无论是初学者还是有经验的开发者,都能够从中受益,并创造出出色的游戏作品。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值