上海視察。その2
こんにちは。大西です。
2月初めに行って来た上海視察のレポートですが、
2つ目の記事はバトンタッチして僕が書かせていただきます。

今回は上海で働く日本人の方々を訪ね、
上海での制作体制や仕事の流れについて聞くことができました。
こんにちは。大西です。
2月初めに行って来た上海視察のレポートですが、
2つ目の記事はバトンタッチして僕が書かせていただきます。

今回は上海で働く日本人の方々を訪ね、
上海での制作体制や仕事の流れについて聞くことができました。
こんにちは。京都事業部の大西です。
今回はUnityとiOS SDKの連携方法についてご紹介します。
連携の方法としてスタンダードなものは、
Objective-C、またはC++などで書かれたコードをプラグインとしてUnityに読み込むというものなんですが、
実は結構手間がかかるので、もっと簡単にサクッとできる実装方法を今回はご紹介しようと思います。
※ プラグインの作成方法は下記の記事がわかりやすいです。
iPhone/iPadのプラグインを作成する方法 – 強火で進め
今回実装に使用するのが、PlayerPrefsというUnityのクラスです。
これは、FlashでいうSharedObjectのようなもので、簡単なデータをローカルに保存することができるクラスとなっています。
PlayerPrefsの保存先は、書き出し先のプラットフォームにより異なるのですが、
iOSの場合では、iOS SDKに用意されているNSUserDefaultsと同じ場所に保存されるようになっています。
このNSUserDefaultsも同様にローカルにデータを保存するためのクラスなので、
UnityからはPlayerPrefsクラスを使って、iOSからはNSUserDefaultsを使って同一データに書き込むことができるようになっています。
NSUserDefaultsはObserverを指定することにより、書き込み状態を監視することができるので、
これを用いることで、UnityからiOSのプログラムを呼び出すことが可能になります。
下記はUnity側からUIAlertViewを呼び出す際のコードの例です。

<Unity側のコード>
PlayerPrefs.SetString("test","value");
<iOS側のコード>
-(void)適当なメソッド{
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults addObserver:self forKeyPath:@"test" options:0 context:nil];
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"test"]) {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"test"
message:@"テスト"
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:@"OK", nil];
[alert show];
}
}
この方法の注意点としては、大きなデータの受け渡しが難しいことと、
NSUserDefaultsに書き込むまでのラグが若干あるので、
シビアなタイミング要求される実装にはあまり向かないということが挙げられます。
iOSからUnityのプログラムを呼び出したい場合は非常にシンプルです。
UnityからiOS用にビルドすると、UnitySendMessageというメソッドが用意されているので、
それを用いることでUnityのプログラムを呼び出すことが可能です。
UnitySendMessage("GameObjectName1", "MethodName1", "Message to send");
第1引数に対象となるGameObjectの名前、第2引数に対象となるメソッドの名前、
第3引数にメソッドに渡したい引数を指定することが可能です。
こんにちは。京都事業部の大西です。
先日、12/19(水)にkara-S スタジオスペースにて、
【クスール勉強会】3DエンジンUnityを触ってみようを開催致しました。

当日は、30名以上の方に来ていただきありがとうございました。
内容としては、
・そもそも、Unityとは?
・ボウリングゲームを20分でライブコーディング
・UnityのGUIとEZ GUIについて
・案件で使ってみての感想
などをお話しさせていただきました。
当日発表した資料や、サンプル等は、
また後日このブログにてアップいたしますので、
是非そちらも見ていただければと思います。
3.5のRoadMapも出てき始め、これから益々目のはなせないUnityですが、
出来る限りこのブログでもいろいろな情報をお伝えできればと思っています。
・Unity 3.5 Update
こんにちは。京都事業部の大西です。
今年の5月に弊社が制作した京都精華大学出身のクリエイター検索サイト「SEIKA CREATORS BOARD」。
今回、京都で開催しているWeb制作講座「ほんきでFlash」、「ほんきでHTML」のフライヤーを制作する機会があったので、
「SEIKA CREATORS BOARD」を使って、フライヤーの制作をお願いすることにしました。
こんにちは。京都事業部の大西です。
今回はUnityのプロジェクトをSVNで共有する方法をご紹介します。
この方法を使うことで、複数人での開発を行うことが可能です。
(※ Unity Proライセンスが必須となります)
Unityはプロジェクトフォルダ内が多数のバイナリファイルとそれらを関連づけるファイルとで構成されているため、
普通に共有した場合にファイルが壊れてしまうケースが多々あります。
そこでUnity Proライセンスからサポートされる機能「External Version Control Support」を使用します。
まず、SVNで共有したいプロジェクトを開いた状態で、メニューの「Edit->Project Settings->Editor」を選択します。
![[Unity + SVN]MenuからExternal Version Cntrol Supportの設定を開く [Unity + SVN]MenuからExternal Version Cntrol Supportの設定を開く](http://blog.cshool.jp/wp-content/uploads/2011/11/menu.jpg)
こんにちは。大西です。
今年から数度にわたり続けている社内勉強会ですが、本日5回目となりました。
テーマは「デジクリの講師および授業について」。「デジクリ」というのは、弊社の松村、尾崎が教鞭をとっている、京都精華大学デザイン学部ビジュアルデザイン学科デジタルクリエイションコースのことです。
今回はデジクリを今年の3月に卒業したばかりの冨田くんに実際の作品を見せながらどんな授業があったかを解説してもらいました。
勉強会の様子をTogetterにまとめましたので、興味ある方は下記より御覧下さい。