chaba log2

2014/11/28

Unity + NetworkView / Photon

カテゴリー: ゲーム, 開発 — タグ: , , — chaba @ 17:35

今度は対戦だ!ということでUnityのネットワークを調べてみたら、とりあえず自前の「NetworkView」があるらしい。基本的にオブジェクトそのものをネットワーク間で共有するもので、オブジェクト表示以外のアレコレもRPCを介することで可能になる模様。ネット上にサーバを用意する必要もなく端末間のみで構築可能で複数端末も可、なのもいいけど、それだけにというか端末の1つがサーバとして構えて他がクライアントとなる形。なので屋内で全端末が同じLANにぶら下がっている形ならまだしも、グローバルなネットプレイとなると厳しそう。特に3G回線のモバイル端末がサーバになった日にはいろいろ大変なことになりそう。あと接続時にサーバのIPが必要ってのも何気に(利用者の)ハードルを上げてる気がする。
そんなわけで代替策としてよく使われているのがPhotonらしい。外部の業者が用意しているもので、無料から有料までいろんなプランがあります。無料だと同時接続20ユーザーまでとか制限があるけど、テストするには十分ですよね。そこから100ユーザーとかそれ以上のスケールアップにともなって料金いろいろ。スマホの商用ネットゲームにもいろいろ採用実績があるらしい。そして外部サーバが用意されるので、接続端末は全部クライアントとなってサーバ端末が落ちたら終わりってことにはならないのが最大のメリットっぽい。とりあえずこのサイトなど参考にサンプルを組んでみましたが、さくっと動いてくれました。そしてAssetStoreからPhotonプラグイン?を落とすのだけど、無料版だとモバイルに出力できないけど、$95の有料版を使えばiOS/Androidにも出せるようになるとのこと。コレ買うとついでに100ユーザー同時接続権も付いてくるそうな。
とりあえず手軽に試すなら純正のNetworkView、しっかり作り込むならPhotonといったところなんでしょうかね。両者とも、サンプル動かすぶんにはさくっと繋がりました。NetworkViewに関してはandroidも普通にいけた。

uninet
画像無しも寂しいので貼ってみますが、すげえゴチャゴチャしてわかりにくいですね。内容も地味で殺伐としてるし。
NetworkViewのサンプルなんだけど、デスクトップの画面の手前にMacbook、さらにその前にNexus7を置いてサーバ+2クライアントの形で動かしています。それぞれを動かして弾を吐くところまでは動きました。
同一PC内で複数起動も可能なのだけど、どうもNetworkViewでは描画が上手くいかないようで最前面画面以外がおかしな感じになってました。別端末からだと普通に動かせましたが。この点、Photonだと同一端末内でもちゃんと描画が追随してました。

2014/11/23

Unity + LEAP motion

カテゴリー: ゲーム, ツール, 開発 — タグ: , — chaba @ 16:11

leap00
LEAP motion、いわゆるフリスクケースぐらいの大きさで、センサーで手先の動きを取り込める機器です。だいぶ前に入手してはいたのだけど、ちょっとデモ見たぐらいで放置してました。unityづいている最近、コレもunityから使えるらしいということで試してみた。

leap01

使ったのは「日経ソフトウェア」2014/12の記事です。先月号ですね。とりあえずAssetStoreから落としたオッサンをunity内に配置、添付のモーションを付けたりスクリプト書いたりする。

leap02

でLEAPが使える状態で動かしてみると、自分の「手」が画面内に登場します。ここでは左手をかざしており、ロボっぽい手になってますけど、いろんなスキン?が選択も可能。リアルな肌の手も、白人やら黒人やらいろいろです。もっとワイヤーフレームなCG然としたものも。

leap03

これを画面外から見るとこんな感じに。今度は右手。なんだかホラー映画みたいな構図になっちゃってますが。このデモでは、オッサンに設定した感知範囲に手が触れるとジャンプするという内容で利用法のサンプルを示す形です。

