【TECH BLOG #35】「Unityによる3D開発」のカリキュラムを実施してみた

GWも終わり、夏の気配が近づいてきましたね。
久しぶりにTechブログが回ってきました。
グリーエンターテインメント株式会社エンジニア部 シニアエンジニアのNです。
【TECH BLOG #32】にて、エンジニア部で取り組んでいるエンジニアによるエンジニアのための技術力向上勉強会「エンジニアカレッジ」について取り上げましたが、今回はその中のカリキュラムのひとつ、”Unityによる3D開発”で実施した内容について綴っていきたいと思います。
準備について
エンジニアカレッジの取り組みそのものが初めてでしたので、リーダー陣でどのようにカリキュラムを組んでいくのかということを検討しました。
最初の頃はまだ明確なゴールもなく、メンバーにUnityによる3D開発のためのスキルを身に付けてもらうにはどうすればよいのか?と手探りでリサーチしてました。
Unityは書籍もたくさん出ており検討した結果、下記を教材として使用することにしました。
● Unityの公式ドキュメント
● Unity Learn https://learn.unity.com/
● Unity Learning Materials https://learning.unity3d.jp/
● Youtube Unity Japan公式チャンネル https://www.youtube.com/c/Unity3DJapan
サンプルが豊富で、ステップごとに学習できる項目があるなど、メンバーが素早く検索でき、自力でスキルアップするのに向いてると思い、これらを中心にカリキュラムを構築しました。
実施について
エンジニアカレッジは普段の業務をこなしつつ、スキルやナレッジ取得の時間を確保して行う取り組みです。
なので、メンバーが集まって資料を元にワークショップを行う、という形式で隔週ごとに1時間、時間を確保しました。
しかし、実質その時間内で資料の内容を実装するには、Unityや3Dグラフィックスの前提知識が必要になります。
グリーエンターテインメントのエンジニアメンバーは、いろんなプロジェクトや前職を経て集結した経緯もあり、各人が持つスキルやナレッジが非常にユニークです。それがこの会社の強みでもあるのですが、スキルアップの学習においてはメンバーの共通認識に重点を置かなければいけない、という課題が生まれました。
現在は事前にカリキュラムの内容を事前に告知して、予習や課題をこなしてもらいワークショップ時に発表してもらったり、わからなかったことを質問したりする内容で行っています。
テーマ
本カリキュラムのテーマは「Unityによる3D開発のためのスキルを身につける」としましたが、カリキュラムを開始するにあたって、できるだけ新しいバージョンで今後のスタンダードとなる技術を身に着けよう、という意向を強く持っていました。
これまでの社内プロジェクトでは基本的にレンダリングはBuilt-inを使ったこともあり、今後主力となるScriptable Render Pipeline(SRP)を使った開発をまず実践してみよう、というところで全9ヶ月に及ぶカリキュラムの第1四半期では、以下を実施しました。
第1四半期
・Unityドキュメント、グラフィックスの項読み合わせ
・FrameDebugerの使い方
・SRPでレンダリングパイプラインを理解する
・Universal RP ひとめぐり
・Visual Effect Graphを触ってみよう
また第2四半期以降のカリキュラムは以下の通りになります。
第2四半期
・アニメーションの基礎を理解する
・Timeline
・Cinemachine
・「揺れもの」を理解する
・総まとめ。自由課題
第3四半期
・Universal RPでのポストエフェクト入門
・カメラスタッキング
・ShaderGraphでエフェクトを実装
・ShaderGraphによるアウトライン実装
・おさらい。自由課題
教材の例
▼出典:パーティクルエフェクトが超進化する! Visual Effect Graph の基礎と応用 – Unite Tokyo 2019【Unity Japan】
▼出典:Lesson 4.1 – タイムラインの作成とキーフレームアニメーショントラックの追加【Unity Learn】

▼出典:Lesson 5.2 – Cinemachine を使おう【Unity Learn】

▼出典:Unity-Technologies/UniversalRenderingExamples【GitHub】

その他、技術系ブログや講師陣が作成した資料を教材として使いました。
エンジニアカレッジを終えて
おおよそ9ヶ月、さまざまな業務をこなしながら、リーダー陣、参加メンバーも頑張ってカリキュラムを履修してくれました。
振り返りでも、負担が大きかったことや、課題の自由度が高い分考える時間が多いなど、メンバー各人が抱えるプロジェクトの状況によって相当ハードだったことが伺えました。
一方で、業務では触れることができなかったUniversal RPやShaderGraph、ポストエフェクトに触れる機会があってよかったなど、新しいことを習得することが楽しかったなど、前向きな意見も多く聞くことができました。
エンジニアカレッジの今後は一旦振り返りを行った上で検討中ですが、Unityによる3D開発能力の向上のためにまだまだ取り組みたいことがたくさんあるため、何らかの形で今後も学習機会を提供していく予定です。
まとめ
グリーエンターテインメントにおいて個人のゲーム開発スキルアップは、普段の業務を通じてだったり、WEBや書籍などで独学でナレッジを獲得する、またカンファレンス等で生きた情報をキャッチアップするなどが主でした。
しかし、複数のメンバーで一緒のカリキュラムに取り組む手法は、知識ベースがバラバラだったメンバーに、共通のナレッジと意見を交換し合う連帯感、という新しい土壌を築くことができたと思います。
私達リーダー陣もエンジニアカレッジに取り組んでみてから、いろんな壁にぶち当たりましたが、社内教育の視野が広がったと思います。
もし、社内教育について悩んでいるリーダーがいらっしゃいましたら、まずは何でもよいので始めてみて、参加メンバーと話し合うことをオススメします。
「負うた子に教えられて浅瀬を渡る」という諺がありますが、独断を突き進むだけでは見えない新しい地平が見えるんじゃないかな、というところで結びます。
最後まで読んでいただきありがとうございました。
本件に関するお問い合わせ先
グリーエンターテインメント株式会社 広報担当
東京都港区六本木6-11-1 六本木ヒルズゲートタワー
E-mail:info-ent@ml.gree.net