Unity 3D 实现数字孪生

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

环境要求

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

最简单的交互

打开Unity 3d 新建一个工程

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

 

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

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

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

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

 

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

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

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

添加之后我们会在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;

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

UNITY 3D 打包为 WEBGL

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

选择 为 WEBGL;然后点击 Bulid ;

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

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

 

 在下方添加以下代码

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

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

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

 

 

Logo

NVIDIA官方入驻,分享最新的官方资源以及活动/会议信息,精选收录AI相关技术内容,欢迎大家加入社区并参与讨论。

更多推荐