当前位置:   article > 正文

Unity 云渲染插件 MuiltRenderStreaming 使用文档

muiltrenderstreaming

MuiltRenderStreaming 使用文档

1.关于MuiltRenderStreaming

MuiltRenderStreaming可以将Unity 中的画面与音频实时投送到浏览器中并在浏览器中实现对Unity的远程操作,并且可以通过中央服务器完成浏览器与web之间的动态分配

https://www.bilibili.com/video/BV1tC4y137oY/?spm_id_from=333.788.recommend_more_video.0&vd_source=5300e0a10ace4d25703bbfe4566695fd

2.快速开始(查看链接https://www.bilibili.com/video/BV1cQ4y1x7Gw/?vd_source=5300e0a10ace4d25703bbfe4566695fd获取视频演示)

2.1 导入 MuiltRenderStreaming 插件

在这里插入图片描述

2.2开启Run In Background

在这里插入图片描述

2.3打开MuiltRenderStreaming/ServerSample/SampleScene (这个场景是这个项目的服务端功能用来分配web和unity端)

在这里插入图片描述

在这里插入图片描述

  • 发布这个场景
    在这里插入图片描述

2.4 运行发布完成的程序
在这里插入图片描述

2.5 修改服务地址
在这里插入图片描述

2.6 点击connect按钮运行服务端程序
在这里插入图片描述

运行成功后显示是否运行成功
在这里插入图片描述

2.7 运行Unity渲染端

  • 打开包体中的"MuiltRenderStreaming\Render\sample\Sample\SampleScene"进入演示场景

在这里插入图片描述

  • 选择RSManger 修改Address 为服务端的地址加"/unity"来表示链接的是Unity渲染端

在这里插入图片描述

  • 服务端中出现

在这里插入图片描述

  • Unity 中出现

在这里插入图片描述

  • 表示Unity链接成功

2.8 用编辑器打开web浏览页面

  • 编辑MuiltRenderStreaming\RenderWeb下的index.html 修改 window.ServerUrl为WebAPP的地址+"/web"表示链接的是Web

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 关闭编辑器,用浏览器打开index.html,点击Play 按钮获取Unity 画面操作Unity程序

在这里插入图片描述
在这里插入图片描述

3.预制体功能介绍
3.1 RSManger
3.1.1 RSManger功能介绍

RSManger实现了web与Unity之间的消息传输

3.1.2 RSManger 各个属性的作用
  • UsingLog

是否输出在链接过程中的调试信息

  • Is Force Use GPU

是否优先使用GPU编码,在高分辨率下GPU 编码有很强的优势(仅支持英伟达20系以上显卡)

  • Is Force Relay

是否强制使用中转服务器(使用中转服务器使用中转服务器不在使用webrtc点对点链接)

  • Is Connect To server

这是一个只读的值 用来表示Render和服务端之间的链接状态

  • MinRate

这个值用来表示视频编码的最小码率

  • MaxRate

这个值用来表示视频编码的最大码率

  • RTC ICE Server Pool

中转链接池,存放所有中转的Turn 服务器地址

  • Pre User

WebRtc用户的预制体必须设置为MuiltRenderStreaming\Render\RS\pre 下的User

  • Action On Connect

UnityEvent 当Web链接上Unity 程序时触发

  • Action On DisConnect

UnityEvent 当Web 断开与Unity 链接时触发

3.2 RSEventSystem
3.2.1 RSEventSystem功能介绍

RSEventSystem 用来实现Web端操作与Unity内部UI 之间的交互

3.2.2 RSEventSystem使用方式

RSEventSystem 直接替换Unity原生的EventSystem

4.音频传输的实现

将RSAudioSender 脚本放在Unity 场景中AudioListener 下用来对AudioListerner 重新进行编码进行传输到web界面中

5.独立的键盘鼠标输入系统

为了统一在Unity场景中的输入系统和Web中的输入系统。我们基于Unity的OldInputSystem开发了一套独立InputSystem系统下面时使用详细解答

查看InputTest脚本获取使用范列

  • 获取鼠标滚轮输入

RSInput.mouseScrollDelta

  • 获取鼠标长按(0表示鼠标左键,1表示鼠标右键,2表示鼠标中键)

RSInput.GetMouseButton(0)

  • 获取鼠标按下(0表示鼠标左键,1表示鼠标右键,2表示鼠标中键)

RSInput.GetMouseButtonDown(0)

  • 获取鼠标抬起(0表示鼠标左键,1表示鼠标右键,2表示鼠标中键)

RSInput.GetMouseButtonUp(0)

  • 获取键盘按下(KeyCode 为Unity Old InputSystem KeyCode)

RSInput.GetKeyDown (KeyCode key)

  • 获取键盘长按(KeyCode 为Unity Old InputSystem KeyCode)

RSInput.GetKey(KeyCode key)

  • 获取键盘按下(KeyCode 为Unity Old InputSystem KeyCode)

RSInput.GetKeyDown(KeyCode key)

  • 获取键盘抬起(KeyCode 为Unity Old InputSystem KeyCode)

RSInput.GetKeyUp(KeyCode key)

  • 判断是否有按键长按中

RSInput.anyKey

  • 判断是否有按键按下

RSInput.anyKeyDown

Code key)

  • 获取键盘抬起(KeyCode 为Unity Old InputSystem KeyCode)

RSInput.GetKeyUp(KeyCode key)

  • 判断是否有按键长按中

RSInput.anyKey

  • 判断是否有按键按下

RSInput.anyKeyDown

插件下载地址
https://assetstore.unity.com/packages/tools/utilities/muilt-render-streaming-265188

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/89615
推荐阅读
相关标签
  

闽ICP备14008679号