首页| 行业资讯| 企业名录| 周边产品| 数字城市| 增强现实| 工业仿真| 解决方案| 虚拟医疗| 行业仿真| 图形处理| 军事战场
用户登录/注册 ×
资讯首页
行业资讯 >> 学习教程
unity3d和网页数据交互的基本原理
时间:2012-03-18    评论:0

    unity3d和网页数据交互的基本原理

    介绍:

    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="//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="//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='//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.XXXX.com/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.XXXX.com/index.php”, form );//发送表单数据到指定网址页面
 
    假如index.php中执行的是数据库/统计操作 我们就可以对传递的数据进行保存读取或者其他操作了。

标签:unity
上一篇:Unity3D脚本19:可重载虚函数下一篇:Unity3D操作界面(GUI)详细介绍
网友评论:unity3d和网页数据交互的基本原理
留名: 验证码:
最新评论
查看全部评论0
暂无评论
您可能还需要关注一下内容:
·五款主流三维图形引擎基本功能对比
·十五款主流三维图形引擎简介
·国内外三维图形引擎研究现状
·三维图形引擎综述
·基于Unity3D的气相色谱仪虚拟仿真实验系统的构建
·基于Unity3D的可变视点数裸眼立体图像合成算法
·基于Unity3D的火炮外弹道虚拟视景仿真系统
·Unity 3D HoloLens 2开发初窥
·使用Unity3D和HTC VIVE实现下颌骨虚拟手术
·Unity将MARS AR/MR工具扩展到Magic Leap和HoloLens
☏ 推荐产品

小宅 Z5 2018青春版
商家:小宅

杰瑞特运动平台
商家:杰瑞特智能

Dikalis眼动追踪
商家:赢富仪器

魔神 Hawk
商家:魔神运动分析

5DT Binoculars
商家:四维宇宙

Christie DS+750
商家:四维宇宙

Zalman M220W
商家:四维宇宙

全息360°
商家:四维宇宙

PD F10 AS3D
商家:四维宇宙

PHANTOM系列
商家:四维宇宙
☞ 外设导航
☏ 企业名录
【深圳】深圳市观度科技有限公司
【沈阳】沈阳中申高新科技有限公司
【北京】北京未尔锐创科技有限公司
【南昌】南昌虚拟现实检测技术有限公司
【上海】上海桥媒信息科技有限公司
【宁波】宁波维真显示科技股份有限公司
【潍坊】歌尔股份有限公司
【上海】霍尼韦尔(中国)有限公司
【北京】科视Christie-中国
【北京】北京华如科技股份有限公司
关于本站联系我们融资计划免责声明网站建设广告服务咨询策划行业推广
北京第三维度科技有限公司 版权所有 京ICP备15051154号-3
2008-2020 Beijing The third dimension Inc. All Rights Reserved.
Email:d3dweb@163.com  QQ:496466882
Mob:13371637112(24小时)
关注虚拟现实
关注第三维度