介绍:
1. u3d是一个3D游戏引擎由于和编辑器集成在一起 所以也可以理解为一个制作/开发平台
2. u3d使用javascript C#作为核心脚本语言 来驱动整个游戏引擎
3. 平台可以发布为Exe执行文件或者打包为供网页调用的一个独立的包文件
4. u3d制作的工程具有高度的可移植性 可以在ps xbox360 android iphone mac 等系统上运行
嵌入网页
1. 实现和Flash插入网页原理完全一致 使用ActiveX控件 嵌入在网页中 所以和Flash一样 需要安装一个播放器插件(<=3M)
2. 如果察看页面源代码 则可以看到如下嵌入部分
<object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394"width="600" height="450"codebase="http://webplayer.unity3d.com/download_webplayer/UnityWebPlayer.cab#version=2,0,0,0">
<param name="src" value="MyDataFile.unity3d" /><embed id="UnityEmbed" src="MyDataFile.unity3d" width="600" height="450"type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" /></object>
3. 和Flash一样 在浏览器中加载3d场景或者读取时的图标进度条等都能进行自定义 也可以自定义是否激活是用右键菜单
数据交互
1. 在unity3d中调用网页js函数
如我们在html中有脚本函数:
则在u3d中我们可以写函数来调用js函数如:
[pre]Application.ExternalCall( "SayHello", "The game says hello!" );[/pre]
2. 在unity3d中直接执行一段脚本代码(这也是可行的) 如:
[pre]Application.ExternalEval([/pre][pre] "if(document.location.host != 'unity3d.com') { document.location='http://unity3d.com'; }"
绿色部分是一个字符串 也是一段js脚本在u3d可以直接执行一段js脚本
3. 在js中调用unity3d函数(传递消息等)
假如在u3d中有一段功能函数(也是用js写的)
function MyFunction(param : String
{
Debug.Log(param);
}
则如果需要在js中呼叫这个函数可以这样写:
<script type="text/javascript" language="javascript">
<!--function SaySomethingToUnity(
document.getElementById("UnityContent").SendMessage("MyObject", "MyFunction", "Hello from a web page!");
-->
</script>
唯一要注意的是MyObject代表u3d中的一个物体名称为MyObject ,MyFunction是赋予给这个问题的函数,最后一个字符为传递的参数。如此可以实现调用和数据传递。
与php,jsp?等的表单数据交互
这应该是今后会可能用到的主要方式 原理是利用form表单传递数据 php中已经使用过多次 没有问题 jsp中应该同理
以php为例
U3d可以用向某个指定页面发送表单数据然后在php中使用_POST获取传递过来的表单数据
比如我们有一个网页: www.dreamloader.net/index.php
其页面源文件如下:
<?php
$action=$_POST["myform_action"];//定义一个变量$action用来获取页面传递过来的表单数据
if ($action!=””){echo$action;}//如果接受到了数据则打印出数据内容
?>
在unity3d中我们发送数据的代码如下:
varform = newWWWForm();//定义一个网页表单form.AddField( "myform_action", "Action1" );//添加一个表单字段名称为myform_action内容是Action1
vardownload = newWWW( “www.dreamloader.net/index.php”, form );//发送表单数据到指定网址页面
假如index.php中执行的是数据库/统计操作 我们就可以对传递的数据进行保存读取或者其他操作了
分享到:
相关推荐
unity3d和网页数据交互的基本原理 unity3d和网页数据交互的基本原理 unity3d和网页数据交互的基本原理
介绍一下UNITY3D与WEB交互的方法,包含传入和传出。//等待数据传递if(update_post.error){print("URL输入错误: " + u
Unity3D与网页的交互Unity3D与网页的交互
Unity3D与c# Winform交互,包含Unity3D Web与Winform交互跟 Winform与Unity3D exe之间的交互
C#人机交互实验-基于Unity3D的地面投影交互系统源码.zipC#人机交互实验-基于Unity3D的地面投影交互系统源码.zipC#人机交互实验-基于Unity3D的地面投影交互系统源码.zipC#人机交互实验-基于Unity3D的地面投影交互系统...
1.Unity按键事件的实现 2.WinForm内嵌Unity3D 3.axUnityWebPlayer的Src的动态设置,右键禁用,隐藏图标实现进度条加载
Unity3d的调用web交互,在web页面中,也有代码可参考!
Unity3D游戏及交互设计,大量视图加解释,很实用
这是一个android和Unity3d相互调用,互相交互数据的一个demo,其中还包括了我写的中间件,以便于替换unity3d的内容,另外好包括了一份相应的文档说明。
unity3d 产品虚拟交互展示 酒展示,源码,带模型
使用插件Embedded Browser3.1.0实现unity与网页交互、运行可以改变网页网址,back,forward 可是实现网页的前进后退。最新unity3d内嵌网页插件
Unity 积雪和交互效果 积雪和交互效果 积雪和交互效果 积雪和交互效果 积雪和交互效果 积雪和交互效果 积雪和交互效果积雪和交互效果积雪和交互效果积雪和交互效果积雪和交互效果积雪和交互效果积雪和交互效果积雪和...
1.Unity按键事件的实现 2.WinForm内嵌Unity3D 3.axUnityWebPlayer的Src的动态设置,右键禁用,隐藏图标实现进度条加载
这是android工程的源码,里面嵌套了unity3D模型,由于unity3D工程较大,写的脚本也较为简单就不上传unity3D那部分了,有不懂的可以直接评论或私聊。该资源主要为那些单独抽取unityLibrary导入到工程里面报错的同学...
unity3d 产品交互展示,源码,虚拟现实,松下相机
对Unity3D与HTML网页进行交互的机理进行了研究,详细阐述了如何通过Unity3D调用HTML网页中的脚本函数,以及通过HTML网页调用Unity3D中的脚本函数,并以此为依据设计了一个型材虚拟展示系统进行验证,取得了良好的效果。
基于Unity3D的交通安全交互式课件的设计与制作
工程是vue嵌套webgl,里面有unity和vue两个工程的代码
支持Unity3D的多Kinect人机交互技术论文
筑梦天下公开课-Unity3d摄像机交互与场景对象交互 主讲:郭少豪