確かにいろいろ使い道はありそうなのだけど、いまいちまだ正確ではない感じも。あとセンサーの感知範囲がさほど広くないし、指先を正確に取り込まれるには手のひらをセンサーと平行にしたほうがよさげだったりとか、入力そのものにちょっとコツもある感じです。それにPCのスペックも結構要求するようで、すぐにファンが爆音を鳴り響かせたりとか。ハイパワーなPCだったらもっと細かく正確に取ってくれるのかもしれませんが。
DurovisDiveとかのヘッドマウント系をやってるとタッチ操作できないから一つの解決策としてLEAPもアリかと思ったりもしたけど、考えてみたらLEAP自体がPC接続前提ですものね。OculusRiftがLEAP対応するというけど、アレもそもそもPC接続が前提ですし。その環境でUnityにも対応しているようだけど、ここで使えるのはUnityPro、すなわち有料版のみです。将来的にはFree版にも対応するとかなんとかですが。
とか思ってたら、LEAPのメルマガでなんかandroid対応機器?のKickstarterが紹介されていて、メルマガ内でもLEAPのandroid対応がアルファテスト段階だとかなんとか言ってるような気もする。非力なモバイルでどの程度動かせるんですかね。いずれにせよ、採用するならあまり細かい検知はできない前提でってところでしょうか。

とりあえず、上記サンプルと同じ号の日経ソフトウェアでunity-chanのゲームサンプルもあったりして、なかなか勉強になってます。

2014/11/18

Unity + Durovis Diveその3

カテゴリー: ゲーム, 開発 — タグ: , , , , — chaba @ 15:39

そういえばunityってマップツールがあった気がして、せっかくだからもう少し作り込んでみるかと思って調べたらありました。その名はTerrian。主にこのサイトなどを参考にさせていただきました。そこにも記されている通り、
・Terrian:マップ作る
・SkyBoxes:背景の空を付ける
・Character Contoroller:基本的なキャラクターの移動をサポート
標準で付いているこの3つを入れるだけでとりあえずゲームっぽいベースができます。

unimap03view

こんな感じに。CharacterControllerは見えてませんが、これを入れることによってキーボードやゲームパッドからの入力でカメラを伴った移動ができるようになります。つまりこの3D空間の中を自由に動き回れることに。これとSkyBoxesは使ったことあったと思うけど、Terrianは初めて使いました。そしてびびりました。なんだコレすげえ。ペイントツールみたいにぐりぐり描くことであっという間に高低差のある地形が作れます。木を植えたりもできる模様。以前何かの本で見たことある気はするのだけど、そのときはマップ作る必要ないやーと思ってスルーしていました。ちゃんとチュートリアルやってみるもんですね…

そしてこれにいつものDurovisDiveカメラを入れると2画面になって立体視に…なるんだけど、どうもおかしい。CharacterControllerと操作系やカメラ処理がだぶるのでいろいろ混乱してる感じになってしまいます。なのでこれはスクリプトだけでも自力で書かないといかんのかなと思ってたら、Durovisのサンプルの中にあった「Durovis FPS Player」、これをスクリプトごと拝借して通常のカメラやCharacterContorollerを廃したらうまくいきました。

unimap03view2

そしてついでにNexus7とPS3コントローラの有線接続も成功。これで操作自体は快適なのだけど、しかしインストールするのにPCと接続しているケーブルをいちいちコレと差し替えないといかんのが難点といえば難点。

しかしそれにしても、前回のしょぼい迷路からすると映像の説得力が雲泥の差ですね。一気に「それっぽい」感じに。Terrian恐るべし。

2014/11/14

unityとスマホで簡易VR

カテゴリー: ゲーム, スマートフォン, 開発 — タグ: , , , , — chaba @ 13:14

そんなわけで、スマホで簡易VRを実現できるdurovis diveの続き。前回はunity-chanデモを表示しただけだったので今回は少しでも何か作って動かそうということで。
とりあえずunity上で何か作ります。しかし定期的にunityちょっといじっては放置して忘れ、また調べ直して…と繰り返しているのでちょっと作るだけでも一苦労だったりするのは余談。

unity20141114

とりあえず迷路っぽい感じで。ここにdurovis diveツールからカメラを入れて、あれこれ設定の後で出力することでこの通り(↓)。ちゃんと両目映像が出て、デバイスの動作に視線が追随します。

unity2014111402

