Unity 云渲染插件 MuiltRenderStreaming 使用文档

  • MuiltRenderStreaming 使用文档
    • 1.关于MuiltRenderStreaming
    • 2.快速开始(查看链接https://www.youtube.com/watch?v=zPg8GPrA3ms获取视频演示)
    • 3.预制体功能介绍
      • 3.1 RSManger
      • 3.1.1 RSManger功能介绍
      • 3.1.2 RSManger 各个属性的作用
      • 3.2 RSEventSystem
      • 3.2.1 RSEventSystem功能介绍
      • 3.2.2 RSEventSystem使用方式
    • 4.音频传输的实现
    • 5.独立的键盘鼠标输入系统

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 插件

Unity 云渲染插件 MuiltRenderStreaming 使用文档_第1张图片

2.2开启Run In Background

Unity 云渲染插件 MuiltRenderStreaming 使用文档_第2张图片

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

Unity 云渲染插件 MuiltRenderStreaming 使用文档_第3张图片

Unity 云渲染插件 MuiltRenderStreaming 使用文档_第4张图片

  • 发布这个场景
    Unity 云渲染插件 MuiltRenderStreaming 使用文档_第5张图片

2.4 运行发布完成的程序
Unity 云渲染插件 MuiltRenderStreaming 使用文档_第6张图片

2.5 修改服务地址
Unity 云渲染插件 MuiltRenderStreaming 使用文档_第7张图片

2.6 点击connect按钮运行服务端程序
Unity 云渲染插件 MuiltRenderStreaming 使用文档_第8张图片

运行成功后显示是否运行成功
Unity 云渲染插件 MuiltRenderStreaming 使用文档_第9张图片

2.7 运行Unity渲染端

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

Unity 云渲染插件 MuiltRenderStreaming 使用文档_第10张图片

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

Unity 云渲染插件 MuiltRenderStreaming 使用文档_第11张图片

  • 服务端中出现

Unity 云渲染插件 MuiltRenderStreaming 使用文档_第12张图片

  • Unity 中出现

Unity 云渲染插件 MuiltRenderStreaming 使用文档_第13张图片

  • 表示Unity链接成功

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

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

Unity 云渲染插件 MuiltRenderStreaming 使用文档_第14张图片

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

Unity 云渲染插件 MuiltRenderStreaming 使用文档_第15张图片
Unity 云渲染插件 MuiltRenderStreaming 使用文档_第16张图片

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

你可能感兴趣的:(unity,游戏引擎,图形渲染,webrtc,游戏程序)