相关文章推荐
八块腹肌的烈酒  ·  unity2018 最新webgl ...·  1 周前    · 
有腹肌的竹笋  ·  Vulkan Samples 阅读 -- ...·  1 年前    · 
低调的鸡蛋  ·  groovy - Jenkins ...·  1 年前    · 

问题描述:

当打包成webgl嵌到vue里面时,点击模型外的区域,此时处于失去焦点状态,模型会处于暂停状态,发送各种指令都没响应。然后重新点击下模型,模型又开始动了(焦点回来了)。

因为需要在模型外,点击vue上的各种按钮来触发指令,但是一点击vue上的按钮,模型就失去焦点处于暂停状态,从而不自行对应的指令。

解决办法:

鉴于这种问题也无从查起,经过各种排查,只有老版本的引擎上才有这样的问题(小于2020),

然后博主用2021的版本重新打包webgl,就没出现模型失去焦点问题。

//Ning+ 20190430 BrowserSettings.plugins = STATE_ENABLED; BrowserSettings. webgl = STATE_ENABLED; CEFBrowserApp.cpp //Ning+ 20190430 CommandLine-&...
想要使相机目标屏幕画面停止渲染,官方给出了一条可实现的途径。 Cameras cannot render to the Game Screen and a Render Texture at the same time, only one or the other.  Setting this reference will disable this Camera’s capability to...
Unity3D 是一款功能强大的游戏开发引擎,可以用于创建各种类型的游戏。2021版的 Unity3D 引入了许多新功能和改进,使得开发游戏变得更加容易和高效。 在 Unity3D 中,我们可以将游戏 打包 WebGL 格式,以便在Web浏览器上运行。要实现与前端 Vue 框架的交互,我们可以使用 Unity3D 提供的一些API和技术。 首先,我们可以使用 Unity3D 的WebRequest类或者使用 Unity WebRequest来与服务器进行网络通信。通过发送HTTP请求和接收响应,我们可以与前端的 Vue 应用程序进行数据交换。例如,我们可以从 Vue 应用程序中向 Unity3D 发送请求,以获得某个游戏关卡的状态或者玩家的统计信息,然后 Unity3D 可以处理这些请求并返回相应的数据。 其次, Unity3D 还提供了一种称为JavaScript与 Unity3D 交互的机制。通过在 Unity3D 的脚本中使用JavaScript代码,我们可以直接在 Vue 应用程序中调用 Unity3D 中的函数或方法。这种方式使得前端和 Unity3D 之间的通信更加方便和灵活。例如,我们可以在 Vue 应用程序中的某个按钮点击事件中调用 Unity3D 中的特定函数,以触发游戏中的相应操作或动画。 最后,为了实现实时的数据传输和通信,我们可以使用WebSocket技术。WebSocket允许双向通信,并且具有低延迟和高效性。我们可以在 Vue 应用程序中创建WebSocket客户端,然后在 Unity3D 中使用WebSocket库来创建WebSocket服务器,从而建立双向通信通道。通过WebSocket,我们可以实现实时的数据传输和事件触发,例如实时更新游戏角色的位置或者发送聊天消息。 总而言之, Unity3D 2021版可以通过各种技术和API实现与前端 Vue 应用程序的交互。通过网络通信、JavaScript与 Unity 交互和WebSocket技术,我们可以实现数据的传输和双向通信,从而创造出更加丰富和交互性强的游戏体验。 ### 回答2: Unity3D 是一款功能强大的游戏开发引擎,它可以轻松地将游戏 打包 WebGL ,使其能够在Web浏览器中运行。而与前端 Vue 框架进行交互,则需要借助一些额外的工具和技术。 首先,我们可以使用 Unity3D WebGL 模板来导出游戏项目。在 Unity 编辑器中,选择Build Settings面板,选择 WebGL 作为目标平台,并进行相应的设置和调整。然后点击Build按钮, Unity 将自动生 WebGL 版本的游戏文件。 接下来,我们需要将生 WebGL 文件嵌入到 Vue 项目中。可以在 Vue 的组件中使用HTML iframe元素来加载 Unity Web Player插件,并指定 WebGL 游戏的URL地址。这样, Vue 应用就能够在浏览器中展示 Unity 游戏。 为了实现 Unity3D Vue 之间的交互,我们需要用到JavaScript的接口技术。首先,在 Unity3D 的代码中定义一些JavaScript函数,用于接收来自 Vue 的调用,并执行相应的游戏逻辑。然后,在 Vue 中使用JavaScript调用 Unity 的方式来与游戏进行交互,例如调用游戏中的特定功能或获取游戏的状态。 在 Vue 中,可以使用 Vue 插件或者自定义的JavaScript模块来封装与 Unity3D 的交互逻辑,以便在 Vue 组件中更方便地使用。这样,我们就可以实现 Unity3D Vue 之间的双向通信,通过JavaScript接口在它们之间进行数据的传递和操作。 总结起来,使用 Unity3D (2021版) 打包 WebGL 后,通过在 Vue 中嵌入 WebGL 文件,并结合JavaScript接口技术,我们可以实现 Unity3D 游戏与前端 Vue 的交互。这样的交互方式可以为游戏开发提供更丰富的前端体验和功能,并且使得开发人员能够有效地利用 Unity3D Vue 的优势,为用户提供更好的游戏体验。 ### 回答3: Unity3D 是一款功能强大的游戏开发引擎,2021版的 Unity3D 可以将游戏 打包 WebGL 格式,并与前端 Vue 进行交互。 首先,要将 Unity3D 项目 打包 WebGL 格式,我们需要在 Unity 编辑器中对项目进行相关设置。我们可以选择在“Build Settings”中选择 WebGL 平台,并设置导出的文件夹路径和其他相关参数。然后,我们点击“Build”按钮即可生 WebGL 版本的游戏。 生 WebGL 版本的游戏可直接在Web浏览器中运行,并具有良好的跨平台性能。在与前端 Vue 进行交互的过程中,可以使用 Unity 提供的 Unity Instance对象和前端的JavaScript代码进行通信。 在 Vue 中使用 Unity3D WebGL 游戏,我们可以在 Vue 组件中引入游戏的HTML文件,并将其嵌入 Vue 模板中的某个位置。可以使用 Vue 的生命周期钩子函数,在组件挂载完毕后加载游戏,并在组件销毁前销毁游戏实例。 通过 Unity Instance对象,我们可以通过调用其提供的函数和属性与 Unity 游戏进行交互。例如,我们可以通过调用 Unity Instance.SendMessage()函数,向 Unity 发送消息,实现与 Unity 的双向通信。 Unity 也提供了一些常用的API,用于获取游戏状态、传递数据等操作。前端 Vue 可以根据需要,通过调用这些API实现与 Unity 游戏的交互。 总之, Unity3D (2021版)可将游戏 打包 WebGL 格式,并与前端 Vue 进行交互。通过适当的设置和API调用,我们可以轻松实现在Web浏览器中运行 Unity 游戏,并与前端实现双向通信。这为开发跨平台的游戏和应用程序提供了更多的可能性。