iPhone5Cで、ついでにコントロールにSTRATUSを使ってみました。普通に使えます。androidでも、bluetoothの外付けパッドが普通に使えました。ただ、どちらも左アナログスティックが有効なのだけど十字パッドは効かないみたい。
durovisのカメラにより向いている方向に前進とかできるので、カメラを装着した体を向けた方向にひたすら前進できます。これ、左右回転をパッドにも付けるかデバイスの向きだけにするかは試行錯誤どころですね。あと今のところひたすら前進後退するだけで壁判定も何も無いので、そのへんをどうにかしてあと敵キャラとか得点源とか付けたらいちおうゲームらしくなりそうだな。

スコープ装着すると画面を触れないので外付けコントローラを使ってみましたが、何とかなりそうな感じです。「サマーレッスン」だと首を上下・左右に振ることでyes/noを表現できるようにしていたようだけど、コントローラ操作は無いのかな。やっぱり現実感を出すにはコントローラは邪魔なのか。そうなるとLEAPとかを入れるのがいいのかなあ。まあスマホ利用でいくとなると画質自体がコレだから現実感とか言ってる場合じゃないとは思いますが。
あとandroid用に安いbluetoothパッドを買ってみたのだけど、使えたことは使えたけどアナログパッドがチープすぎて使いにくい。どうもPS3コントローラを繋ぐこともできるらしいので、変換ケーブル用意して試してみたい。

unity2014111403

ところでいつの間にかスマホ装着スコープが増えてました。左からハコスコX、ルクラス、前回も使ったVR BOXです。ハコスコはamazonで1000円とかで売ってますが、コレは雑誌「xReality」の付録バージョン。この雑誌はホリエモン氏が誌面に出まくっており、VRなどをテーマにしたいろんな人との対談とかが載っています。でハコスコ、コレは他2つとはちょっと違っていて、レンズが左右に分かれていないのです。cardboardやdurovis dive、ルクラスそしてVR BOXといった機器?は、oculus riftを参考にスマホに左右分割画面を表示しておいてそれをのぞき込むことで立体視を実現するものですが、ハコスコは分割されない単画面です。で映像としては実写で360度全方位を撮影したものを投影し、装着した視聴者がその場でぐるぐる回ったり首を振ったりするのに対応して視線が変わるといった作り。なので立体視は無いけどそれなりに臨場感があります。水着美女10人に囲まれるってのはなかなか薄ら寒い印象でしたが。
そしてルクラスはVR BOXと基本的に同じ構造なのだけど、素材が段ボールで両目の間仕切りが無いのが主な相違点。間仕切りが無いと立体視はきついんじゃないかと思ったけど、実際見てみるとそうでもなくて、あまり気にならずに立体で見えます。ただ視界の端っこに切れ端が見えてしまうのは確かですが。あとVR BOXよりちょっと高い。けど見比べると何となくキレイなような気もする。レンズがいいのかな。このへんよく分かりません。
で、どの機器にも言えることですが、やっぱり酔います。上記の自作unity迷路もすぐ辞めるレベル。3Dでないハコスコでもすぐ調子悪くなってくるのであまり長時間鑑賞は出来ません。これも端末性能が上がれば改善するんですかね? oculus riftやmorpheusだとフレームレート・解像度の向上でだいぶ違うという話ですけども。

2014/11/03

cardboard とか

カテゴリー: ゲーム, スマートフォン, 開発 — タグ: — chaba @ 03:31

Googleのcardboard、段ボールで作ったケースにスマートフォンをはめ込んで専用アプリを再生することでVR表示を行う、OculusRiftやソニーのMorpheusの簡易版みたいな感じ、らしい。Googleのことなので箱だけじゃなくてSDKも配布してくれてるのだけど、しかしコレ、6月のイベントで発表されていたようなのだけどつい最近まで認識していませんでした。で、いざ認識してみると、コレってわりと端末がお高い感じがしていたVR機器がわりと安価に手元に来るしインディーズ開発がすげえ面白いことになるんじゃねえの!?と数ヶ月遅れて今更ながら興味を惹かれた。
で、いろいろ調べているとこのSDK、わりと煩雑っぽい。と思っていたらDurovisDiveっていう同じようなスマートフォン合体機器があって、こちらは段ボールじゃなくてしっかり作ってあるのでそれだけ値段もするのだけど、こちらも開発ツールが公開されていてしかもUnityのプラグイン。なのでUnityで作ればだいたいそのままVRアプリになるという算段。それで同様のスマートフォンはめ込み系はいろいろ出ているようなのだけど、その中でVR BOXがわりと作りもしっかりしていてお値段も手頃なので注文してみた。なんか注文殺到していたらしくしばし待たされたけど、ようやく届きました。

