是否可以使用JavaScript控制Unity3D插件中的场景? JavaScript代码应该在浏览器的上下文中运行,而不是在Unity3D插件的上下文中运行?
我必须在场景中转换,删除和添加对象。
也许你有一个例子。
感谢您的任何建议。
答案 0 :(得分:2)
是的,这是可能的 - 至少,我知道我已经做到了,但这是很久以前的事了。
Here's the demo page我当时把它放在一起。
随意查看页面的源代码。其中大部分来自Unity's docs and examples。我刚刚制作了一个简单的包装器,用于向/从Unity网络播放器发送和接收消息,并对代码进行了一些修改。
我的代码基于Prototype.js,因此如果您使用jQuery(如今大多数人),您将不得不做一些小的重写,但它不应该太糟糕。或者你可以使用Unity的预制东西。
我通常不是Unity编码器,因此我无法确切地告诉您如何设置Unity端的东西(我确实做了一个简单的基于着色器的演示,但我丢失了源文件,我想),但我记得,这只是用一组公共方法创建游戏对象的问题。然后可以通过JavaScript调用这些方法。就这么简单。
基本上,从JS方面来说,你所要做的就是:
var player = document.getElementById("UnityObject");
player.sendMessage("name of game object", "name of method", "argument");
如果需要,您还可以将游戏对象的消息发送回JavaScript。它不会在演示中发生,但它应该可以工作。查看来源以获取详细信息。