全職種の新卒にUnity基礎研修を行う理由

武市文人氏(以下、武市):「リモートでもスマートなUnity研修 ~僕の作ったサンプルプロジェクトで非エンジニアの新卒にもUnityを完全に理解してもらった話~」を始めます。よろしくお願いします。

はじめに自己紹介です。私はKLab所属の武市文人といいます。新卒で入社して現在で3年目で、Unityのクライアントエンジニアをやっています。最近は、新卒研修にもかかわっています。

まずは「新卒『全職種』向けUnity基礎研修」を行う意図について説明します。

タイトルに「『全職種』向け」とある理由がこちらです。プロジェクト配属後は開発職だけでなく、企画職や制作職もUnityを使うことがよくあるので、プロジェクト側の教育コストを下げるためにゲームエンジンについてや、Unityではどのようなことができるのかを理解してもらい、かつ、Unityの最低限の操作方法を身につけてもらうために全職種向けに行っています。

次にUnity基礎研修のスケジュールです。Unity基礎研修は、ゲームエンジンの説明から入って、Unityについての説明をして、残りの時間は事前に用意したサンプルのゲームをもとにUnity自体の操作説明を実習形式で行います。

これまでは2020年の研修資料を流用してやっていたのですが、今回は資料をあまり使わずに実技ベースで行うように一新しました。

Unityの基礎と開発職との連携で必要な部分を講義

講義内容についてです。ゲームエンジンやUnity説明の部分は、「どういったものがエンジンなのか」「Unityとはこういう感じ」と軽く説明しただけだったので、今回は割愛します。

まずは、非エンジニアである企画職や制作職の人がUnityを動かすうえで一番基礎になる部分や、開発職と連携するうえで必要になる部分を説明しました。

講義の際に使用するUnityは、事前にバージョンをこちらで指定してダウンロードしてもらっています。バージョンが最新でないことに関して「なんでですか?」と質問があったので「研修後に配属された時にそのまま使えるように社内で普及しているバージョンになっている」と説明しました。

1つ目が、Unityのプロジェクトをクローンしてから起動するまでの流れについてです。新規立ち上げで説明するのではなく、私が用意したサンプルプロジェクトをクローンしてもらうことで、既存プロジェクトの読み込みの仕方や初回起動時の起動時間が長いことを説明しました。

2つ目が実行・一時停止・コマ送りボタンについてです。このボタンを知っておかないと、ゲームの実行、一時停止、フレーム単位での動作確認のコマ送りができないので説明しました。

3つ目は2つ目の延長になりますが、実行中に編集した内容が基本的にリセットされていることを説明しました。Unityに慣れていないうちはありがちなのですが、実行したままいろいろな操作を行って実行停止をすると、やったことが全部水の泡になるので、それを防ぐためです。私も学生の時にやったことがあって、とても悲しかったので、そういう気持ちも込めて説明しました。

4つ目がコンソールウィンドウについてです。ゲームを作るうえでバグや問題があった時は、だいたいこのウィンドウに赤や黄色のマークとともにメッセージが出るので、ここの内容を開発職に伝えればサポートの質や解決の早さが上がると説明しました。

最後にウィンドウの配置について説明しました。これはほかの項目と比べると重要度は下がりますが、Unity内のウィンドウを自由に配置・調整できることを知らずに不便に思いながら、初期配置のままがんばって使い続けている人や、ゲーム画面の前面に置いて、一部や半分遮っているウィンドウをそのままで作業している人を見かけたことがあったので、自分の使いやすいように配置調整できることを紹介しました。

残りの時間は、自前で用意したサンプルを操作しながらコンポーネントやオブジェクトの配置の仕方や、動かし方、いくつかの機能について説明しました。

よりリモートに適した形式で講義を行った

講義を行ううえで気をつけたことについてです。先ほどもお話ししたとおり、基礎についての説明プラス、サンプルを用いた形式の説明を行いました。講義内容をよりリモートに適した形式に変更しています。

例年は、Unity公式のチュートリアルに取り組んでもらっていたのですが、困っている人がいた時に1人ずつ見ていると、順番待ちになってしまってサポートするのが大変ですし、そもそも順番で詰まるのではなくて同時に詰まっていることが多くて、これでは手が足りないんだろうなと思ったので、自前でサンプルを用意して、動くものがはじめからある状態で研修を行いました。

公式サンプルではなく自前にした理由は、自分の説明したい内容に合わせて用意ができるからです。技術研修向けの講義であれば、例年どおりのサンプルを作ってもらってもよかったのですが、企画職や制作職の人もしっかりサポートしたかったのでこのようにしています。

サンプルを用意するにあたって気をつけた部分です。まず、サンプルの制作に凝りすぎないことです。ゲーム開発者であれば、あるあるかもしれませんが、自由にゲームを作ることに夢中になってしまって、自分のメイン業務が進まなくなります。実際気をつけながらも、ついつい時間を溶かしてしまいそうになりました。

また、時間はあまりかけないながらも、すぐ楽しめるものを用意しようと考えました。Unityの基礎に触れるだけであればデフォルトのシーンにカメラやブロックを配置するだけでも達成できますが、それでは楽しくないですし、興味も湧きづらいだろうと思って、動き、音、演出、運要素などがあるゲームとしてブロック崩しを用意しました。一番シンプルなブロック崩しには運要素はないんですが、そこはブロックを破壊した時にアイテムをドロップするタイプを制作することで補っています。