vrbox

cardboard同様の平面で届くので、組み立てるとこんな感じに。cardboardの場合はPDFをプリントすることで自作できるのだけど、紙本体はともかくレンズが揃わなかった。100円ダイソーにあるルーペでいいらしいのだけど、家から近いダイソーでは見つけられず。
そんなVR BOXで、さっそくdurovisのサイトからアプリを探して、iOS版がある中からThe Houseてのを試してみた。…おお立体だ!ちゃんと動作に視界が追随してくる!と感動したけど、すぐに酔った。体調があまり良くない状態だったのも手伝ってか、あっという間に乗り物酔いの症状に。あまり3D酔いはしないほうだと自覚してるのだけど、そういえばOculusRiftを試したときもわりとすぐ酔ったな… 調子に乗って視界を振り回してると良くないのかもしれない。ジェットコースターみたいな、動きが激しいものほど体にGを感じないけど視界ばかりがぶんぶん動かされるのでひどい酔いに襲われるって話ですね。

初体験はわりとよろしくない印象になってしまったけど、まあお手軽にVR体験できるのは間違いない。それでせっかくだから赤い扉、じゃなくてUnityも試してみようということでこちらのサイトなどを参考にunityにインポートしてみた。そちら同様にunity-chanデモをベースに、カメラだけ入れてみたらそれだけで両目視点になっちゃいました。せっかくなのでandroid設定して出力してみた。

chantest

unity-chan、VRでNexus7に立つ! ちゃんと振り回すと視点が変わるよ! Nexus7なので筐体がでかいからVR BOXには設置できず、しかしそれ以外の手持ち端末でジャイロ持ちが見当たらないという苦しい状況に。iOSだと若干設定が面倒なので… androidはすぐに実機で動かせるのはいいですね。公開も気軽だし。…ジャイロ付きで安い端末ってあったかな。
これでゲームやるには手元にコントローラが欲しいところだけど、今時のunityなら普通にiOS用ゲームパッドが使えるようですね。あーでもコレだとandroid用にはまた別にやらんといかんのですかね。
まだunity自体がおぼつかないので何か作ろうとしてもさっくりとはいかないけど、しかしVRを作るにも遊ぶにも、手軽な環境が手に入ったのは嬉しいところです。
…cardboardとか、と言いつつcardboard自体には全く触れてないところがオチ。

2014/06/02

unity-chan

カテゴリー: ゲーム, 開発 — タグ: , , , — chaba @ 07:56

unitychan00s

ついに我がデスクトップにもunityちゃんが降臨。そもそもは日経ソフトウェアにUnity for PSMの記事があって、その中でのサンプルとして使われてたのだけど、実際やってみたらパブリッシャーアカウントが未取得だったのでVITAへの転送まではできずデスクトップ止まりだったというオチ。
PSM以前のPSSの段階でデベロッパーアカウントは取っていてそれが今回も有効だったのだけど当時有料だったパブリッシャーまでは取ってませんでした。それでパブリッシャー申請をしてみたのだけど機械的にすぐに通るものでもないらしく審査ステータスで止まってます。PSSのときにVITAへの転送はできた気がするのだけど、あれはまだパブリッシャーアカウントまで必要無かったんだっけ。実際ストアに出さなければ不要だったんですかね。とりあえず今回unity対応するにはパブリッシャーが必要になっているようです。だいぶ前から無料になってたのでさっさと取っておくべきだった。
でこのunityちゃん、普通にサンプルプロジェクト読み込むだけで基本的なアクションやってくれます。ボイスも大量に付いているし、もう至れり尽くせり…なのかは正直解らない。キャラクターモデルの使い方とかよく解らんし… まあこれを機に勉強させてもらえればいいのだけど。

2014/03/02

Mk Game Jam #1

