2013年4月29日月曜日

このグラフィックスがUnityに・・・来る??


Voxel Farmというボクセル (Voxel) ベースのプロシージャル エンジンがある。


機能としては:
  • リアルタイム生成
  • サーバーサイト、ファームサイド生成
  • サンドボックスモード(Minecraft スタイル編集)
  • 高度な地形機能
  • バイオマス
  • 樹木
  • 森林
  • 構造物
  • 遺跡
言葉で説明するのがまどろっこしいので、まずは動画でみていただきたい:

http://voxelfarm.com/vfweb/index.html
http://www.youtube.com/watch?v=Y5arfh0kJTo

さて、このグラフィックス機能をUnityでも出来るように動いているとのことなので記事内容を確認してみた!!

--------

http://procworld.blogspot.jp/2013/04/the-unity-plugin-is-looking-good.html
Wednesday, April 24, 2013


Unity プラグインは快調

Unity プラグインの状況についてシェアしたい。百聞は一見にしかず、まずはスクリーンショットをご覧いただきたい:

これはブログで投稿している他のスクリーンショットやビデオで使用しているのと同じ地形生成機能だ。この画像は自身で作成したわけでないが Voxel Farm エンジンを使用したうえで Unity にて活用している才能溢れる連中による作品だ。

スクリーンショットにおける空や雲は静的な画像をつけたボックスであり、少し前にブログで取り上げた雲や空に関する記事とは別物だ。ポイントは、 Unity であればリアルタイムのスカイボックスを取り扱うプラグインは複数ある。いや、すでにリアルタイム処理でほとんどのことが出来るようになってきている。その仲間として加われたことに感謝したい。

---------

このグラフィックスがUnityに・・・来る??

凄い技量だなぁ!!。。。応援するぜ!

2013年4月25日木曜日

スーファミ時代の16 bitサウンド再現


sfxr はゲームの基本的なアクション(ジャンプ、アタック)などをスーパーファミコン時代の16 bit サウンドエフェクトで選べるうえ、ランダムに再現することを容易にしたもの。

公開されていたのは 2 年前で Flash 向けであったが、これを Unity に移植をしたツワモノが登場した!!

今回はは sfxr の動画と ウェブプレイヤーサンプル、Unity 移植した GitHub ソースの 3 点セットを紹介したい。

まあ、ゲームを作っててもショボい画面を作ってしまうことは誰しもある。でも実際にリンク先で音を聞いていただくとサウンドの効果が大きいと感じられるはず!!

-------

sfxrの紹介動画




ウェブプレイヤーのサンプル



オンライン版のsfxr

GitHubのソースコード


ポイントはこうだ:

もしゲームで使用したい 16 bit のサウンドエフェクトを探しているだけなら、オンライン版から wav ファイルを取得するだけで良い。

しかし、Unity サンプルを見てもらえばわかるとおり、wav ファイルはプロジェクトのアセットに存在しない。オンライン版のsfxrで好きな音を選んで Ctrl + C を押して「0,,0.0182,0.4088,0.1617,0.6744,,,,,,0.5624,0.6275,,,,,,1,,,,,0.5」など表示される文字列をコピーするだけだ。

これは、usfxr のランタイムライブラリを使用することで、同じオーディオサンプルをリアルタイム生成し、簡単な関数にパラメータをわたすだけで(さきほどの文字列)、エフェクトを自由にシンセサイズしなおすことが出来る。

結果的なメリットとしては:
  • オーディオのリアルタイム生成で音声ファイル不要となり、実行ファイルサイズの節約になる
  • 音のバリエーションを鳴るたびごとに変化させられるのでゲーム体験に味付けがしやすい
当然ながら商用では高級な機能のものは多いとおもうが、これだけシンプルでフリーだという点も大きい。

案外とシンプルなスーファミ時代の音楽のほうがやみつきに感じる場合もあるように感じるな~。また自由に音を編集できるので好みや状況にあわせるワークフローが魅力だ。

個人意見では、ひまつぶしにやるスマホゲームに合うのでは、と。

ゲームに面白い素材を活用しようぜ!

2013年4月22日月曜日

