Devinを利用してUnityでプロトタイプ開発してみた
はじめに
口頭やドキュメントで「こんな体験ができます」と説明するよりも、実際に動くものを触ってもらうほうが理解を得やすいという場面がよくあります。
そのため「まずは簡単なデモを作って体験してもらい、アイデアをブラッシュアップしたい」というニーズは少なくありません。こうした要件に応えるには、素早くプロトタイプを作り、チームやクライアントと共有することが重要です。
そこで今回、DevinがUnityアプリの開発をどれくらいできるか試してみました。
アプリの内容自体はWebで調べれば実装方法がわかるようなシンプルなものに留めつつ、Devinを使うことでどの程度スピーディに形にできるのかを検証してみます。
Devinの詳細については、MESON で Devin を導入してみました を確認してみてください。
試してみた内容
今回、同じアプリを以下の2パターンの指示の仕方で作成してもらいました。
1. 作ってもらいたいアプリの内容のみを伝える
以下の要件に従って、アプリケーションを作成してください。
# アプリケーション要件
- Unity を使用する。
- 新規の Unity プロジェクトを、GitHub の「DevelopmentWithDevin」リポジトリに登録済み。
- PCのWebカメラから映像を取得し、シーン内のQuadプリミティブに表示する。
- PCのマイクから取得した音声をスピーカーから再生する。
この指示で、以下の画像のようなPRを作成してくれました。
シーンファイルは作成してくれませんでしたが、使い方のドキュメントを作成してくれています。
使い方に従ってシーンを作成すれば、指示した通りのアプリケーションが動作しました。
Devinがプルリクエストを作成するまで、5分程度でした。
これでも、スクラップ&ビルドするプロトタイプと考えると十分だと思います。
2. アプリの内容だけではなく、フォルダ構成や設計思想も含めて伝える
以下の要件に従って、アプリケーションを作成してください。
1. 目的
- PCのWebカメラから映像を取得し、シーン内のQuadプリミティブに表示する。
- PCのマイクから取得した音声をスピーカーから再生する。
2. 開発環境
- Unityを使用する。
- 新規のUnityプロジェクトを、GitHub の「DevelopmentWithDevin」リポジトリに登録済み。
3. プロジェクト構成
- Assets フォルダ直下に、_Project フォルダを作成する。
- _Project フォルダ以下に、必要に応じてアセットの種類ごとにフォルダを作成し、作成したアセットはその下に配置する。
例として以下のフォルダを作成する場合がある:
- Scenes: シーンファイル
- Scripts: C#スクリプト
- Materials: マテリアル
- Textures: テクスチャ
これ以外にも、アセットの種類に応じて適切な名前のフォルダを追加してよい。
4. 実装内容
- シーンにQuadプリミティブを配置し、Webカメラ映像をテクスチャとして表示する。
- マイク入力を取得し、スピーカーからリアルタイムで再生できるようにする。
5. プログラム設計の留意点
- スクリプトは、SOLID 原則に従うように留意する。
- エントリポイントとなるクラスを App とし、これは MonoBehaviour を継承する。
- それ以外のスクリプトは、なるべく MonoBehaviour を継承しないピュア C# クラスとして記載する。
この指示で、以下の画像のようなPRを作成してくれました。
フォルダ系のmetaファイルが空ファイルになっていたため、Unity起動時にエラーが発生しましたが、該当のファイルを削除した上で起動すると、Unityのシーンも作成され、そのまま実行できるシーンとなっていました。
また、スクリプトも「プログラム設計の留意点」に従ったものになっており、個別にリファクタリングのお願いをすれば使っていけるものになっていそうです。
こちらも5分程度でプルリクエストを作成してくれました。
まとめ
作って欲しいものの仕様、フォルダ構成や設計について細かく指示をすれば、それに従ったアウトプットを短時間で作成してもらえることが確認できました。
非エンジニアでも、Devinにエンジニアタスクをお願いすることで、プロトタイプ開発が主導できそうです。
また、上記の指示はSlackで行なっていますが、プログラムは、Visual Stuido Codeのプラグインを利用することで、コード指定で指示もできるため、リファクタリングをする際に便利です。
スピーディーに品質の良いアプリケーションを作成していくために、これからも活用していきたいと感じました。
エンジニア絶賛募集中!
MESONではUnityエンジニアを絶賛募集中です! XR、空間コンピューティングのプロジェクトに関わってみたい! 開発したい! という方はぜひご応募ください!
MESONのメンバーページからご応募いただくか、TwitterのDMなどでご連絡ください。
書いた人
高野 剛
Unixシステムのインフラ構築・運用を経験後、ECサイトを中心としたWebアプリ開発、プロジェクトマネージメントに従事する。
ミニオン好きが高じて、USJに通い続ける中、XRアトラクションに魅了される。
自分が感動したことを他の人にも体験してもらいたいという思いから、転職を決意し、XRの学校での1年間の学びを経てMESONへ入社。
MESON Works
MESONの制作実績一覧もあります。ご興味ある方はぜひ見てみてください。
Discussion