技術者ブログ – 「Unity」でゲームを作ろう その2

技術者ブログと題して社員が日ごろ取り組んでいる学習内容を紹介します。

「ゲーム最強AI」で人気大爆発の第一ユニットです。前回の予告ではソースコードとありましたが、Unityの特徴を知っていただくためにボールの動きをやってみます。図1の赤いボールは左上から転がり始め、真ん中でバウンドし、転がる向きを変え、左下に落ちていく動きを実装します。

図1:赤いボールが落ちていく

まず、赤いボールに重力を設定します。UnityではRigidbodyのUse Gravity(図2:赤枠)を設定することで、設定された赤いボールは重力を受けて落ちていく動作を実現できます。設定によりボールは重力を受け落下し、坂を転がります。

図2:重力の設定

しかし、重力の設定だけではボールは重力に引かれて落ちるだけなので、バウンドしません。次にバウンドさせるにはPhysic Materialを設定します。これはボールが接触した時の摩擦や反発といった物理挙動の設定です。バウンドはBounciness(図3赤枠)を設定することで実現できます。

図3:バウンドの設定

このようにソースコードを一切記述することなく、設定を付与するだけで赤いボールが重力で落下し、床にバウンドしながら転がり落ちる動きが実現できました。また、ボールの色の設定には図2にBollColerの項目があるように赤い色も設定しており、あなたのお好みの色に変更することもできます。

では、次回をお楽しみに。

技術者ブログ – 「Unity」でゲームを作ろう

技術者ブログと題して社員が日ごろ取り組んでいる学習内容を紹介します。

「AIで最強のカードゲームを開発してる」第一ユニットです。というのは半分冗談として、弊社開発のカードゲーム「HelloWorld」のスマホ版作成で利用した「Unity」の紹介です。2005年にユニティ・テクノロジーズによって開発されたゲームエンジンです。昨今のスマートフォンゲームのほとんどがこの開発環境によって作成されています。開発言語はC#が一般的となっています。

Unity公式サイト https://unity.com/

ゲーム開発は敷居が高いと思われがちですが、このツールが支持されるのは下記の理由があります。

  • 個人や年商10万ドル(約11万円)以下は無料
  • マルチプラットフォームに対応
  • 他のツールとの相性がよい
  • 全世界で利用されているため、情報が沢山ある
  • アセットストアで素材が入手できる

昔はゲーム開発には高価なライセンス費用がかかりましたが、誰でもゲームが無償で作ることができるようになりました。また、AndroidやiPhoneを意識することなく開発できます。今回は利用していませんが、モデリングツールとの連携が容易となっており、インターネットの記事や関連書籍も豊富です。アセットストアは開発環境内でオブジェクト画像や効果音などさまざまな素材(有償素材あり)を利用できます。

では、実際の開発画面を見てみましょう。ゲーム画面に視覚的にオブジェクト(カードやゲージ等)の配置場所を設定でき、基本的な処理は右の設定値を変更することで動きを表現できます。細かい設定や処理はソースコードを記述し、オブジェクトの紐付けを行うことでゲームを作成します。

Unity開発画面

ゲームを遊ぶだけでなく、自分で作りたくなってきませんか?実際に作ってみると、あの有名ゲームはこんな感じで作ってるんじゃないかなと思ったりしちゃいます。次回は実際のソースコードの記述を紹介したいと思います。

社員紹介(3)

恒例の社員紹介も3人目となります。
どうも、「キトサン」でーす。

肩書
第1ユニット リーダー

経歴
大学時代のサークルでパソコンと出会い、IT業界に入りました。
もうすぐ社会人二十歳を迎えようとしています。代表はフレッシュマン時代から先輩でした。
当時、Javaの開発環境がそれほど整っていなかったので、javacコマンドを使っていました。

現在の業務内容
Web系のJavaを得意としていますが、現在は設備システムのバッチ処理開発を担当しています。
お客さまの要望をいかに実現するか、業務を効率良く行うにはどうしたらよいか、コストは削減できるのか?
経験を活かし、業務に役立てようと奔走しています。

自己アピール
写真撮影に凝っており、「被写体は待ってくれない」をモットーに、常にベストな状態での撮影に心がけています。残念ながら、腕がついてきていません。
週末は被写体を求め、東奔西走しています。え、それは何かって?・・・今は「ヒ・ミ・ツ」です。
マイブームは「いちおく~」ということで、いくつか写真を紹介します。

写真はいかがでしたか。
次回はどんなメンバーかな?お楽しみに。