VRでホタルを見る

せっかくのVRで、見たいものをパパッと作ってみようと思ったのでなんとなくホタルを見るVRをつくってみます。

 

ちなみに、VRがなくとも使用法は変わらない内容です。Defaultで新しいマップを作ってください。

 

まず、景色を夜に変えます。

AtmosphereFogのsun multipilerをさげて、Disable Sun Diskにチェックをいれて太陽を消します。つぎに、SkySphereのDirectional Light Actor の値をなしにして、Sun Heightの値を-1にします。

f:id:k_n_gk:20160624121228p:plain

すると、景色が夜になったかと思います。

 

あとは、ホタルっぽいマテリアルを作ってみます。

コンテンツブラウザで右クリックをして新規マテリアルを作成します。

マテリアルエディタを開いたら左クリックでVectorParameterを呼び、カラーピッカーで黄緑色を作ります。

あとは、画像の通りにノードを組んでみてください。

f:id:k_n_gk:20160624123108p:plain

最後にエミッシブカラーにつなぐことでビカビカ光るということです。

TimeとSineによって点滅します。

あとはこのマテリアルを物にはっつけるだけです。

 

光るもの、点滅するものは使い勝手がいいのでためしてみてください。

 

Vive をUE4で使う

前回使用したviveをUE4で動かしてみます。

 

まず新規プロジェクトを作成します。

ターゲットハードウェアの設定を

バイル/タブレット

スケラーブルな3D・2Dに変更して作成。

f:id:k_n_gk:20160604190745j:plain

 

次に、ゲームモードブループリントとポーンブループリントを作ります。

ワールドセッティングのGameMode Overrideを今作ったゲームモードに、Default Pawn

Class を作ったポーンに変えます。

 

次にポーンのブループリントエディタを開きます。

コンポーネントを追加からSteamVRChaperoneを選択します。もし、見つからない場合はSteamVRのプラグインのチェックが外れているかもしれません。設定のPluginsからSteamVRを探して有効にしてください。

次にCameraをコンポーネントを追加から選びます。

ポーンの詳細のCameraにあるBase Eye Heightを0にしたら準備完了です。

プレイの中のVRプレビューを押しましょう。

f:id:k_n_gk:20160604190450j:plain

殺風景だったので画像では物を置いたりしていますが、VRにてUE4の世界に入ることができました。

 

次回はコントローラーの入力を絡めた内容の予定です。

HTC Vive セットアップで躓いたこと

大学の研究室にHTC Viveがやってきましたので使えるようにしておこうと思ったのですが、諸所で躓いたので覚書。

 

1.スペースが必要

立ったまま少し歩いたりしてプレイするので広さが使う場所の広さがないといけません。うごく時にコードが邪魔になるので設置時にひと工夫あるといいかもしれません。

サポートする人をつけるというのも手です。

2.高さも必要

ベースステーションという機械で位置をトラッキングするのですが、プレイヤーが手を挙げてもベースステーションの視界からでない高さが必要で、その高さにベースステーションをセッティングする術も必要です。さらにその場所の近くにベースステーション用の電源が確保できなければいけません。

公式では壁の高い位置に穴をあけて取り付けることをお勧めされますが、研究室の壁にに穴をあけることはできないので

デジカメなどについているネジがベースステーションにもありますので三脚に取り付けるのは簡単です。

 

3.ネット環境が必要

SteamVRをインストールするためです。ふつう問題なくネット環境はあるかと思いますが、私の場合大学でしたのでプロキシにはじかれて面倒だったので念のため留意を。

 

4.ノートパソコンでは動かないことも

最初はノートPCで動かそうとしていましたが、オプティマス機能がVRと相性が良くないらしく208エラーが出てしまいました。

多少性能は落ちるもののデスクトップで試したら問題なく動きました。

 

これらの壁を乗り越えやっと遊べるHTC Vive。Steamで幾つかの作品を遊びましたが、

素晴らしい体験が待っています。

 

 

kinect v2をUE4で使う

今度の制作でkinectを使うことになったので導入してみました。PCで使うには専用のケーブルが必要です。

 

(今回kinectSDKを手に入れるところは省略しています。各自でインストールしておきましょう)

 

ただ単にkinectをつないでもびくともしないので、UE4で使えるようになるプラグインを手に入れます。

まずはプロジェクトを作ります。

 

Kinect4Unrealというデータを検索してダウンロードします。

次に、プロジェクトと同じ階層に新しく「Plugins」というフォルダを作成します

f:id:k_n_gk:20160513010326j:plain

そのPluginsにてにいれたK4Uを移動します。

その状態でプロジェクトを開き、設定のPluginsを確認します。

