MacBook Pro Retina 15inch(Late 2013)にBootcampでWindows8.1をインストールする

[`evernote` not found]
LINEで送る
Pocket

まさかのMacbook Proを買った翌日にマイナーチェンジしたものが発売されるという痛い経験をしたところですが、BootcampにWindows8.1を入れるのが今までにないくらい難しかったのでうまくいった時に参考にした手順を日本語訳(私的に訳しました)しておきます。

どうやら調べてみるといろんな原因、いろんな対応法があるようですのでここのやり方はあくまで解決法の1つ、くらいで考えてもらえれば。
これでうまくインストールできる人もいれば、できない人もいると思います。

ちなみに元記事はUSBメモリにインストーラーも入れているようですが、私の場合はUSB2.0で接続したDVDからインストールしました。Bootcamp用のドライバはUSBメモリにいれました。

元ネタ:

以下、手順の訳です。

1. BootCampアシスタントを使い、BootCampアップデートを含む3つのオプションを全て選択してインストール用USBメモリを作る
2. パーティションのサイズを設定する
3. 重要:再起動後にOptionキーを押したままにし、再び「Maverick(USBメモリで起動しないでください)」を選び起動する
4. Maverickに戻ったらディスクユーティリティを起動しMacintoshパーティションを選び、「パーティション」タブを選ぶ
5. 新しく作成したパーティション(下側にある一つ)である「BOOTCAMP」を選び、マイナスボタンをクリックして取り除く
訳注:BootCampアシスタントで作ったパーティションがBOOTCAMPという名前のパーティションになっていました。
6. 変更を適用する。この時点でBOOTCAMPというパーティションは無くなっている
7. プラスボタンをクリックし、新しいパーティションを追加する。名前は「Macintosh HD2」のようなものになっている
8. 7.で作成したパーティションを「BOOTCAMP」という名前に変更する
9. 重要:パーティションの種類をExFATに変更する
10. 変更を適用する
11. Optionキーを再度押しながらMacを再起動する。オレンジのUSBデバイスのWINDOWSを選ぶ
補足:DVDディスクから起動しても問題ありませんでした。
12. Windowsのインストール処理が始まり、パーティションを選ぶところまでたどり着く
13. BOOTCAMPパーティションを選び(下にあるもの)フォーマットする
14. 「次へ」ボタンを押してWindows8.1インストール処理を進める
15. 重要:再起動が起きる度にOptionキーを押してWINDOWSドライブを選ぶ(オレンジのUBSメモリではない)
訳注:DVDからインストールしている場合はDVDにもWINDOWSという名前がついていますがハードディスクのアイコンを選んでください。
16. 最後に、Windows8.1のインストール後流れに従いBOOTCAMPドライバーをインストールする
17. 完了
—————–
環境:
MacBook Pro Retina 15インチ Late2013, OS X Mavericks
私はこれのUltimate Editionというものでやりました。

2013/04/05 block.party@clubasiaにて

[`evernote` not found]
LINEで送る
Pocket

ブログを書くのがかなり久々になってしまいました。

ちょっと時間がかかってしまいましたが、ようやく音楽と技術を融合したものを発表する事ができるようになりました。

さて、先日4/5。こちら。進化し続けるblock.fmのパーティーである、block.partyです。
http://iflyer.tv/ja/article/2013/04/04/new-block-party/

ステージ全面をスクリーンにするという大迫力な映像体験。
その中で僕はというと
Science Nonfictionとしてblock.partyで3分間のショーケースをやってまいりました。
豪華すぎるメンバーと曲が良いのはもちろん、こういった新しい事への興味と柔軟性が尋常ではないくらい優れているTeddyLoidさんをフィーチャーし初披露。

概要としては、
Kinectを使って人の動きから映像と音楽とレーザー(参考動画には無いかも?)をインタラクティブに制御するというものです。

実験的な映像とかはありましたが、ここまで作り込んだ物はあまり無いのではないでしょうか。