【動画】ヘッドマウントデバイスを使ったバーチャルリアリティ


Oculus Riftと呼ばれるヘッドマウントデバイスがGDC 2013の話題をかっさらった件は記憶に新しい。

Unity で先鋭的なモノを作ってみたい人にとってこの動きは見逃せないものだとおもう。中でも実際に自らどういうものを作るべきかビデオで録画する人も登場しているので今回紹介してみることにしたい。

英語の動画なが、ヘッドマウントデバイスに興味ある方は見ているだけで雰囲気は十分感じ取れるとおもう。

関連記事


-------------
ヘッドマウントディスプレイを使用したバーチャルリアリティの世界
 2013/04/01



動画のコメントをまとめると:

・ポジション(位置)トラッキング
・オリエンテーション(向き)トラッキング

のうち、ポジションをオフにすることも出来るが、そうするとしゃがんだときや、物陰から覗くような動作に反応しなくなるため、オンにはしておきたい。

しかし実世界で動き回るとなるとバーチャル世界とは異なるためあまり多くの歩数は歩けない。解決策としてバーチャル世界にマーカー表示をして、前に移動するとその方向に動き続けるような操作性にして、今度は後ろに戻ったときに動きを止めるようなインタフェースとなる。

自らの手足やバーチャルな機器を表示させるのはスムーズに出来そうだ。

------

うーん、早くバーチャル体験をしたいものだ!


なお、ヘッドマウントデバイスでは「車酔い」に近い現象がどうしても生理的な現象として発生する。

あまりにディープすぎる話にはなるが、Dr. Eugenia M Kolanskiが過去に米軍と調査を行った公開文書があり、リンク先のPDFからシミュレータをバーチャル環境で使用するうえで車酔いのメカニズムを1995年に研究した内容が大変に興味深く、VR関連のフォーラムでも氏の著作を読むことを推奨される。

医療文書の英語まで読める方は少ないとおもうが、参考程度に文書へのリンクをひとつ付ける:
http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=ADA295861

ディープなバーチャル世界に飛び込んで行こうぜ!

2013年4月20日土曜日

NGUI 2.6.0 - Pro版のみUnity 4ダイナミックフォントサポート!!

NGUIバージョンアップ情報です:

http://www.tasharen.com/forum/index.php?topic=11.30
April 19, 2013, 06:29:42 PM


