如何在Unity3D使用 WWW 加载场景并显示进度条

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Unity3D使用 WWW 加载场景并显示进度条相关的知识,希望对你有一定的参考价值。

参考技术A 1.新建两个场景,保存为level1和level2 2.将图片素材放进工程文件中,分别作为关卡背景、进度条背景和进度条前景 3.创建C#脚本,取名Life 4.打开脚本,加入如图所示代码 5.将脚本拖拽到摄像机上,将三张图片对号入座到图片变量中 6.按播放键调试

炮兵:如何使用炮兵负载测试将测试场景标记为失败并在某些报告中显示相同?

【中文标题】炮兵:如何使用炮兵负载测试将测试场景标记为失败并在某些报告中显示相同?【英文标题】:Artillery: How can I mark a test scenario as failed using artillery load test and show the same in some report? 【发布时间】:2019-10-07 13:21:02 【问题描述】:

我正在处理一些测试要求,当 p95>100 毫秒时,我必须使负载测试场景失败。我在下面写了测试sn-p:

config:
  target: "https://news.google.com"
  # Responses have to be sent within 10 seconds or the request will be aborted
  timeout: 10
  ensure:
      p95: 800
  phases:
    - duration: 10
      arrivalRate: 1

scenarios:
  - name: "Hit news google"
    flow:
    - get:
          url: "/dssw.js_data?_reqid=34556&rt=j"
          expect:
            - statusCode: 300
            - contentType: json

我希望这个测试场景在某种报告中可见,因为有多少测试用例失败并通过。 Artillery 生成的报告仅显示性能统计信息,但如何根据测试性能断言显示报告在某种报告中失败。

【问题讨论】:

【参考方案1】:

一种选择是在 javascript 中实现一个钩子,它查看状态代码,如果认为状态为失败,则通过 next 函数返回错误。

js钩子函数示例:

function exitOnFail(requestParams, response, context, ee, next) 
  const statusCode = parseInt(response.statusCode);
  if (statusCode > 399) 
    next(new Error(`$requestParams.url StatusCode: $statusCode`));
   else 
    next();
  

并将钩子连接到请求:

config:
 ...
 processor: './scriptfile.js'

 ...

scenarios:
  - flow:
    - get:
        url: some/url
        ...
        afterResponse: 'exitOnFail'


【讨论】:

以上是关于如何在Unity3D使用 WWW 加载场景并显示进度条的主要内容,如果未能解决你的问题,请参考以下文章

Unity3d C# 实现AA包(Addressables)资源热更新的多个包异步加载并显示加载实时进度功能(含源码)

unity3d 怎样优化大场景模型

unity怎么知道一个场景是不是加载完成

Unity3d中制作Loading场景进度条所遇到的问题 LoadLevelAsync,AsyncOperation

unity3D中动态加载物体的常用的方法

GameFrameWork框架(Unity3D)使用笔记(八) 实现场景加载进度条