グラフィック、映像、音楽、全体をくみ上げるための脚本などそれぞれすごい人が集まって作り上げたのですが、やはりそれぞれのみんながすごいので、
ストーリーを考えてはおもしろいものが出来そう、とテンションがあがり、
あがってくる曲を聴いては良い曲過ぎてテンションがあがり、
グラフィック(GUIやロゴ)があがってきてはテンションがあがり、
映像があがってきてはあまりのかっこうよさにテンションがあがり、
リハでTeddyLoidさんがあまりにも上手にライブ感ある演奏とどでかいスクリーンと迫力のあるサウンドシステムでみてはテンションがあがりと、最後の方は駆け込みで色々やって大変でしたがすごくやる気が高まるおもしろいお仕事でした。
僕はというとそれらの要素をインタラクティブなアプリとしてくみ上げたり音楽や映像やレーザーがうまく連携できるようにプログラムを書いてつなげるところを担当しました。

プログラム(オーサリング、通信部の開発)
というところでしょうか。

普段は原則一人で仕事をしているし、あまりチーム仕事が得意では無かったのですが今回のようなチームでやれるのであればみんなで組んで一つのものを作り上げるのも良いな、と思いました。
本番が始まるまでは本当にドキドキで久々に緊張したのですが、無事に動いてお客さんがすごい喜んでくれている歓声を聞いたときに報われた気がしました。

まだまだ改善点や反省点はありますが、これからもっともっとおもしろいものを作って行こう!と改めて決意したのでした。

参考動画(本番の動画が無いのでリハの様子です。):

改めて関係者のみなさま、これをみて楽しんでいただいた方本当にありがとうございました。
これからもよろしくお願いいたします。

OpenNIのUnityWrapper

[`evernote` not found]
LINEで送る
Pocket

このエントリはOpenNI Advent Calendar 2011 : ATNDの12月24日分です!!


さてクリスマスイブですが、
少し前からOpenNIにはUnityWrapper版が存在していますのでそれについて紹介します。

unity_screenshot

最近話題になっている、ゲームの開発環境のUnity3Dというものがあり、OpenNIのサイトからUnity3Dで使うためのUnityWrapperをダウンロードできます。

追記:
2013/06/12時点では(もう少し前からだったと思います)OpenNI公式のUnityWrapperは配布していません。
有料ではありますがこちらのZigfuを使えば同じ事+それ以上の事が出来ます。

opennidownload


Unity3Dについて:

