スキップしてメイン コンテンツに移動

投稿

7月, 2013の投稿を表示しています

Unity入門のChapter6のアニメーションをUnity4.0で動かす

「Unity入門」のChapter6-3のアニメーションを見てみる、 スクリプトからアニメーションを制御するをやってみようと思っても、 Unityのバージョンが違うことからうまくいかない。 それぞれ以下内容で対応ができた。 メモとして残しておきます。 (対応方法あってるのかな・・・) ドラッグアンドドロップしたGenericManを選択し、InspectorのRigを選択します。 Animation TypeがGenericになっているので、Legacyに変更します。 Applyボタンを押下します。 (Revertボタンは破棄なので、困ったらこれ押せば戻ります。) InspectorのAnimationsを選択します。 Clipsにある各Animations(図ではWalk)のWrap ModeをLoopに変更します。 Applyボタンを押下します。 後は本に記載のあるとおりスクリプトを書けば、正常に動作するはずです。

C#とLeapMotionでカーソルを操作する

Leap Motion: Move Cursor を参考に、 C#とLeapMotionを使ったカーソル操作のためのコードを、 なるべく簡素に記述します。 ※VisualStudio2012を利用しています。 LeapMotion用に、dllの参照などを設定しておきます。 LeapMotionをC#で使う方法 を参照。 Consoleアプリケーションを作成します。 マウスを動かすためのWin32APIを呼び出すクラスを準備します。 using System.Runtime.InteropServices; namespace MoveCursor { class MouseCursor { [DllImport("user32.dll")] private static extern bool SetCursorPos(int x, int y); public static void MoveCursor(int x, int y) { SetCursorPos(x, y); } } } LeapMotionの動作の根幹となるクラスを作成します。 using System; using Leap; namespace MoveCursor { class LeapListnerMin : Listener { public override void OnInit(Controller cntrlr) { Console.WriteLine("Initialized"); } public override void OnConnect(Controller cntrlr) { Console.WriteLine("Connected"); } public override void OnDisconnect(Controller cntrlr) {

やっぱり今の時代は英語も要るよね

LeapMotionを触ってみて、 意外にとっつきにくいと思った二つの記録を残しておきます。 単純な実力不足ですが。。。 Leap Motion のC#のAPI LeapMotionのC#のAPIを探すのに時間がかかった。。。 Google検索でスパッと出てくれればいいのに。 ここ です。 最初に読むと良いところ 後、英語が苦手な人には、 LEAP MOTION JPDOCの オーバービュー を読んでからはじめると、 Leapのドキュメントも読みやすいし、 プログラミングもしやすいと思いました。 実際に自分も先にこれ読んでたらもっといろいろわかりやすかったなって思った。 例えばtoolってなんだよって思ってたら、 ツールは指より長く、より薄く、より直線です。 とのこと。 なるほど~。 って、LeapMotionのサイトを訳してくれているだけなので、 そういう意味では本家を理解できればそれでいいのだと思います。 少しずつ慣れていければ、いいものが作れそうな気がします。 ついジェスチャーとかを考えたくなるけど、 実際には必要になったときに構築すればよいかなと。 やはりその前にどんなものが必要か、 どういったアプリが使えるのかを考える必要があると、 あらためて思いました。

LeapMotionをC#で使う方法

UnityでLeapMotionが使えたので、 今度はC#でもと思ったのだが、これがなかなかはまった。 結論的には、 ” Leap Motion Developer SDK で開発できる環境を整える(Windows C# 編) ”を、 見れば大丈夫です! とは言えそこにいくつくまでにいろいろ手間取ったので、 記録を残しておきます。 ここ (LeapMotionのサイト)とか ここ (C# MVPの人)にdllを並べてみる。 (他にも参照の設定とかもしてあります。) コンパイルは問題なくOK。 ところが実行したら、TypeInitializationException発生 なんかよくわからん例外が発生し困る。。。  とりあえずInnerExceptionを確認すると、 DLL'LeapCSharp'が読み込めません、とのこと。 言われたとおり並べたんだけど。。。 ” Leap Motion Developer SDK で開発できる環境を整える(Windows C# 編) ”を、 確認したらパスを通していた。 ならってパスを設定。 (なぜx86にパスを通すのだろうか?  自分のマシンも64bitなんだけどな・・・、うまくいっちゃうし・・・。  誰か知っていたら教えてください。) 問題なく実行できました、めでたしめでたし。 こちらもまた実行する方法はまた次回。 それにしても全然使い方法を書いていないな。

LeapMotionをUnityで使う方法

