【Unity道場教育スペシャル】Unity認定プログラマー試験の試験範囲と試験対策方法について

1K Views

June 29, 20

スライド概要

2020/6/20に開催された Unity道場 教育スペシャル[虎の巻]の講演スライドです。
講師:荒川 巧也(ユニティ・テクノロジーズ・ジャパン合同会社)

profile-image

リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

ユニティ・テクノロジーズ・ジャパン合同会社 荒川 巧也 Generative Art — Made with Unity Unity認定プログラマー試験の試験範囲と試験対策方法について

2.

自己紹介 荒川 巧也 ユニティ・テクノロジーズ・ジャパン合同会社所属。 ユニティでは”トレーナー”として主に企業様向けに Unityに関する導入講義の実施や効率的な実装方法のア ドバイスを行っています。 また、教育関係者(教員)向けにもUnityの講義やUnity の授業導入のお手伝いを行っています。 2

3.

Unityが提供している検定試験 Unityスキルの見える化 3

4.

Unityが提供している検定試験の難易度 専門的な内容 基礎的な内容 4

5.

Unity認定プログラマー試験とは 試験のレベル:一部抜粋 ● Unity を使って、ゲームや 3D のインタラクティブな プログラミングで 2 年以上の実務経験がある。 ● コンセプト構想から完成まで、全体にわたるソフト ウェア開発ライフサイクルにおける経験がある。 作問はUnity 2017.4で行っています。 合格条件 Unity の試験のスコアスケールは 200~700(満点) で、合格ライ ンのスコアは 500 。スコアが 500 以上であれば合格。

6.

問題範囲:Unityのプログラミングに関する知識 ・マテリアル、テクスチャ、シェーダーの知識 — Unity レンダリング API ・ライティングの知識 — Unity ライティング API ・2D アニメーションおよび 3D アニメーションの知識 — Unity アニメーショ ン API ・パーティクルシステムの知識 – Unity パーティクル API ・Unityエディタ拡張に関する知識 *モジュール性、可読性、再利用性を実現するためのスクリプトを構成する手法を理解する (*一部抜粋、詳しくはUnityの検定試験専用ページでご確認ください。) 6

7.

問題範囲:Unityが提供するサービス・機能に関する知識 • Unity Analytics や PlayerPrefs などの技術を使用したスコア、プレイヤー レベル、 ゲーム内経済など、ユーザーの進行度に関する機能のスクリプトを分析する知識。 Unity Collaborate などの技術を使用して、バージョン管理の使用および影響に関連し た概念を理解する知識。 • Unity Profiler、従来のデバッグ手法やテスト手法など、ソフトウェア開発 プロセス における開発者テストとその影響に関する知識を明らかにする知識。 7

8.
[beta]
サンプル問題1
プログラマーは暗くて雰囲気のある部屋を作成しており、壁、床、天井に不気味な影を映し出すちらちら
と揺らめくたいまつを作成する必要があります。
プログラマーは、たいまつに アタッチされた MonoBehaviour について、次の関数を記述しています。
void Start()
{
Light light = GetComponent<Light>();
light.lightMapBakeType = LightMapBakeType.Mixed;
light.type = LightType.Area;
light.shadows = LightShadows.Soft;
light.range = 5f;
}
void Update()
{
GetComponent().intensity = Mathf.PerlinNoise(Time.time, 0);
}

光の設定

光をちらちらさせる

8
実行時、たいまつは光も影も作りません。Unity Editor
で、ライトはデフォルト値に設定されています。

9.

サンプル問題1 このコードを仕様どおりに動作させるには、プログラマーは何を変更する必要がありますか ? A light.lightBakeType を LightmapBakeType.Realtime に設定する B light.range を 10 に設定する C light.shadows を LightShadows.Hard に設定する D light.type を LightType.Point に設定する 9

10.
[beta]
サンプル問題1解答
プログラマーは暗くて雰囲気のある部屋を作成しており、壁、床、天井に不気味な影を映し 出すちらちら
と揺らめくたいまつを作成する必要があります。
プログラマーは、たいまつに アタッチされた MonoBehaviour について、次の関数を記述しています。
void Start()
{
Light light = GetComponent<Light>();
light.lightMapBakeType = LightMapBakeType.Mixed;
light.type = LightType.Area; //LightType.Point にすべき
light.shadows = LightShadows.Soft;
light.range = 5f;
}
void Update()
{
GetComponent().intensity = Mathf.PerlinNoise(Time.time, 0);
}

光の設定

光をちらちらさせる

10
実行時、たいまつは光も影も作りません。Unity Editor
で、ライトはデフォルト値に設定されています。

11.

サンプル問題2 エイリアンのいる惑星を舞台としたアドベンチャーゲームで、プレイヤーはさまざまな生命体を倒す必要 があります。プレイヤーが生命体を倒すたびにスコアが加算されます。デザインドキュメントには、プレ イヤーが別のセッションや別のデバイスでプレイした場合でも後でスコアを取り戻せるようにするために、 スコアをプレイヤーのアカウントにリンクする必要があると記述されています。 プログラマーがスコアデータを保存するための最も信頼性の高い方法はどれですか ? A スコアデータを保持するゲームオブジェクトで DontDestroyOnLoad() を使用して、アプリケーションの終了 直前にサーバーにデータをアップロードする B スコアが更新され、アプリケーションの終了直前にサーバーにアップロードされるたびにPlayerPrefs にそ のスコアを保存する C 静的な値を使用してスコアデータを保存し、次のプレイセッションで使用できるようにする D データのシリアル化を使用してスコアデータを永続的に保存し、サーバーにアップロードする