Unity3D ( http://unity3d.com/unity/ ) とはゲーム開発ツールであり、WindowsとMacのどちらでも開発する事が可能です。
IDEがあるのでステージの画面を見ながら次々とオブジェクトを配置するだけでゲームの世界を簡単に作る事ができます。
プログラムはJavascriptとC#(mono)で書く事ができるのでweb開発者や.NETの開発者にも取っ付きやすいのではないでしょうか。
MacでもC#で記述する事ができます。

また、一人でグラフィックやサウンドやモデリング、プログラムを行うのは大変ですが、Unity3DではAsset Storeというものが用意されており、これを利用する事で必要な素材を入手する事ができるので気軽にゲーム開発を進める事ができます。

Unity3Dの無料版、有料版、ライセンスについて

無料版と有料版があり、無料版では制限はいくつかありますが、WindowsとMacで実行できますし、有料版にアップグレードする事でAndroidやiOSに対応させる事も可能です。
詳しいライセンスなどはUnity3Dのサイト( http://unity3d.com/unity/licenses )か、「強火で進め」さまのサイトが詳しいです。( http://d.hatena.ne.jp/nakamura001/20110710/1310292561


Unityのダウンロードからインストール

それでは、Unityをダウンロードしましょう。

http://unity3d.com/unity/download/より、Unityをダウンロードし、流れに沿ってインストールしてください。
インストール後、先ほどOpenNIのサイトからダウンロードしたファイル(Unity OpenNI toolkit 0.9.7.1.unitypackage )をダブルクリックしImport Packageより一式をunityにインポートします。
importが完了すると、Projectタブにこのようなファイル群が表示されます。
unity_project

OpenNI/Sample Scenes以下にすぐに試せるようなサンプルシーンが入っていますのでダブルクリックしてシーンを開き、三角の再生ボタンを押して次々と試してみるとUnity3D+OpenNIの可能性を試せると思います。
Unity_IDE

私はライブなどで使ったりしていますが、骨格をちゃんと映していれば問題なく現場でも使えます。今のUnityWrapperだと全身映す前提のコードになっているので、上半身だけ認識などに変更する事でより柔軟なアプリケーションが開発できます。

ではそれぞれのサンプルのキャプチャやサンプル動画をのせておきます。


サンプルのシーンについて

MultipleSkeletons:
僕は一人なので試せませんでしたが、複数人のスケルトンを認識できるサンプルだと思います。
MutipleSkeletons
NIGUIControl:
NIGUIControl
NIInputControl:
すごく地味なのですが、手を動かすと黒い四角が追従します。XBoxでもあるような、手で操作するゲームはこれを使うと作れそうですね。

SimpleGame:
上からふってくるボールにタッチするゲームです。実際に動いたりジャンプするとそれにあわせて画面も動きます。一番運動している感じになりそうですね。

SingleSkeleton:
スケルトンの情報をもとに画面のキャラクターが動きます。

せっかくなのでスケルトンをサンタにかえてみましたよ。サンタ気分で小さく踊ってみました。
あ、サンタのデータはAsset Storeで購入可能ですよ!

※この記事は、下記の環境で確認しました。

OpenNI 1.5.2.7
NITE 1.5.2.7
Unity3D 3.4.2f3

[iOS] 間違ったバージョンのdylibを追加してはまる

[`evernote` not found]
LINEで送る
Pocket

iOSアプリの開発で、adlantisの広告を入れて試すにはlibz.dylibが必要なのですが、プロジェクトにファイルを追加するのを横着して、間違ってsdk4.3のものを追加してしまった後、ビルドするとわけのわからないエラーが出て、どれだけ戻してもエラーが解消されなかったのですが、下記の画像のように Library Search Pathsに赤枠の”DeviceSupport/4.3.5″が追加されていることが原因でした。

これが現行のsdkと衝突して問題を起こしていたのかな?

library_searchpath

この赤枠の参照を外すと無事動作するようになりました。

CSS3アニメーションをjavascriptで起動する

[`evernote` not found]
LINEで送る
Pocket

時間が空いてしまいました。

さて、今回はCSS3アニメーションをjavascriptで設定、制御する例を残しておきます。
CSS3アニメーションはSafari(Windowsは未検証)、Mobile SafariではプロパティによってはGPUで動作するため、通常のアニメーションと比較すると非常に滑らかに動作します。

例えば矩形を動かしてみましょう。

css3アニメーションサンプル(webkit用) – jsdo.it – share JavaScript, HTML5 and CSS

idがrectであるdivをアニメーションさせています。

@-webkit-keyframes rectanimation
{
    0%{
	-webkit-transform: translate(0px, 0px) scale(0.5);
    }
    30%{
	-webkit-transform: translate(300px, 200px) scale(2);
    }
    100%{
	-webkit-transform: translate(300px, 100px) scale(1.0);
    }
}

#rect
{
    background-color: #f00;
    width: 100px;
    height: 100px;
    
    -webkit-animation-name: rectanimation;
    -webkit-animation-duration: 1400ms;
    -webkit-animation-iteration-count: 100;
    -webkit-animation-timing-funciton: ease-in-out;
}

では、これと同じコードをjsで書いてみましょう。せっかくなので、onclickでアニメーションを起動させてみましょう。
基本的には通常のcss->jsのルールと同様です。

CSS3アニメーション(javascriptで制御) – jsdo.it – share JavaScript, HTML5 and CSS

var tar = document.getElementById("rect");
    tar.style.webkitAnimationName = kfname;
    tar.style.webkitAnimationDuration = "1400ms";
    tar.style.webkitAnimationIterationCount = 100;
    tar.style.webkitAnimationTimingFunction = "ease-in-out";

再びフリーランスになりました。

[`evernote` not found]
LINEで送る
Pocket

タイトルの通りなんですが、会社を退職し、再びフリーランスとして活動することになりましたのでご報告致します。

先日までおよそ3年半、会社員としてつとめさせていただき、そのときはまだまだ力不足で御迷惑をかける事もありましたし、自分なりに悩んだり苦労したりという事もありました。
ただ、結果的には控えめというか、「おれはすごい」なんて思える性格ではない僕でも少しは成長もできたのではないかと思っています。
また、仕事の面では今まで想像もつかなかったような面白い仕事を沢山経験させていただきました。

おかげさまで今までだったらただビックリするだけの様な新しいものをみて憧れだけじゃなく実装方法や技術の活かし方まで意識できるようになりました。
また、性格を理解していただいて仕事しやすいように進めていただいた皆様にも感謝しております。

今後は人が触りたくなる、体験したくなるようなアプリって何だろう?という事を考えつつ作って行ければと考えています。

皆様今後ともよろしくお願いします。

※お仕事絶賛募集中です!よろしくお願いします1

[OpenGL] 画像をテクスチャで使う

[`evernote` not found]
LINEで送る
Pocket

OpenGLでは画像をテクスチャとしてマッピングする事が多々あるとは思うのですが、やり方を残しておきます。

なお、これはC++のプロジェクトを使った場合で、Cocoaは使えない状況を想定しています。

画像の読み込み

画像の読み込みには、OpenCVを使いました。ただし、IplImageはRGBではなく、BGRの順番で色データを格納しているので注意が必要です。

 // IplImageとして画像をロード
 IplImage* image = cvLoadImage("/events/mo1.png");
    
    int w = image->width;
    int h = image->height;
    int channels = image->nChannels;
    
    GLubyte* imageData = (GLubyte*)malloc(w*h*channels);
    
    for(int i = 0; i < w*h*channels; i+=channels)
    {
        imageData[i] = image->imageData[i+2];        // R
        imageData[i+1] = image->imageData[i+1];   // G
        imageData[i+2] = image->imageData[i];       //  B
        if(channels > 3)
        {
            imageData[i+3] = image->imageData[i+3]; // Aが存在する場合
        }
    }

以上で画像データをOpenGLで使える形式に読み込む事ができました。
次に、テキスチャとしてバインドします。

 // テキスチャの生成
    glGenTextures(1, &g_imageTex);
    // テキスチャと変数をバインド(関連付け)
    glBindTexture(GL_TEXTURE_2D, g_imageTex);
    // 各種フィルタの設定
    glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
    
    // 実際のテキスチャを設定
    glTexImage2D(GL_TEXTURE_2D, // テキスチャの種類。
                 0,             // level: 解像度が単一の場合は0
                 GL_RGB,       // どの成分が画像のテクセルに使用されているか
                 w, h,          // サイズ
                 0,             // border: 境界の幅
                 GL_RGB,       // 描画フォーマット
                 GL_UNSIGNED_BYTE, // データの型
                 imageData          // 実際のデータ
    );
 

実際にテキスチャを表示させる処理。(display関数内部)

glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glEnable(GL_TEXTURE_2D);
    
    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
    //glBindTexture(GL_TEXTURE_2D, texName);
    glBindTexture(GL_TEXTURE_2D, g_imageTex);
    
    glBegin(GL_QUADS);
    // OpenGLの座標とテキスチャの座標をマッピングする
    glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f,  1.0f, 0.0f);
    glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, -1.0f, 0.0f);
    glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, -1.0f, 0.0f);
    glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f,  1.0f, 0.0f);
    
    
    glEnd();
    
    glFlush();
    
    glDisable(GL_TEXTURE_2D);