f:id:k_n_gk:20160513010806j:plain

Kinect4Unrealが発見できれば成功です。UE4でkinectが使えるようになりました。

簡単な動作確認です。コントローラーブループリントを作成して、コンポーネントの追加からKinectInterfaceを追加します。

このコントローラーブループリントをワールドセッティングからPlayerControllerClassに選択します。

 

アクタブループリントを作ります。

イベントグラフでコントローラーブループリントを呼び出して変数に昇格します(下記のようになります)。

 

f:id:k_n_gk:20160513011333j:plain

 

さらにコンポーネントを追加からスタティックメッシュのSphere複数追加して下記のブループリントを参考に体のパーツをSphereの数だけ読み取れるようにします(下記の例は右手と左手の位置にSphereが移動します)。

 

f:id:k_n_gk:20160513013044j:plain

 

コンパイルしてマップのどこかに配置し、実行すると・・・。

 

球が手の動きに合わせて動きます。

f:id:k_n_gk:20160513011058j:plain

 

 

これで導入と動作確認はおしまいです。

まだまだ機能はあるのでまとまったら記事にしていきます。

Leap Motion を手に入れました!

UEの4.11から標準でLeap Motionプラグインが入っているとのことで、試しにやってみました。

 

 

まずは手に入れるところから…

 

 

そもそもこれは何なのかというと小型のモーションキャプチャーでユーザーの両手の動きをかなりの精度で読み取ります。

 

UE4で使用するとどうなるか…

まずは下準備から。UE4.11を開いて設定のPluginsをおし、Input DevicesのLeap Motion PluginをEnableにします。(変更を適用するために再起動します)

 

f:id:k_n_gk:20160426230452j:plain

 

次にLeapRiggedCharacterブループリントを作成し、マップのどこかに置きます。

gamemodeのdefaultpawnclassに今作ったLeapRiggedCharacterブループリントを指定してLeapMotionに手をかざすと…

 

f:id:k_n_gk:20160426233222j:plain

 

かざした手の動きに連動した黄色い手が現れると思います。

 

これだけでもなんかちょっと楽しいですが、次回からゲームに組み込む準備をしていきます。

 

 

UE4 ぷちコン 応募しました!

まだまだUE4初心者の域を出ていないびきたろうですが、個人製作品を第5回UE4ぷちコンに応募させていただきました!

チームの一人としてはコンテスト応募したことがありますが独力で応募したのは初めてです。

 

これがその作品です

 

 

2週間ほどかけて作りました。

といっても時間をかけたところは2D素材の扱いを勉強してそれをふんだんに組み込む構成を考えた部分です。

 

テーマが「愛(AI)」でしたのでシリアスゲームとして動物愛護を訴えてみようとしたが・・・企画力不足を感じました・・・

 

それでも、技術的に組みたかった2D素材のスライドショーはUEっぽさがなくて満足しています。

 

動画編集もほぼ初めてだったので、お粗末な出来です・・・これは次の機会までにみにつけないとな。

 

動画の画質がかなりおちてしまったのでスクショを置いておきます。

 

f:id:k_n_gk:20160417172750j:plain

f:id:k_n_gk:20160417172738j:plain

f:id:k_n_gk:20160417172827j:plain

f:id:k_n_gk:20160417172850j:plain

f:id:k_n_gk:20160417172903j:plain

 

作品のアップロードはあまり考えてません。

正直やってみたいという人もあんまりいないかもですので。

気が向いたら、ブラッシュアップして製品版として無料配布するかもです

 

 

プログラムの勉強法

プログラムの勉強で特に気を付けたいことは何でしょうか。

 

私は最近、半年~一年半ほど前に打ったコードをきれいに打ち直すことをしていますが

これがかなり力になると思いました。

 

プログラムを書くときに最も重要なことは

ほかの人がみて理解できるコードにすることだと思います。

 

それを意識しなければ、半年前のコードですら打った本人が読めなくなってしまうからです。

 

昔のコードを読みやすく書き直すのはなかなか難しいです。コードを読み解く力も必要です。

 

しかし、最初に書いたころの力量と今の力量を比べてるようなものなのできれいに書き直せればモチベーションにもつながります。

 

関数や分割コンパイルを使わずにmainにずらっと書いてるソースはありませんか?

コメントを全く書いてないコードはありませんか?

非効率的な構成でごり押してるコードはありませんか?

 

これらはとてもいい教材になりえます。

黒歴史ノートを開くようなものですが、初心者だったあの頃のコードを今一度確認&修正をしていくことを推します。

 

ほかに、こういうことをするといいというものがあれば教えてください。