12.

サンプル問題3 あるプログラマーが UI メニューシステムを実装することになりました。各メニューは 1 つの UI パネルと 1 つ以上の UI ボタンで構成され、それらはすべて、UI Canvas オブジェクトを親とします。UI メニューシ ステム全体は、付加的に読み込まれる別のシーンに作成します。 パネルとボタンのアートスタイル(色、テクスチャ、ボタン遷移タイプなど)は一貫させる必要がありま すが、アートディレクターはまだこれらの最終決定を下していません。 アートディレクターは、プログラマーによる UI 作成と並行してこれらの設定に取り組みたいと考えていま す。アートディレクターによる変更は、シーン内の新しいオブジェクトと既存のオブジェクトすべてに反 映されます。 12

13.

サンプル問題3 プログラマーが Unity の機能を使用して実用的なメニューシステムを簡単に作成しながら、 アートディレクターが同時に(および個別に)ルック&フィールに取り組めるようにする要 件を満たす方法として最適なものを選択してください。 A UI.Button と UI.Panel のサブクラスを作成し、ルック&フィールの値をプログラムで設定する B 新しいボタンとパネルのマテリアルを作成し、シーンのすべてのボタンとパネルに割り当てる C ボタンとパネルにプレハブを使用し、アートディレクターにプレハブを修正してもらう D アートディレクターの入力内容に基づいてシーンファイル内の値を検索 / 置換するスクリプトを作成する 13

14.

認定トレーナーを増やすUnity本社の取り組み UCI( Unity Certified Instructor ) Bootcamp 2020/2/3 〜 2020/2/7 @ San Francisco Unityが5日間かけてUnity認定プログラ マー試験とCompTIA CTT+(トレーナ ーとしてのスキルの資格)取得を目的 に実施したブートキャンプ。 荒川も日本から参加。 朝 8:00 〜 17:00で実施。 参加者は大学の先生、高校の先生、フ リーランスなどさまざま・・。 14

16.

UCI BootCampで使用した教材 ● ● 試験対策というよりUnityに関する知識を身に付ける講座。 英語の講座。 16 https://www.coursera.org/specializations/unity-certified-programmer

17.

Unityのプログラミングに関する知識 ・マテリアル、テクスチャ、シェーダーの知識 — Unity レンダリング API ・ライティングの知識 — Unity ライティング API ・2D アニメーションおよび 3D アニメーションの知識 — Unity アニメーショ ン API ・パーティクルシステムの知識 – Unity パーティクル API ・Unityエディタ拡張に関する知識 *モジュール性、可読性、再利用性を実現するためのスクリプトを構成する手法を理解する 17

18.

Unityが提供するサービス・機能に関する知識 • Unity Analytics や PlayerPrefs などの技術を使用したスコア、プレイヤー レベル、 ゲーム内経済など、ユーザーの進行度に関する機能のスクリプトを分析する Unity Collaborate などの技術を使用して、バージョン管理の使用および影響に関連し た概念を理解する • Unity Profiler、従来のデバッグ手法やテスト手法など、ソフトウェア開発 プロセス における開発者テストとその影響に関する知識を明らかにする 18

19.

Unityは1人でも多く資格取得者を増やしたいと考えています。 資格取得者が増える = Unityを使って活躍する人が増える。 19

20.

認定試験対策のお手伝いをしたい! 20

21.

日本版 Unityブートキャンプ開催! 21

22.

日本版 Unityブートキャンプ “Unity ティーチャートレーニングデイ” 22

23.

Unity ティーチャートレーニングデイ開催! 講師:荒川 + スタッフ(現在調整中) 3つの検定試験に対応したトレーニングデイ(対策講座)を実施します。

24.

Unity ティーチャートレーニングデイ開催! ・各検定の試験範囲のポイントを網羅できるような内容の予定。 ・Zoomを利用したオンラインワークショップ (予定)。 ・ 各回10名の定員。(教員など教育関連のお仕事をされている方に限る) ・ ひたすら模擬試験を解いて解説するようなイベントではありません。 ・使用した資料やプロジェクトデータは後日公開予定。

25.

Unity ティーチャートレーニングデイ -認定アソシエイト編- 開催日:8/22, 8/29 *両日とも同じ内容を行います。 参加者の想定レベル:Unityの基本的な使い方を理解している。 Unityの入門書レベルは理解している。 25

26.

Unity ティーチャートレーニングデイ -認定プログラマー編- 開催日:9/5, 9/12 *両日とも同じ内容を行います。 参加者の想定レベル:(調べながらでも) Unityの一通りの機能を使える。 C#の基本的な文法は理解している。 26

27.

Unity ティーチャートレーニングデイ -認定3Dアーティスト編- 開催日:9/26 参加者の想定レベル: Unityのアニメーション、マテリアル、ライティングについて基 本的な知識はある。 27

28.

Unity ティーチャートレーニングデイ 参加方法については後日公開予定。 28

29.

ご清聴ありがとうございました! 29