Word Pressの自動アップデート

[`evernote` not found]
LINEで送る
Pocket

連続Postですみません。

最近WordPress上でアップデートが可能になってとても便利だな〜なんてのんびり喜んでいたのですが、google analysisのプラグインの設定が消えてしまう、という問題が起こりました。

実際このサイトは誰が見ているんだろう、という位なのでpvとかあまり意識していなかったのですが、ある日を境にアクセス数が0になってたので、さすがにこれはおかしいと思い調べてみると、UA-00000-0というような値になってしまっていました。。。。

メニュー下部のここをクリックして設定を確認してみるとよいと思います。

wpの環境設定

wpの環境設定

2009/07の近況

[`evernote` not found]
LINEで送る
Pocket

かなり投稿回数が少なくなってしまっているブログですが、つい先日までは本業で時間をいっぱいいっぱい使ってて、全く動けない状態でした。

だけど、これからは時間ができたのでiPhone開発合宿の予定を再調整したいです。http://123.writeboard.com/8464cc38ec43064f5 pass:ipdc09

とてもありがたいことに今月は結構休みを頂けることになったので、この間にflashとiPhoneの一人合宿?も行って成長しないと!

メモ FMDatabaseについて

[`evernote` not found]
LINEで送る
Pocket

自分への備忘録的なメモです。

iPhoneアプリ開発で、sqliteに対してFMDataBaseを使う場合、

select : executeQuery

他(delete, update, create table, insert..) : extecuteUpdate

です。

さっき間違って使っていて、[db close]しようとするとそこでロックしたような状態で動かなくなってしまいました。