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