UnityでLeapMotionを使用するための手順です。 この サイト を参考にさせてもらいました。 環境は以下の通りです。 Windows7SP1 LeapMotion 1.0.2+7287 Unity 4.1.5f1 以下設定手順です。 準備 LeapMotionのセットアップを完了さておいてください LeapMotionのSDKをダウンロードしておいてください。 詳細は LeapMotionのサイト を参考にしてください。 Unityでプロジェクトを新規作成します。 まず二つのdllをコピーします。 コピー対象のdllとコピー先がポイントなので間違えないようにしてください。 LeapMotionのSDK(この場合だとC:\Programs\LeapSDK\lib\UnityAssets\Plugins)にある、Leap.dll、LeapCSharp.dllを、 Unityプロジェクトのトップ(この場合だとC:\work\LeapMotion\UnitySampProject)に、     コピーします。 Pluginをコピーします。 LeapMotionのSDK(この場合だと...割愛)にある、 LeapCSharp.NET3.5.dllを UnityのAsset(この場合だとC:\work\LeapMotion\UnitySampProject\Assets\Plugin)に、 コピーします。 ※Pluginフォルダは作成しました。 Unityからも追加されていることが確認できます。 SampleScriptを作成し、using Leap(3行目)を記載しても、 問題なくコンパイルが通ることを確認します。 これでLeapMotionを使う準備は完了です。 LeapMotionを動かすプログラムを書けば、自由自在に動く、はずです。 実際にUnityでLeapMotionを動かすのはまた次回。

Oculus Riftがみせる未来

Oculus Rift Development Kitが我が家に到着。 発注から到着まで、間6日!!(7/17発注、7/23到着) 中国産のせいか、香港経由で入ってきました。 さっそくPCと接続してデモを稼動させましたが、 こ、こ、これは、すごいよ。。。 ざっくり言うと、ディズニーが家に来たようです。 結局簡単(?)なデモでも、30分ぐらいだらだら見てしまった。 デモを利用した所感を書きます。 ある程度予想はしていたが、 それでも驚くほどの没入感がある。 完全に視野が覆われていることに要因があると思われる。 両眼立体視していることから、鮮明度はやはり上がって見える。 素人でも一目瞭然のすごさがある。 ゲームにさほど興味の無い妻でも、 これは驚き、おもしろいとのコメントを拝領。 解像度の問題から画面のドットは簡単に目視できる。 それにも関わらず、上述通り没入感がすごい。 これで解像度が上がったら、本当に現実との境目はなくなるな。 メガネだと死ぬほど使いにくい。 このDevelopment Kitは裸眼前提だと思った。 3種類あるうちのど近眼用を使えば、裸眼でもけっこう普通に見えたけど。 (ちなみに私の視力は0.02とかです、正確にはよくわかりません。) 海とか葉っぱとかがまったく動いていなくて気持ち悪い。 滑るように動くのも気持ち悪い。 人間型のロボットと一緒で、 リアルになるとある一定ラインから気持ち悪い感が強くなるのかな。 手を伸ばして、手が見えないのが不思議なくらい。 現実世界で普通に壁にぶつかれる。 仮想世界は広がっているのに・・・。 解像度が低くても、それを補完してリアルに感じる。 やっぱり人間の脳の補正はすごいね。 いや、これを作ったのがほんとすごい。 未来がすぐそこにあるわ。

Unity入門のJavaScriptをC#へ

「Unity入門」を購入して、Unityの勉強を始めました。 JavaScriptで本書は記載されていますが、 自分はC#でScriptを書いています。 他の人のサイトを読んだときに便利だと思ったので、 JavaScript→C#への変換をメモします。 ■P.187 @HikdeInInspector var score : int ↓ [HideInInspector] public int score; ■P.188 @script RequireComponent ↓ [RequireComponent(typeof(ScoreKeeper))] public class Referee : MonoBehaviour { また何かあれば書きます。 リクエストがあれば、コメントください。

Omniがおもしろそうだな~

ちょっと前に気になっていたURLを確認したので、そのメモ。 ■ 一人称視点のホラーな「パックマン」  OculusRiftで作ったら、さらにおもしろそうな気がする。  没入感から恐ろしさも増すかな~。 ■ 「WorldKit」:どこでもタッチパネルに変えるテクノロジー  コンセプト自体はどっかにあるかもしれないけど、  きっちり実装して現実世界におとしこんでいるところがやっぱりすごい。 ■ 4Dプリンタを発表?マサチューセッツ工科大学がすごいわけ  4Dプリンタはどうかわからんけど、この中のInfinity-by-Nine。  周辺視野が埋まると没入感があがるから、これも手軽ですごくよさそう。  複数面でみんなで使えるのもすごくいいと思う。  体験してみたいな~。 ■ 「ゴキブリ+Kinect」の災害救助システム  物の裏側はどうやってトレースするんだろう?  Kinectみたいなものをゴキブリロボットに埋め込めたら、  精度も自立度も上がるのでは。 ■ 自分の体を動かしてゲーム中を走ったりできる完全VRを実現したデバイス「Omni」  外から見るとちょっと間抜けだけど、実際にやったらすごいおもしろう。  いつかはこういったものの作成に携わりたいものです。  その前に体験したい(笑) ■ アイ・トラッキング、3次元タッチパッド搭載のウルトラブック?    キーボードとマウスの入力形態も変わるかも。  NUIの時代がどんどん近づいてきている。 以上。

Unityの標準スクリプトエディタをVisualStudio2012に設定する方法

Unityの標準スクリプトエディタをVisualStudio2012に設定する方法。 メニューから Edit → Preference... を選択する。 ExternalToolsを選択する。 MonoDevelopとなっているドロップダウンを選択し、Browse...を選択する。 表示されるフォルダにあわせて、VisualStudio2012を起動するexeを選択する。 Unity再起動。(再起動後にデフォルトで起動するエディタが変更されるもよう) 以上。