UnityのFPS (Frame Per Second) カウンターを公開しました

Unityで開発したアプリのFPS (Frame Per Second) を計測するためのスクリプトを公開しました。

https://github.com/murapong/unity-fpscounter

使い方は、Assets/FPSCounter.cs を適当なオブジェクトにアタッチするだけです。SampleSceneのようにMain Cameraでも構いません。

PhotonCloud x Unity GameJam事前勉強会に参加してきました

6/24 (月) にPhotonCloud x Unity GameJam事前勉強会に参加してきました。そのときの資料がわかりやすかったので紹介します。勉強会自体はPhoton Cloudについての簡単な紹介と約1時間のハンズオンだったのですが、簡単なリアルタイム通信とチャットであれば資料通りにやれば実装できてしまいます。

Photon Cloud × Unity GameJam 事前勉強会資料 http://qiita.com/kamayuki_fs/items/a67bf9971ebb24703bf1

UnityのためのMonodevelop勉強会に参加してきました

5/18(土)にUnityのためのMonodevelop勉強会に参加してきました。 詳細は各資料に任せるとして気になったところだけメモ。

CodeTemplateについて(安藤さん)

MonoDevelopおすすめキーバンド(杉本さん)

  • 便利そうなのだけメモ
  • command + ,でオプションを開く
  • command + shift + yで参照を探す
    • めちゃくちゃ便利
  • ドキュメントをフォーマット
  • 行コメントをトグル
  • Preferences->テキストエディタ->動作のナビゲーションをVIモードを使用

Unity&MonoDevelopブレークポイント(時村さん)

http://www.slideshare.net/RyoheiTokimura/unitymonodevelop

タスクリストとフォールディング(室星さん)

  • command + control + ← で折り畳みを反転

あとLTで安藤さんの開発環境の話でXamarin Studioの紹介があって、 Format document on save(保存時にフォーマット)の機能とか便利そうだったけど、 Unityにアタッチしてのデバッグがまだできないようなのでしばらく様子見かな。

CocosBuilder入門①(環境構築〜HelloWorldまで)

cocos2dプロジェクトの作成

cocos2dのテンプレートがまだインストールされていない場合は、インストールしておいてください。今回はcocos2d-iphone-2.1-beta4を使用して解説します。 Xcodeを起動し「File」→「New」→「Project...」より新規Xcodeプロジェクトを作成します。 左ペインで「iOS」の「cocos2d v2.x 」を選択し、右ペインで「cocos2d iOS」を選択し「Next」をクリックしてください。

f:id:murapong:20130113174445p:plain

以下を入力し「Next」をクリックしてください。

Product Name:CocosBuilderSample
Organization Name:任意
Company Identifer:任意
Device Family:iPhone

ここまでで一旦Xcode側の準備はOKです。「Product」→「Run」でcocos2dのHelloWorldが表示されることを確認してみましょう。

f:id:murapong:20130113175142p:plain

CocosBuilderのダウンロード / インストール

CocosBuilderのダウンロードページよりダウンロードします。後ほど使用するのでApplicationとExamplesの両方をダウンロードしておきましょう。今回は記事執筆時点での最新バージョンの2.1をインストールします。

f:id:murapong:20130114224144p:plain

ダウンロードしたCocosBuilder-2.1.zipを解凍するとCocosBuilderのアプリケーションファイルが入っているので、それをMacの「アプリケーション」フォルダに移動させればインストール完了です。

CocosBuilderプロジェクトの作成

CocosBuilderを起動し「File」→「New」→「New Project...」よりCocosBuilderプロジェクトを作成します。 「Save As:」 に「CocosBuilderSample」と入力し、さきほど作ったXcodeプロジェクトの「Resources」フォルダに保存します。

f:id:murapong:20130114221605p:plain

サンプルの「HelloCocosBuilder.ccb」が作られるので、まずはこれをiOSシミュレータ上に表示させてみましょう。

f:id:murapong:20130114221819p:plain

早速「File」→「Publish」をクリックすると「Resources」フォルダに「HelloCocosBuilder.ccbi」というバイナリファイルが作成されます。

f:id:murapong:20130114221936p:plain

Xcodeに戻り「Resources」グループを右クリックし「HelloCocosBuilder.ccbi」を追加します。(「HelloCocosBuilder.ccbではないので注意してください)