2.6.0 (検証のため NGUI Pro版に限定)
- 新機能: Unity 4.0 ダイナミックフォントをサポートする機能の追加
- 新機能: NGUI メニューからハンドルを有効/無効にする機能を追加
- 新機能: アトラス メーカーでテクスチャサイズが大きすぎてアトラスが壊れる不具合に対応して、最大テクスチャサイズにより制限する機能を追加
- 新機能: パネルでクリッピング未対応の時に((GLES 1.1の場合))警告表示する機能を追加
- 新機能: チェックボックスにおいてフェードインを瞬時に行うためのチェックマークを追加
- 新機能: ローカライズの際に使用するファイルで C++ スタイルのコメント(//)を残せる機能を追加
- 新機能: スタンドアローン ビルドの際に入力フィールドにペーストできる機能を追加
- 新機能: UIImageButton に disabled ステータスを追加 (Nickiさん対応分)
- 修正: UISlider でタッチ有効エリアを判定するのに コライダ サイズ ではなくきちんと スプライト サイズを使用するように修正
- 修正: Tween のリセットを行った際に not started とマークされない不具合を修正
- 修正: 空白のラベルがローカライズされないように不具合を修正
- 修正: スプライト アニメーションのリセットの際にスプライトもきちんとゼロにリセットするように不具合を修正
-----
4/23 追記
NGUI ProはTasharen公式サイトから$200で開発リポジトリも変更出来る特殊ライセンス。これはアセットストアに載ってないので注意!
(NGUI公式フォーラムで私のようにUnity Pro と勘違いしてた方がいました)

追記ここまで

ダイナミックフォント正式サポートは多くの人が心待ちにしていた機能。はやい段階でアセットストアの通常版のリリースに期待するぜ!!


関連記事


【朗報】NGUIにダイナミックフォント正式採用の方向性



2013年4月19日金曜日

Unity創業者が自社ゲームの開発ブログを開始


Unity 創業者の一人であり、CCOでもあり、先日驚きの退職表明をした Nicholoas Francisが自身の会社で開発をしているゲームの開発ブログを始めたので、今回はリンク先だけ紹介したい。

https://www.facebook.com/Framebunker


長年勤めてきたUnityを離れてFramebunker社を創業。

Facebookに書かれている会社のポリシーとして「開発する価値がある全てのゲームは、忘れらないゲームであることに等しい。会社のあるデンマークのコペンハーゲンはいつも雨が多く、暗い天気が常だ。」という言葉がカッコイイなぁ~

開発ブログのリンク先にあるスクリーンショットはコペンハーゲンを舞台にしているのか、暗くて雨続き。しかし、絵がどれもカッコイイぜ!!
http://framebunker.com/blog/

2013年4月17日水曜日

【一見の価値あり】高品質なシェーダパックが登場


こ、これは!!という高品質なシェーダが Unity Asset Store に登場したため、今回紹介したい。


Unityウェブプレイヤーデモ:
http://jeanmoreno.com/matcap/

---------------------------
MatCap Shaders Pack v1.0 Jean Moreno
2013/04/16

ZBrush または Sculptris といった著名な 3D ソフトウェアで使用されている MatCap 風のシェーダパックだ。これによりオブジェクトのシェーディングモデル全体をライトなしでもひとつのテクスチャで決定づけることができる。
このことからシェーダは高速でありモバイルでも良いパフォーマンスが出る。

これらは Unify コミュニティにある MatCap シェーダ(Daniel Brauer 作)にもとづいている。
http://wiki.unity3d.com/index.php/MatCap
最適化を行って、さらに高速化したうえで、MatCapの上に通常のテクスチャを追加する機能を加えている。

フリーおよび商用のUnity プラグインについてはリンク先で:
http://jeanmoreno.com/unity
---------------------------

Asset Storeからダウンロードするときに注意書きが出るのですが、どうもクリエイティブコモンズであるということと、 Daniel Brauer氏のマテリアルも一部含まれているとのこと。

うーん?フリーだけど License Agreement はもうちょっと読んでみる必要アリかなぁ。。。

しかしモノは凄い!!

2013年4月10日水曜日

【すぐ分かる!】ゲーム開発でのabstractクラスとinterface

他人が作成したプログラムを最近見ていて、なんか Unity Answersをみていたら、わりと綺麗な回答があったので紹介してみたい:

--------------------
http://answers.unity3d.com/questions/233859/whats-the-use-of-abstract-classes-and-interfaces-i.html
 Mar 30 2012 at 10:08 PM



質問

ヤッホー、最近、abstract クラスと interface について勉強していて、C#の文法は掴めた。でもゲーム開発でどう活用できるのかが自分だとよく分からないんだ。

実際に使用している場面を教えてもらえる?


回答


どもども!ゲーム開発での abstract クラスと interface が何か特別なものがあるわけじゃないよ。正しく使えば利便性の向上とシンプル化が図れるけど、必要でないのに徐々に複雑にしちゃうこともある。

abstract クラスや interface は似通っているけど、明確な違いもある。abstract クラスは実際に機能をもつことができて、その子クラスが利用することもできる。インタフェースはクラスの関数からみた規約みたいなもので機能そのものは持たないんだ。

自分が開発しているゲームでは、共通機能をもったアイテムが複数ある場合に abstract クラスを使用してるよ。まあ、共通機能がオブジェクトを作るまでに至らないような場合だけどね。例えば、 Weapon (武器)クラスにクロスボウやショットガンに共通する機能を持つけど、 Weapon クラスのインスタンスそのものは、それ自体では使う用途がない。こんな場合は abstract にする意味があるかもね。

インタフェースは共通性のないオブジェクトを共通の属性で参照したい場合に便利だよ。例えばかなり異なったクラスでも同じリストの中に放り込んで、ループさせることが出来る。具体的にはロボットやゲームアイテムの壷はゲームの中でまったく異なるオブジェクトだけど、両方とも Breakable (壊せる)インタフェースを実装していれば、壊せるという観点では同等のオブジェクトとみなすことができる。List Breakable を定義して、ゲーム中に壊すものを整理することだって出来る。
--------------------

なるほどねーー、プログラミングの入門書よりもスッキリ頭に入ってくる説明だなー。

自分の場合はチェスのゲームロジックをみてたときに、駒を abstract クラスにしていて共通で駒が動けない場所のルールを定義して、子クラスではポーンやクイーンがチェスのルール上で動けない場所を個別に定義していた。

何とはなしに、いろいろ引き出しのあるプログラミングは良いなぁーと素朴におもったり。

どんどんゲーム作っていこうぜ!

2013年4月9日火曜日

TNet 1.6.9


TNet バージョンアップ情報です:


http://www.tasharen.com/forum/index.php?topic=2650.0
December 29, 2012, 06:04:06 AM




1.6.9:
- 新機能: 外部 IP に Discovery URL を指定できる機能を追加
- 新機能: IP 発見を希望するときに非同期実行できる機能を追加
- 修正: サーバの開始により、UPnP 発見が失敗する不具合を修正
- 修正: その他の例外処理にかかわる不具合を修正
-------

それにしても、NGUI 作者はバージョンアップを頻繁にやってくれて親切だぜ!


MineCraft作者が語る今後のゲーム業界

MineCraft 作者NotchがGDC2013インタビューで今後のゲームについて語った。

動画を見れば熱い気持ちが十分伝わってくるが、英語の苦手な方のために整理してみたぜ!

http://www.youtube.com/watch?v=aBxR50NL4fU
2013/04/05



● GDC 2013会場にて THE VIRGE 記者がNotchに独占インタビュー


――まずは、フリーゲーム、インディーズゲームへの時代のシフトについて考えをお聞かせ下さい。

Notch 過去は大型プロジェクトが莫大な予算を使って、パッケージを買ってもらうシステムが時代として長く続いてきました。現代はゲーム開発者の幅が広がり、リスクを負わずに試すことが出来る時代に流れが変わってきました。

――Minecraft リリースの経緯についてお聞かせ下さい。

Notch ユーザに受け入れられるか分からない中で、最初からリスクをとって XBox 360 に投入する考えはありませんでした。別プラットフォームでユーザに受け入れられるのをみれる時代だからこそ、XBox 360へのリリースが実現出来ました。


■ Kickstarter を通じたプロジェクトの支援

――OUYAへの積極的な支援の理由をお聞かせ下さい。

Notch プラットフォームがオープン化することでより斬新なアイデアが登場しやすくなります。OUYAなど象徴的ですが、今後もオープン化の推進が新しいものの登場につながりますし、投資を通じて協力していきたいです。





――Kickstarter の仕組みは今後も重要ですか?

Notch 開発の初期時点で投資してもらえるのは有難いです。もちろんユーザ側からすると最初にお金を支出するデメリットはあります。ただメリットは、規模の小さい開発チームがきちんとお金を得られる手段になりえることと、大規模の開発チームはプラットフォーム側に依存せずに投資してもらえることでファン向けに良いゲームを作ることに専念できることです。

――今後の開発プラットフォームのターゲットは何でしょうか

Notch クロスプラットフォームが重要だと感じます。オープン化は大事といっても Linux で出来ることが完全に Windows を凌駕しているわけではありませんし、Windows / Linux / Mac 向けにバランス良くやっていきたいです。

■ 新しいガジェットとインディーズ開発者の方向性


――新しいガジェットの次なるヒット作は何でしょう?

Notch Occulus Rift!! VR の時代が本格的にやってきて子供心の夢に返ってリアルに恐竜と走り回ってみるのが今なら実現できそうです!(笑)

――Occulus Rift はDeveloper Kit を入手したと聞きますが、Minecraft も対応予定かお聞かせ下さい。

Notch Minecraft の今後のリリースはもう自分の手をはなれましたが、Java ネイティブライブラリユーザ向けに Occulus Rift のサポートを足したり協力しています。まだ怠けていて十分に手をつけられていませんが(笑)、面白い領域です。

――Mojang社は、いまや大会社ですが、インディーズ開発者だという自負はありますか?

Notch まあインディーズ開発者をどう捉えるかにもよりますが、自宅で趣味のために好きで開発するという意味ではすでに『違うかなぁ』とおもいます。一方で、独立できていて、何かお金を儲けるために開発しているのではなくて面白いものを作るために存続できるという観点ではかつてのゲーム会社とも違う世界に生きています。

――インディーズ開発している人に今、一番伝えたいことを教えてください。

Notch まずは自分の意思で作ることですね。次に厳しい批評家の視点を持って、何がうまくいって、何がうまく行かないのか冷静に見極めて、そこから調整してことが大切です。まあ、自分のゲームが面白く感じられるならユーザだって面白いと感じます。その気持ちが一番ですね。


------

MineCraft 作者 Notch はアツいぜ!!

2013年4月8日月曜日

【朗報】UnityのTNet アセットでスマートフォン端末間のBluetooth接続がロードマップに!!

最近、Unity アセットストアの TNet というアセットによりネットゲーム開発が容易になっている。

参考リンク

Qiita - ネットゲーム開発に風穴を空けるか?アセットストアNo.1作者が新たなチャレンジ

TNet 公式掲示板での作者回答によれば、TNet でスマートフォン端末間の Bluetooth 接続が今後のロードマップに入っている。今回の記事はその報告だ。

----------------
http://www.tasharen.com/forum/index.php?topic=3702.0http://www.tasharen.com/forum/index.php?topic=3702.0


質問

TNet を使って Bluetooth接続したデバイスのネットワークゲームに対応させる方法がありますか? 2台のiPhoneの接続するイメージです(Appleの GameKit フレームワークには GKSession クラスがあってサポートしています)。

未サポートであれば、今後のサポート予定はありますか?

ゲームのユーザにはできるかぎり簡単に接続をさせたいです。例えば隣り合った iPhoneの加速度センサー同士で遊ばせるゲームプレイ(例えば野球のピッチャーとバッターなど)でサーバー接続を通さずにBluetoothで接続させたいのです。

回答

あったりまえさ。ロードマップ上で予定しているよ。オイラ自身のゲームでも、そんな機能をつけたいと思っているんで、それ自体が必ずどこかのタイミングで追加される証拠だよ。

----------------

やったね!また開発が楽になりそうだ^^

忙しいNGUI作者への質問もドキドキしたけど、公式掲示板で2時間以内でサクッと回答くれて本当にサービスレベルも高いぜっ!!

「TNetについてもっと知りたい」という人はまだあまり情報ないですが、下記リンクをご参考にどうぞ!

関連記事


2013年4月4日木曜日

NGUI 2.5.1, TNet 1.6.8


NGUI & TNet バージョンアップ情報です:

NGUI



http://www.tasharen.com/forum/index.php?topic=11.25
April 3, 2013 09:41:06 AM

2.5.1
- 新機能: ラベルの大きさを中のテキストに合わせて小さくできる "shrink to fit" オプションを追加。
- 修正: Font インスペクタに過去あった "import font" フィールドを再び追加。

TNet


http://www.tasharen.com/forum/index.php?topic=2650.0
April 3, 2013 09:42:06 AM
1.6.8
- 新機能: TCP ロビー クライアントでファイルのセーブ、ロードのリクエストをハンドリング出来る機能を追加。
- 修正: Unity ウェブプレイヤーの UDP をズバッと無効化。理由は全ての UDP リクエストがポリシーファイルが必要になるため。
- 修正: UDP パケット送信に関する不具合を修正
- 修正: UPnP によりサーバー停止時にUnity がハングアップする不具合を修正
-----------

Unity 開発者が GDC から続々自国に戻る頃のようですね。Playmaker 作者のAlex も戻って次バージョン開発に戻ったようです。

日本人もどんどん大型アセットを開発したいもんだなぁ?

2013年4月3日水曜日

NGUIビデオチュートリアル(2.5.0対応で最新化!!)

Unityの 2D 開発において NGUIというアセットは必須である(断言)。

あまりにも完成度が高く2012年にアセットストア売り上げNo.1を誇っただけでなく(1年で5000万円ほどの売り上げ)、NGUI作者はUnity Technologies にスカウトされていて、次なるミッションは Unity本体のGUIを新しくリリースするために日々努力されている。

さて、英語版ビデオチュートリアルはかなり古くからあるのだが、つい先月に NGUI 2.5.0 をリリースするにあたり、「完全な初心者」でも分かるような位置づけなのだが今回色々な機能追加に伴い、このビデオチュートリアルの作り直してくれている、とのことで有難い!!

-------------------
http://www.youtube.com/watch?v=rI1vjXgKVTU
2013/03/20



さて、NGUI初心者向けと語っておきながら古くからのNGUIユーザも知らない(私だけ?)部分もかなりあった。

そういう方は以下の箇所やリンクだけ見ておくと時間短縮になるとおもう:





  • モバイル向けでもパフォーマンスが良いPre-multipliedシェーダに関する言及(2:30~)
(画像省略)
  • Sprite TypeをSimple→Tiled→Filledなど簡単に変更。Cutoutシェーダで円状に透明にするテクニック(7:10~)

  • フォント中の記号を簡単に画像に変更する機能(11:55~)

  • ずれたColliderをメニューからワンクリックで修正(19:55~)

NGUIメニュー

  • 複数マテリアル使用時にZ座標を変更して前後関係を正しく修正(21:40~)
(画像省略)
------

NGUI、やはり日々進化しているぜ!!

2013年4月2日火曜日

Unityでの初期化、更新Tips(Awake, LateUpdate)



皆さんはUnity の初期化と更新について何で色々な種類あるのか迷ったことないでしょうか?

自分は結構分からないときがあって、今回Unity Answersに良くまとまった内容見つけたので翻訳してみました:

http://answers.unity3d.com/questions/10189/what-is-the-general-use-of-awake-start-update-fixe.html
Jan,15 2010

質問

初期化に際して:
Awake()
Start()
なんで二つの初期化メソッドがあるの?
違いは何?
ベストプラクティス事例は?

更新に際して:
Update()
FixedUpdate()
LateUpdate()
なんで3つも更新メソッドがあるの?
違いは何?
しつこいけど、ベストプラクティス事例は?

回答


スクリプティング リファレンスが良くかけていて内容をカバーしているので、説明へのリンクをつけるね。

Awake
Start

ドキュメントからの引用:

Awake および Start の違いは:

Start はスクリプトが有効化されたときしかコールされないことです。これにより初期化コードの実行を本当に必要なタイミングになるまで意図的に遅らせることが出来ます。

Awake は常に Start より前にコールされます。これによりスクリプトの初期化の順番を制御出来ます。

Update
LateUpdate
FixedUpdate

LateUpdate は Update の後にコールされる関数です。


これによりスクリプト実行の順番を制御出来ます。例えばカメラの追跡は、Updateにより移動されたオブジェクトもトラッキング出来るようにするため、常に LateUpdate で実装されるべきです。

LateUpdate はアニメーション適用の後にコールされることに留意して下さい。すなわちアニメーションシステムによりサンプリングした後のポーズに対するプロシージャルなアニメーションを LateUpdate であれば実装出来ます。

FixedUpdate は 該当のMonoBehaviour スクリプトが有効化されていれば 固定フレームレートの間隔でコールされます。Rigidbody を扱う時は Update の代わりに FixedUpdate を使用すべきです。例えば Rigidbody に force を加える時は、Update の代わりに FixedUpdate の中で毎フレームごとに適用すべきです。

役立ててもらえるといいな!スクリプティング リファレンスの MonoBehaviour の も良い説明だよ!

-----------

他にも良い情報書かれてるサイトありますが、古い情報ながらこれが最もシンプルにまとまってる気がしますね!

ブックマークに追加

このエントリーをはてなブックマークに追加

自己紹介

自分の写真
Unity3D公式マニュアル翻訳やってる人がスマホ(iPhone, Android)のゲーム開発しています。気軽に面白く初心者が遊べる内容がモットー。Blogでは開発情報をひたすら、Twitterではゲーム作成の過程で参考にしている情報を中心につぶやきます

ページビューの合計

過去7日間の人気投稿