カテゴリー: イベント, ゲーム, 開発 — タグ: , — chaba @ 06:57

昨日、Mk Game Jam #1に参加してきました。IGDAの南九州支部を作るということで先日のGGJから告知されてましたが、その第一回イベントみたいな位置づけでしょうか。とりあえず半日でゲーム作ってみようぜ的な。相変わらずというか私以外はほとんど情報系学生さんだった気がしますが、そもそもは東京新宿でのcocos2d-x jam #1との併催という形だったのだけど、新宿で23名ぐらいの参加者で鹿児島で10名ほどだというのは頑張ったほうなのかもしれない。それにしても平均年齢をひとりで上げまくっているのはいつものこと。
で、学生さんが多いということでそちらはGameSaladによる開発に。私は何故かガチPGやれということに。であと2名チームに加わってくれた人たちにデザインを任せてcocos2d-xによるパズドラもどきを作ろうということにしましたが、…いやーうまくいくもんじゃないですなごめんなさいごめんなさい。COM対戦でパネルを消すごとに攻撃が行き交ってHPを削りきったほうが勝ちだとか消す色ごとに効果が違うとか、ゆくゆくは対人戦も有りかもなーとかいろいろ考えはしたのだけど、とてもじゃないけど無理。というかソロプレイの範囲もまともにできませんでした。なんとかパネルを並べて動かして消すところまではいけたけど、何度か消しているとパネルがワープしたり穴が空いたりといろいろ不具合が出まくりで。まあ作って貰ったデータを入れて動かして消すところまでは見せられたのでなんとか体裁は整えたといったところですかね… 素直にFlappyBird路線で行った方がよかったか。
この南九州支部ことIDGAmk、これから継続的にイベントやっていくようですので可能な限り参加していきたいところです。ただまあ、周囲が若い人ばかりだと高齢者が老害を振りまいているだけなんじゃないかっていう懸念はぬぐえないのですが。GGJだとまだ古いゲームの話とかもできたけどなあ… 今回は半日で終わりだったのであまり突っ込んだ話もできなかったせいもあるか。

2014/01/27

GGJ2014

カテゴリー: イベント, 開発 — chaba @ 04:50

GGJ2014に参加してきました。この手の開発イベントとしてはKagoHack以来なのだけど、日中ならということで参加。徹夜前提のイベントだと無理なんだけど、と言いつつ今回も各会場は終日開いているところがあったり各自で夜を徹して頑張ったところもあったみたいです。
例によっていささか緊張しつつの参加でしたが、結果から言うとなかなか楽しかったです。意外だったのが参加者の若さで、20名近くの参加者の半分ぐらいが情報系専門学校の先生と学生さんたちでした。鹿児島会場の主催団体の構成員がそこの後輩を呼んだ形だったのか、おかげで若々しい賑わいがありました。で3チーム組まれたのだけど、私もその専門学校で使っている開発ツールを使うことに。VisualStudioに独自のライブラリをかぶせてDirectXをかなり簡単に使えるようにしている感じで、基本的な部分はほっぽって組むことができました。まあ最初はよく解らなかったけど。コード分担も敵キャラの動きだけを割り当ててもらいましたが、メインPGとなった先生はものすごい勢いで組んでた。
いちおう48時間で他のメンバーによるデザインも取り込んだりしてそれなりに体裁は整えることができたんじゃないでしょうか。他のチームもそれなりに仕上げていたようです。締め切り時間後に他の会場でのゲームを試遊しているのをいくつか見ましたけど、どこも荒削りながらそれなりに仕上げている様子でした。
KagoHackのときと違って一人でガリガリ書いていたわけじゃないけど、皆で協業する感じを久々に味わえました。学生など若い人たちと話す機会も普段なかなか無いですし、いろいろ貴重な経験をさせて貰えました。運営されたHASKYさん(会場も提供)、ありがとうございました。チームメンバーはじめ参加者の皆さんにも感謝。これから鹿児島でもゲーム開発が少しでも盛り上がるといいですね。