f:id:murapong:20130114222127p:plain

f:id:murapong:20130114222137p:plain

コードからccbiファイルを読み込む

追加したccbiファイルを読み込むために、CCBReaderクラスを追加します。これはダウンロードしたExamplesの中に入っています。Examplesを解凍し、Add to Your Project\cocos2d-iphoneにある「CCBReader」をXcodeプロジェクトに追加します。

f:id:murapong:20130114222934p:plain

AppDelegate.mを開いて先頭に

#import "CCBReader.h"

を追加します。

実際にccbiファイルを読み込む部分は、

-(void) directorDidReshapeProjection:(CCDirector*)director

[director runWithScene: [IntroLayer scene]];

[director runWithScene:[CCBReader sceneWithNodeGraphFromFile:@"HelloCocosBuilder.ccbi"]];

に書き換えるだけでOKです。cocos2dのバージョンによって若干修正箇所は変わってきますが、AppDelegate.m内のrunWithSceneを探してみてください。

「Product」→「Run」してみましょう。CocosBuilderのHelloWorldが表示されれば成功です。

f:id:murapong:20130114223013p:plain

cocos2d-iphone-2.1-beta4の場合、CCBReader.mで以下のエラーが発生します。

f:id:murapong:20130114235816p:plain

これはcocos2d-iphone-2.1-beta3からbeta4にかけてCCFileUtilsクラスに変更が入ったためです。 以下のように書き換えることでエラーを回避できます。

    // Use default lookup
    return [_bundle pathForResource:resource ofType:ext inDirectory:subpath];

Charlesを使ってiPhoneのhttps通信をキャプチャする

iPhoneアプリhttps通信をキャプチャするにはCharlesを使うと楽です。Windows版、Mac版、Linux版がありますが、今回はMac版で確認しています。トライアル版(30日)は30分毎にCharlesの再起動が必要となりますが、とりあえずはこれで大丈夫です。

事前準備

ifconfigコマンドなどでCharlesを動かすMacのIPアドレスを確認しておく。

Charlesのダウンロード/インストール
Charlesの公式サイトよりダウンロードする。Macの場合はダウンロードしたzipファイルを解凍し、アプリケーションフォルダに移動させればインストール完了です。

Charlesの設定

Charlesはデフォルトだとhttps通信のキャプチャが無効になっているため有効にします。

  1. Charlesを起動し「Proxy」→「Proxy Settings...」をクリック。
  2. SSL」タブの「Enable SSL Proxying」にチェックを入れる。
  3. 「Add」をクリックし「Host」に「*」を入力し「OK」をクリック。

f:id:murapong:20121229200201p:plain

iPhoneの設定

Wifiの通信をCharlesを経由するように変更します。

  1. 「設定」→「Wi-Fi」の接続しているSSIDの矢印をクリック。
  2. 「HTTPプロキシ」→「手動」に以下を入力
  • サーバ:事前準備で確認したIPアドレス
  • ポート:8888
  • 認証:オフ

CharlesのFAQにある通り、iPhoneSSL証明ををインストールする必要があります。iPhoneSafariから http://charlesproxy.com/charles.crt にアクセスし、SSL証明書をインストールしてください。

キャプチャ開始

Charlesのツールバーにある「Start/Stop Recording」ボタンをクリックするとキャプチャが開始されます。iPhoneに入っているアプリやSafariで動作を確認してみましょう。

f:id:murapong:20121229181331p:plain

同じPocket Wifi (C01HW) に接続された端末同士で通信するには

Pocket Wifi (C01HW) はデフォルトの状態では接続されている端末同士での通信ができないため、以下の設定を行います。

  1. Pocket Wifiに接続されている端末からhttp://192.168.1.1/にアクセス。
  2. ユーザ名:admin、パスワード:Pocket WifiのWEP Keyでログインする。
  3. 「設定」→「無線LAN設定」→「無線LAN基本設定」をクリック。
  4. 「プライバシーセパレータ」を「無効」に設定し「適用」をクリック。

以上で同じPocket Wifiに接続された端末同士で通信ができるようになります。

第十七回 iPhone Developer Workshopで発表してきました

10/28(日)に株式会社ファンコミュニケーションズで開催された第十七回 iPhone Developer Workshopで「iOS6時代のTwitter / Facebook連携」というテーマで発表してきました。そのときの発表資料を公開しておきます。