今月も社内 Unity ハッカソンを開催しました

こんにちは、 id:numanuma08 です。10月の中旬から1週間くらい九州にツーリング旅行にでかけました。大きな休みを一発取ると、なんとなく仕事へのやる気が出てくるような気がしますね。

コベリンでは、もう3ヶ月ほど続けて Unity ハッカソンを開催しています。今月も開催をしました。社内のメンバーが各々好き勝手なことをワイワイやっていて楽しいです。

作ったもの紹介

ryohey

今回もチューターとして Unity 先生をしつつ、Voxel でマリオみたいなやつ作るという企画ではじめました。Voxel の3Dモデルを制作するモデリングツール MagicaVoxel を習得するため「まるごとわかる3Dドットモデリング入門」をこなすことを目標としました。

本書は MagicaVoxel の基本的な使い方から、そのモデルを Unity で利用するところまでステップバイステップで丁寧に説明されています。キャラクターのモデルを説明にしたがって作成し、無事に Unity に取り込むことができました。

f:id:ryoheyc:20181113191458p:plain

工夫としては、Mixamo で作ったモーションを複数使って動きに合わせてこれを再生するようにした点です。Unity-chan などでよく見る仕組みでしたが自分で作ったことがなかったので勉強になりました。Mixamo では複数のモーションを付けることができないため、1つづつ FBX (Unity) 形式でダウンロードし、FBX 内の AnimationClip を Ctrl+D で別ファイルとして取り出しました。ボーンの設定はどのモーションでも共通だったので特に問題なく複数の AnimationClip を使うことが出来ました。 また、キャラクターを操作するスクリプトは CapsuleCollider の Rigidbody の操作だけにし、走る、ジャンプする等のアニメーションの制御は別のコンポーネントで実装するように整理しました。 本当は横から見た 2D ゲームにして、ステージを自動生成するつもりでしたがそこまでの時間がありませんでした。キャラクターの動かし方に慣れてきたのが良かったです。

yanac

みなさんこんにちは。 yanacです。 前回のUnityハッカソンでは、Asset を利用してゴリラと人間をフィールドに配置するだけで終わってしまったので、今回はゲーム性の部分に着手しました。

ゲーム性は、プレイヤーのキャラクターとゴリラの距離が一定以内のときにゴリラが接近してくるようにして、プレイヤーはゴリラに囲まれないようにするというような単純なものにしようと考えました。

できたものが↓の動画となります。

今回も実装中にいろいろと詰まったところがありましたが、 ryohey 先生に教えて貰うことでサクサク進めることができました。 ゴリラがやられたときのサウンドにしっくり来るような素材が無かったので、 ryohey の「あ゛え゛ぇぇ゛ぇ」という声をアテレコして貰ったりもしました。

次回はゲームオーバーなど Scene の切り替えをやってみたいなと思います。

numa08


Unityハッカソン 2018/11 numa08

今回作ったゲームは、タイトルをつけるなら「VR 数字探し」です。VR 空間上に作られたフィールドに散りばめられた数字のブロックを、指定されたお題に沿って集めていくというゲームです。

と言っても時間内に完成はしなくて、VR 空間のフィールドに数字ブロックが現れて、そこを歩き回るだけのゲームになりましたがorz

本当は、フィールドの四方に映し出されたディスプレイにお題や、現在集めた数字ブロックの状態、経過時間の表示が行われる予定でした。

VR ゲームにおいて UI やゲームの状態をどこに表示するのかという課題があります。ゲームを中断してメニューを表示するのではなく、画面の中の自然な位置に常に表示をして、没入感を損なうこと無くゲームの状態を表示することができるのではないか?という仮説を検証するためのゲームです。

今回は自分の中で大きな学びがありました。Oculus Go 向けのアプリを開発しているときに、 Unity Editor 上に OVRCamerarRig というカメラを配置しますが、これはこれは Oculus Go などのヘッドマウントディスプレイを被って方向や高さを変更することができるカメラです。そのため、 Unity Editor で開発を行っているときにはカメラの向きの操作ができなくて困っていました。しかし、よくドキュメントを読むと OVRCameraRig には OVRHeadsetEmulator というコンポーネントがアタッチされていて、マウスによる操作が可能でした。

HMD Motion Emulation

上記のページによると

  • Ctrl + マウスの移動→カメラのピッチとヨーの操作
  • Ctrl + alt + マウスの移動→カメラのロールの操作
  • Ctrl + マウスホイール→カメラの高さ
  • Ctrl + マウスの中ボタン→カメラのリセット

ということで、一通りのカメラ操作が可能なようでした。もちろん、激しい動きのアクションゲームの開発を想定するとちょっと大変かもしれませんが、今回作ったゲームの内容であれば、全く問題がないレベルでした。

これからもちゃんとドキュメントを読んで効率よく開発をしていきたいですね。

TakkuMattsu

前回作った筋肉タワーバトルにネットワーク対戦機能をつけていました。

ネットワーク対戦をするのに今回利用したのはUnityで提供されているNetwork Managerを利用しました。

docs.unity3d.com

  • ローカルネットワーク内での同期ができることを確認
  • ただprefabで生成したものを同期するのが間に合わなかった


第三回Unityハッカソン

今回もチューターとして ryohey に色々教えてもらいながら進めて理解が進んだ!
次回は他のネットワークの仕組み(photon)を調べたり、MagicaVoxelを使って自分の好きなキャラクターを作ってみようと思いました。

mironal

MagicaVoxel をいじり始めてコーヒーセットを作ったのでそれを使ってコーヒーを淹れるゲーム?を作りました。

お湯の表現を無料の Asset を使って簡単にやろうと目論んでいたのですが、有料のものばかりで簡単にはできませんでした。

VR 対応したらちゃんと淹れている感がでて楽しそうなのでまた次回もこれをいじろうと思います。

f:id:mironal:20181115143608p:plain