あと直接関係無いけど、現場にOculusRiftを持ってきている人がいた。現物を初めて見た。もちろん初体験させてもらったけど、これ確かにすごいわ。記事とか他人の体験を見ていて、まあすごいんだろうなーとか思ってたけど、実際に体験するとすごさがよく解る。決して高解像度ではなくてそこまでフォトリアルじゃなく普通にCGに見える画像なんだけど、十分に体感があります。高いところから下を見るとキュンとするアレが体験できるレベル。ジェットコースターのデモが再生されていたのだけど、早々に辞退してしまった。しばし体験していた人は本気で乗り物酔いを覚えてしまった様子だったりとかで威力がすさまじかった。視覚だけで十分に身体感覚が騙されてしまうんだってことを実感しました。

2013/09/28

OSシェア

カテゴリー: 携帯電話, 開発 — タグ: , — chaba @ 04:55

iOSとAndroidのOSシェアってどうなってるんだろうと思ってぐぐってみたらこんな感じだった。
以下データを引用しますが、2013/8の段階でiOSは6.xが90.8%、5.xが7.9%、4.xが1.3%。相変わらず恐るべきアップデート率。iOS7はどうなんでしょうね、だいぶ外見が変わるのですぐに多数派になるかどうかは…?
そしてAndroidは、2013/9/19の調査で2.2が2.4%、2.3.xが30.7%、3.2が0.1%、4.0.xが21.7%、4.1.xが36.6%、4.2.xが8.5%。なので4以降だけでも66.8%を占めることに。しかし2.3はまだ3割ということで無視はできないか…

ちなみにiOSの端末シェアでは4/4s/5がそれぞれ3割ちょっとを占めていて、3GSが3.4%なのでもう世間はすっかりRetinaが普通になってますのね。5以降の縦長画面が主流になるのも時間の問題か。

2013/09/15

LEAP MOTION 使ってみた

カテゴリー: ツール, 開発 — タグ: — chaba @ 13:57

先日のKAGOMUG定例会以来気になっていたLEAP MOTION、入手して使ってみました。直販でも1万ちょっとで買えるみたいだけど個人輸入っていつ届くのか解らないので、amazonで業者から12000ぐらいで買ってみました。出てすぐは16000円を超えていた気がするけど。

leap0

とりあえずそのパッケージがやたらとApple製品っぽいところが印象的。大きさはフリスクサイズと言われる程度で小さいです。これで卓上空間の手の動きを認識します。USBケーブルが長短2本同梱だったのはちょっと嬉しい。
公式サイトからアプリケーションをDLしてセットアップするとまずOrientationというアプリが立ち上がり、もやもやした空間に手をかざすことで風が吹くような効果を見せたりできます。その後にAirspaceというランチャーみたいな管理アプリを使います。このあたりはこの記事が詳しいかも。

そして開発環境も無償で公開されており、Mac/Windowsのそれぞれに出ているようです。ここここを参考にXcodeで環境をセットアップ、とりあえずサンプルプログラムを動かすまでは至りました。

leap00xcode

縮小してるのでよく解らんかとは思いますが、手を動かしたときにざざーっとログが流れます。手の数と指の数(5本認識できないことも多い)とかいろいろ出てる。手も4本とか認識できるらしいので、うまくやると複数人数の手を使った何かもできるのかもしれません。

たとえば指先で描いた図形でコマンドとか何かできないかと考えたけど、図形認識とかは自前でやらないといけないでしょうな。スクリーンタップとかいくつかのモーションは定義されているからそれらを入力のとっかかりにするにしても、その先は自力で。たとえば指定された紋章を描いて撃ち合うような中二病バトルみたいなのを妄想してみたけどなかなか難しそうだ。
ちょっと気づいたのは、フリスクサイズのセンサーなのでそこから放射状に感知しているのであろうから、手のひらを両手で八の字というか山形に構えると5本指を認識しやすいっぽいですね。水平とか垂直だといまいち安定して5本指を認識してくれない印象。指を揃えているとなおさら。要はセンサーに手のひらの面積を大きく取ってみせるような形が認識しやすそう。
ついでにMacがものすごく熱を持ってファンが大回転してたのも気になった。なんか変なノイズでも出ているのかと思ったらファンの音だった。やはりそれなりの負荷がかかってるようで、コレだとAirで動かすのは厳しいですかね。

« 新しい投稿古い投稿 »

Powered by WordPress