Soumettre la recherche
Mettre en ligne
Unity で実装するエイジングテストのお話
•
5 j'aime
•
6,927 vues
Shota Baba
Suivre
Unity で実装するエイジングテストのお話
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 33
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
Satoshi Kodaira
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のレイトレで出来ること/出来ないこと
UE4のレイトレで出来ること/出来ないこと
Satoshi Kodaira
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!
Unity Technologies Japan K.K.
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
エピック・ゲームズ・ジャパン Epic Games Japan
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
Recommandé
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
Satoshi Kodaira
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のレイトレで出来ること/出来ないこと
UE4のレイトレで出来ること/出来ないこと
Satoshi Kodaira
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!
Unity Technologies Japan K.K.
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
エピック・ゲームズ・ジャパン Epic Games Japan
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について
エピック・ゲームズ・ジャパン Epic Games Japan
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
エピック・ゲームズ・ジャパン Epic Games Japan
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
はじめてのAI~ 愛のあるAIを作ろう
はじめてのAI~ 愛のあるAIを作ろう
Masahiko Nakamura
Epic Online Services でできること
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
エピック・ゲームズ・ジャパン Epic Games Japan
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
Haruki Yano
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
エピック・ゲームズ・ジャパン Epic Games Japan
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
com044
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
Unity Technologies Japan K.K.
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity Technologies Japan K.K.
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
エピック・ゲームズ・ジャパン Epic Games Japan
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
エピック・ゲームズ・ジャパン Epic Games Japan
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
UE4における大規模背景制作事例(コリジョン編)
UE4における大規模背景制作事例(コリジョン編)
エピック・ゲームズ・ジャパン Epic Games Japan
【Visual Studio】開発効率を上げる25個の拡張機能
【Visual Studio】開発効率を上げる25個の拡張機能
Shota Baba
Unity エディタ拡張
Unity エディタ拡張
Shota Baba
Contenu connexe
Tendances
猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について
エピック・ゲームズ・ジャパン Epic Games Japan
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
エピック・ゲームズ・ジャパン Epic Games Japan
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
はじめてのAI~ 愛のあるAIを作ろう
はじめてのAI~ 愛のあるAIを作ろう
Masahiko Nakamura
Epic Online Services でできること
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
エピック・ゲームズ・ジャパン Epic Games Japan
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
Haruki Yano
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
エピック・ゲームズ・ジャパン Epic Games Japan
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
com044
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
Unity Technologies Japan K.K.
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity Technologies Japan K.K.
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
エピック・ゲームズ・ジャパン Epic Games Japan
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
エピック・ゲームズ・ジャパン Epic Games Japan
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
UE4における大規模背景制作事例(コリジョン編)
UE4における大規模背景制作事例(コリジョン編)
エピック・ゲームズ・ジャパン Epic Games Japan
Tendances
(20)
猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
はじめてのAI~ 愛のあるAIを作ろう
はじめてのAI~ 愛のあるAIを作ろう
Epic Online Services でできること
Epic Online Services でできること
60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
UE4における大規模背景制作事例(コリジョン編)
UE4における大規模背景制作事例(コリジョン編)
Plus de Shota Baba
【Visual Studio】開発効率を上げる25個の拡張機能
【Visual Studio】開発効率を上げる25個の拡張機能
Shota Baba
Unity エディタ拡張
Unity エディタ拡張
Shota Baba
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編
Shota Baba
知って得するC# LINQ to Objects編
知って得するC# LINQ to Objects編
Shota Baba
知って得するUnity
知って得するUnity
Shota Baba
知って得するC#
知って得するC#
Shota Baba
Plus de Shota Baba
(6)
【Visual Studio】開発効率を上げる25個の拡張機能
【Visual Studio】開発効率を上げる25個の拡張機能
Unity エディタ拡張
Unity エディタ拡張
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編
知って得するC# LINQ to Objects編
知って得するC# LINQ to Objects編
知って得するUnity
知って得するUnity
知って得するC#
知って得するC#
Unity で実装するエイジングテストのお話
1.
Unity で実装する エイジングテストのお話
2.
目次 1. メリット 2. 作ったエイジングテスト 3.
実装方法 4. その他
3.
メリット
4.
端末の発熱がわかる! アプリの発熱はやっぱり気になる エイジングテストして発熱が少ないと安心できる
5.
メモリリークが見つかる! よくある破棄処理の実装漏れを見つけられる マテリアルの破棄漏れ イベントの解除漏れ アセットバンドルの解放漏れ 修正後もアプリを端末にインストールしたら エイジングテストして放置するだけ確認可能
6.
特定ケースのエラーが見つかる! リソースが大量にあるほど潜在的なバグが増える 「このクエストでエラーが発生した」 「この装備を付けるとエラーが出た」 「このキャラで戦闘を開始するとエラー」 大量のリソースをすべてデバッグしなくても エイジングテストすれば不具合を見つけられる
7.
どれだけ長時間遊べるかわかる! 長時間プレイし続けて 問題が起きないかどうかが調査できる 自分が関わった Unity プロジェクトでは タイムスケールを
8 倍速にして 72 時間(3 日間)放置し続けても正常に動作した 単純計算で 24 日間はアプリを遊び続けられる
8.
余った時間を有効に使える! デバッグの時間を削減できるので ゲームのブラッシュアップに 時間を割くことが可能になる 家に帰れる
9.
エイジングテストのメリットまとめ 端末の発熱がわかる! メモリリークが見つかる! 特定ケースのエラーが見つかる! どれだけ長時間遊べるかわかる! 余った時間を有効に使える!
10.
作ったエイジングテスト
11.
作ったエイジングテストの種類 メインストーリー フリーバトル チュートリアル メニュー遷移 装備変更
12.
エイジングテストの始め方 サーバ接続先選択画面で「オフライン」を選んで 自動テストボタンを選ぶだけ
13.
エイジングテストの制限 通信環境に依存してテストが止まらないように オフラインモードでのみテスト可能
14.
倍速設定でテストを効率化 タイムスケールを変更することで 少ない時間でたくさんのテストを行う Android だと 4
倍速、iOS だと 8 倍速推奨 速くしすぎると原因不明のハングやクラッシュが発生
15.
ランダムな組み合わせチェック テスト中はランダムにデータを変更することで リソースの組み合わせチェックを実現 クエスト ステージ デッキ 装備品 オプション(描画品質や音響効果)
16.
Slack と連携して結果を可視化 1 つのクエストをクリアするたび Slack
に結果が送信される
17.
Slack に送信するデータ 何回目のクエストか 最後にプレイしたクエストの ID プレイ時間 最大使用メモリ Shader、Mesh、Animator
の使用数と差分リスト
18.
Slack に結果を送信するメリット メモリ使用量や増加メモリの内容が可視化される 何時間プレイできているか、 どれだけメモリを使えるかがわかる Slack に通知が来なくなったら アプリが強制終了したということがわかる 最後に送られてきた結果を見れば エラーの原因を調査しやすい
19.
作ったエイジングテストまとめ 5 種類のエイジングテストを実装 テスト開始ボタンを押すだけで実行可能 倍速設定により短い時間で大量にテスト 組み合わせチェックを実現 Slack と連携してテスト結果を可視化
20.
実装方法
21.
Q. どうやって実装している? 有料アセット? 外部プラグイン? ネイティブ機能? スクリプト言語?
22.
A. if 文
23.
エイジングテストするかどうかを管理する グローバルなクラスを作成して public static class
TestFlag { // メインストーリーをテストする場合 true public static bool IsMainStory; }
24.
アプリ起動時にテストボタンが押されたら テストフラグを立てるようにして // ボタンが押されたらフラグを立てる buttonUI.mRelease =
() => TestFlag.IsMainStory = true;
25.
各メニュー画面に、フラグが立っていたら 自動で画面遷移する処理を記述するだけ public class HomeScene
: MonoBehaviour { public UIButtonEvent m_okButtonUI = null; private void Awake() { // フラグが立っていたら if ( TestFlag.IsMainStory ) { // OK ボタンが押された時の処理を呼び出す OnReleased(); return; } m_okButtonUI.mReleased = OnReleased; } ...
26.
基本これだけ
27.
ゲーム本編は? 自分が関わった Unity プロジェクトでは もとから「オートモード」の機能が存在していたので フラグが立っていたらオートモードの機能を有効化 if
( TestFlag.IsMainStory ) { StartAutoMode(); }
28.
組み合わせチェックは? デッキや装備品は 下記のように適当にランダムに設定 var cardList =
MngCardData.List // 全カードを .Shuffle() // ランダムに並べ替えて .Take( 5 ) // 5 枚取り出して .ToArray() // 配列にして ; deckData.cardList = cardList; // デッキに設定する
29.
画面遷移時の注意 画面遷移時は適度に遅延させないと 早すぎて何が起きているかわからないので注意 // フラグが立っていたら if (
TestFlag.IsMainStory ) { // 1 秒後に OK ボタンが押された時の処理を呼び出す DelayCall( 1.0f, OnReleased ); return; }
30.
エイジングテストの実装方法まとめ アセットやプラグインがなくても if 文で実装可能 エイジングテストできる環境を作ること が大切なので、実装手段はなんでも良い 1
日で大幅にデバッグコストを削減できる
31.
その他
32.
購入したもの 多ポート USB 充電器 https://goo.gl/fGTpC3 複数端末で長時間エイジングテストできるように
33.
おわり
Télécharger maintenant