Unity WebGL - Web与Unity交互方法

一般我们用Unity WebGL 进行项目制作时会需要从Web发送数据到Unity,也会反过来从Unity调用Web方法以及发送数据,以下是一些技术点备注:


1.Web向Unity发送数据:

"ObjectName" : 场景内的一个物体名称

"Method":物体上的脚本中的一个方法名称

"Data":要从Web发送过去的数据

gameInstance.SendMessage("ObjectName","Method","Data");

2.Unity 调用Web方法(只调用JS方法):

"Function" :Web 端已加载或已引用的JS脚本中的方法名称

/// <summary>
/// 发送消息 - 从Unity中发送消息到Web端(调用指定Function名称的方法并不传参数)
/// </summary>
/// <param name="Function">调用的Web内的Function方法名称</param>
public void Call_Web(string Function)
{
   Application.ExternalCall(Function);
}

3.Unity 调用Web方法(同时传单个数据):

"Function" :Web 端已加载或已引用的JS脚本中的方法名称

"Value":需要传送的数据

/// <summary>
/// 发送消息 - 从Unity中发送消息到Web端(调用指定Function名称的方法并传入Value数组参数)
/// </summary>
/// <param name="Function">调用的Web内的Function方法名称</param>
/// <param name="Value">传递的内容</param>
public void Call_Web(string Function, string Value)
{
    Application.ExternalCall(Function, Value);
}

4.Unity 调用Web方法(同时传多个数据):

"Function" :Web 端已加载或已引用的JS脚本中的方法名称

"Value":需要传送的数据数组

/// <summary>
/// 发送消息 - 从Unity中发送消息到Web端(调用指定Function名称的方法并传入Value数组参数)
/// </summary>
/// <param name="Function">调用的Web内的Function方法名称</param>
/// <param name="Value">传递的内容数组</param>
public void Call_Web(string Function, string[] Value)
{
    Application.ExternalCall(Function, Value);
}

5.注意事项

- Web端:

1.保证服务器配置正确,PhpStudy环境部署

2.保证可以正确访问Web服务器的文件

3.通过Js脚本的SendMessage方法时如果发送的时Json内容记得要用JSON.stringify()包裹Json内容

JSON.stringify("JSON内容")

 - Unity端:

1.选择WebGL开发环境

2.发布参数设置

猜你喜欢

转载自blog.csdn.net/seven7745101/article/details/126768623
今日推荐