上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo

guduadmin01小时前

Unity 3D 实现数字孪生

Unity 3D 作为游戏开发引擎,凭借 高可用性,目前已经应用于数字孪生领域,而且可以方便的大包围 WEBGL 方便开发人员对孪生项目的二次开发。下边就简单介绍以下 Unity 3d 与 web 的双向交互是如何实现的;

环境要求

需要准备 Unity 3d ,与vsCode 之类的代码编译软件

最简单的交互

打开Unity 3d 新建一个工程

 选择3D ,然后为工程命名;

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第1张

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第2张

 

 点击工程下边的 Scenes 里边默认的 Simple Scence;左上方出现 Main Camera 等一些

默认的场景,然后右键点击空处

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第3张

 选择UI 组件 然后 点击 Text  之后 ,场景里边就会创建一个UI Text 的组件;

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第4张

这里可以点击对组件的名字进行命名; 

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第5张

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第6张

 

下方的填写框 可以调整你要在Ui文本上显示的文字;

然后我们滑倒下边选择为 Text添加脚本

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第7张

 脚本的名字可以随便命名;

添加之后我们会在Assets 下找

到我们命名的脚本,然后通过 我们的编码软件打开;

写如以下代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class Ri : MonoBehaviour
{
    public TMP_Text helloText;
    // Start is called before the first frame update
   
    public void HelloText(string text)
    {
        helloText.text = text;
    }
    void Start()
    {
        
    }
    // Update is called once per frame
    void Update()
    {
        
    }
}

这里边我们定义了 一个方法 这个方法的参数会传输到我们的 Unity 里边的 UI文本框中进行显示;

板寸之后我们再去点击我们的Canvas;
数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第8张

脚本下边就出现了我们在代码中创建的Text变量,我们将我们创建 Text 拖拽到此处进行 为变量赋予组件。 然后我们去将 我们的项目去打包 为WebGL;

UNITY 3D 打包为 WEBGL

点击 file 下的 Bulid AND Setting (或者 ctrl+shift +b) 

选择 为 WEBGL;然后点击 Bulid ;

等待打包完成;打包完成之后我们会在选择的文件夹下出现三个文件;

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第9张

 然后 我们使用编辑器打开 index.html;找到script .onLoad

 数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第10张

 在下方添加以下代码

 unityInstance.SendMessage('Canvas', 'HelloText','Hello,Unity!');

其中 Canvas' 是我们添加脚本的组件;'HelloText', 是我们脚本里边的方法,'Hello,Unity!' 是该方法·里边需要传输的参数;

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第11张

 然后我们保存代码 回到 Unity 3d;点击 file 下的 Bulid and run 就可以在浏览器上看到我们的Text 组件 打印出了'Hello,Unity!';

数字孪生-> Uinty 3D 与Web 的数据交互 入门 demo,第12张

 

 

网友评论