VIVITABLOG

VIVITAで活躍するメンバーの情報発信サイト

Unity、はじめました

こんにちは、エンジニアのやまもりです。

最近、仕事でもUnityをさわるようになりました。
UnityはVIVISTOP柏の葉でどのように活用がされているのでしょうか。
そのあたりを、ほんのり紹介していきます。

Unityさんとの出会い

私がはじめてUnityをさわったのは、学生時代にさかのぼって2012年くらいのことでした。

当時の私は、勉強を兼ねて誰も作らないようなゲームを自分で作って遊ぶ、みたいなことをやっていました。 GLUTからはじめて、SDL+OpenGL環境にうつって、WebGL+WebSocketをためして、それからUnityに辿り着いたように思います。 その頃のUnityはJavaScriptが使えたので、サーバとクライアントで開発言語を共通化できる点がなんか良いな、と思っていました。

Unityを使って作ろうとしていたのは、重厚な対戦型ロボットアクションのゲームでした。 2010年にサービスが終了したクロムハウンズというゲームをもう一度遊びたくて、そのゲームの要素を備えつつ世界観は自分好みに変更した渋いゲームを作ろうとしていました。

ブラウザ上の開発に比べてメモリやプロセスを意識しないで良かったり、自作の拙い物理エンジンとは比較にならない綺麗に抽象化された物理エンジンを利用できたり、各所に並ならぬ感動がありました。

Unityに関する第一印象といえば、そんな感じでした。

Unityさんとの再開

さて、話を現代に戻しましょう。
西暦は2018年になって、私は社会人になっていました。
VIVISTOP柏の葉で子どもたちのやりたいことを全力で応援するような仕事もしています。

VIVISTOP柏の葉での子どもたちの活動は、物理的な工作に向かいやすいです。
しかし、たまにモノではないところに興味をもつ子どもがいます。

あるいは、物理的には実現しがたい規模のやりたいことについて、仮想空間上のシミュレーションを提案することがあります。

そんなときに、子どものやりたい気持ちと学びや成長も考えながらツールを探すと、Unityはとてもバランスの良い選択肢に見えました。 子どもの代わりに大人が作るのではなく、子どもが作るのを大人が応援する。 という立場でみると、ある程度の準備をしておけばコードの概念を理解しなくてもシーンを構築できるUnityはとても扱いやすいです。 その先について考えてみても、ツールを変更することなく個々人の関心と必要に応じながら教えられるので、学習のハードルが比較的高くないような気がしました。

いくつか具体的な事例を紹介しましょう。

Unityさんと柏の葉の子どもたち

マーブルレース

f:id:piccolo_yamamori:20180831140709j:plain f:id:piccolo_yamamori:20180831135634j:plain

まずはこちら、マーブルレース。
彼は普段からYoutubeでマーブルレースの動画を観ながら、オリジナルのステージを紙の上に構想していました。
現場のクルーがその構想を見て、実際に作ってみようという話になり、制作がスタートしました。

彼のステージ設計は緻密で、実装時に部品を配置する際にも電卓で計算した座標を入力します。

すでに最終ステージまで完成していて、次は制作したアプリを使ってボールの順位を予想する大会を開くそうです。

天下統一ゲーム(仮)

f:id:piccolo_yamamori:20180831135645j:plain f:id:piccolo_yamamori:20180831135640j:plain

次はこちらの天下統一ゲーム。
彼は普段の活動で戦国武将や戦国時代にまつわるアイテムの制作をしていました。
マーブルレースやScratchを見て、「自分もゲームを作りたい」と相談してきたときに、プロジェクトが始動しました。

はじめに彼は口頭で様々な構想を話してくれました。 それを一度ノートにまとめてもらったところ、想像を超えて壮大なゲームを作ろうとしていました。 内政と合戦を繰り返しながら日本全土の状況が切り替わっていくRTS(Real Time Strategy)になるようでした。

すべての要素を詰め込むと形が見えるまでに時間がかかりそうだったので、今は合戦のRTSの部分にしぼって制作を進めることにしています。 必要な3Dモデルについては、クルーからMAYAの使い方を教わって自分でモデリングしています。

Unityさんと私

最初、私は子どもたちの活動を支えるためにUnityを少し勉強していました。 しかし、触ってみると思っていたよりも便利そうだったので、自分が抱えている開発にも利用してみることにしました。

VIVISTOP柏の葉には、ノコギリや電動ドリルなど扱う上で注意が必要な道具類がおいてあります。 クルーは安全管理が必要な道具類を子どもたちに貸し出す際、扱い方に関する説明をして様子を見ながら習熟度をはかります。 この一連の流れは現状クルーの裁量に任されていますが、仕組み化したいとの要望がありプロジェクトがはじまりました。

今は誰がどの道具を使っているのか。
子どもがその道具を扱うのに慣れているか。
子どもがその道具を使うのは久しぶりじゃないか。
そういったことが記録から確認できるようにログを残すアプリを開発しています。

Unityである必要性を感じる開発ではありませんが、技術習得を兼ねてUnityで進めています。

f:id:piccolo_yamamori:20180902215317p:plain f:id:piccolo_yamamori:20180902215433p:plain f:id:piccolo_yamamori:20180902215525p:plain f:id:piccolo_yamamori:20180902215613p:plain

おわりに

以上、なんとなくVIVISTOP柏の葉でのUnity利用について書いてみました。

主な用途として、ソフトウェアのプロトタイピングに便利だと感じました。 コマンドひとつで自動化された各工程が実行されるような環境に慣れていると、操作は煩わしくて生産性が低く感じられるかもしれません。 しかし、敷居が低いと感じさせるツールになっていて、共通言語として習得するには悪くなさそうです。 プラットフォームを意識しないで良いのもありがたいですね。

今後はプラグインやアセットを試してみたいです。 Unityはアセットストアに精通すると急に世界が広がるのではないか、という予感がしています。