サンプルを通して実習してもらったものがこちらです。まずコンポーネントについては、オブジェクトに貼り付けることで挙動が変わったり、その中にある数値や設定を変更するだけで動きを変えたりできるということや、オブジェクトの配置や位置調整が手軽にできるということは実業務でも特に役に立つので優先的に説明しました。ほかにもスクリプト、物理演算、色の変更、音の変更など基本的なことをザッとやっています。

ほかにもいろいろと話したり、調整したりできるように作成はしていたのですが、全部説明しきるには時間が足りないし、たくさん伝えられても覚えるのが大変だろうなと思って省略しました。

リモートで講義で意識していたこと

ほかにもいくつか気をつけていたことがあります。1つ目は、話についてこられない人がいないかこまめに確認していた点です。講義の合間合間に、トラブルや不明点がないかを頻度高めに確認しました。例えば「これちょっとよくわかっていないんですが……」ということがあれば、それをもうちょっと詳しく調べたものを画面に共有して映して説明したり、トラブルがあって作業が止まった時は、その画面を共有してもらって目視で確実に確認しながら解消しました。

また、質問がしやすいように雰囲気も気にするようにしていました。リモートなので受講者の理解度がわかりづらいところがありました。目の前で会っている時はなんとなく把握できる細かい機敏がわかりづらいので、あまり得意ではないですが、自分のカメラをONにして表情やしぐさで話が伝わりやすいようにしました。また、専門用語は極力使わない言い回しにしたり、イメージしやすいように現実のもので例えて雑談みたいな内容を説明したりしました。

ほかにも、新卒研修の流れの中で発生するトラブルも意識しました。前日に別の講師から受講者にGit研修を行ってもらっていたので、実践として今回用意したサンプルをリポジトリからクローンしてもらうようにしたのですが、1日でGitマスターになるのはなかなか難しいので、なにかトラブルはあるかもしれないなと思って、対応の心構えをしていました。

実際にあった内容が記載しているんですが、Gitの操作に関するものはもちろんあります。それ以外にも、保存場所や保存名を受講者にお任せして「なんでもいいですよ」と言ったら、「なんでもいいと言われたら決められないです」と言われたりしました。

リモート講師をやってみてのふりかえり

講師をやってみたふりかえりです。うまくいった点は、サンプルを用意してよかったということです。休憩中にも遊んでくれている人がいて、興味関心をもってもらえているということがわかってよかったです。また、雰囲気を意識したのがうまくいって、リモートではあるものの受講者が疑問やトラブルを積極的に報告してくれたのはよかったと思います。

うまくいかなかった点は、画面共有の活用方法です。私は画面共有をしていれば、見て真似をするだけなのでけっこういい方法だと思っていたのですが、実際は、受講者がこちらが共有している画面と自分の画面をそれぞれ確認しながら作業をする必要があって、微妙な配置の差などからスムーズについてこられていない人がいたので、ちょっと反省です。

ほかにも、より興味をもってもらうために受講者同士のスコアアタックやマルチ要素など、受講者がもっとリラックスしやすいコンテンツを考慮したほうがよかったかなと思いました。

最後にまとめると、自分でサンプルを用意したのはとてもよかったと思っています。楽しんでもらえたという点ももちろんありますし、説明のテンポを自分で調整できるので、公式のチュートリアルを一からなぞるより時間も工夫できました。

また、話しやすい雰囲気づくりに注力した結果、受講者が積極的に質問してくれてよかったなと思います。ほかにも、画面共有を使っていても、リモート下ではトラブル対応で苦労する点が多かったなと思います。

リモートの対応のうえ、全職種向けの新卒研修の講師を受け持つのは初めてでしたが、サンプルを作ったり自分なりに配慮や工夫を加えて講師を担当できたかなと思います。

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

司会者:武市さん、発表ありがとうございました。企画職や制作職の人がUnityを触ることはけっこうあると思うのですが、体系的に学ぶ機会はあんまりないと思うので、すごくいい研修だなと思いました。

それでは、いくつか聞いていきたいと思います。1つ目が「サンプルを作るのにどれぐらい時間がかかりましたか?」という質問ですが、いかがですか?

武市:かけた時間は、2日から3日です。自分のメイン業務の合間合間にやって、そのぐらいです。

司会者:早いですね。もうちょっと時間がかかるのかと思いました。

武市:もっと凝っていたらもっと増えていくのですが、やりすぎると、さっき書いたとおりあまりよくないので(笑)。

司会者:そうですね。ちょうどいい塩梅ですね。

2つ目が、「リモートでの今回の研修で、Zoomを使われていたと思うのですが、ツール選定の理由はありますか?」

武市:社内での新卒研修は、基本的にMeetを採用しています。これは特別Meetがすばらしいという話よりは、社内で普及しているのがMeetなので、Meetを使っていることが多いのかなと僕は思っています。

司会者:ありがとうございます。あとは「今年はリモートで、2019年とかは対面だったと思うのですが、来年もし対面でできたらどういう感じでやりたいとかは決めているのでしょうか?」

武市:それはほかの人も交えて相談していくことになるかなと思っていますが、対面だったら内容をもっと盛れるだろうなと思います。リモートなので軽くしたところは若干あります。

司会者:リモート下で研修は、やりとりするのがけっこう大変ですもんね。ありがとうございます。