Posts Tagged “HTC Vive”

StingrayVRテンプレートのVR向けノードをまとめてみた

By |

StingrayVRテンプレートのVR向けノードをまとめてみた

Stingrayのビジュアルスクリプティング機能、『Flow』では、 最初のテンプレートの選択によってVRに特化したノードを使用することができるため、 簡易的な物であれば建築分野用のVRデモなどを実装することもできます。 今回は、VR特化のノードについて、用途ごとに以下にまとめてみることにします。 ちなみにSteamVR(HTC Vive)用のノードを例にして挙げていますが、 StingrayにはOculus/GoogleVR/GearVR用のノードもあります。 ただし、どのHMDでも内容はほぼSteamVRと同一の為、割愛します。 最初に注意点ですが、 VR用ノードはStingrayのVRテンプレート実行時に同時に作成されるという仕様のため、 プロジェクト作成時に『VR HTC Vive』テンプレートを選択しないと、下記のノードが使用できません。 (使用するHMDによってテンプレートを選択してください) ※Viveコントローラの入力を取得したい ・SteamVR Button このノードはUpdateピンに接続されたタイミングで 『Controller Index』に設定されたコントローラの 『Button Name』に設定されているボタンが押されたかどうかを取得し、 処理を分岐させています。 ボタンの割り当てはViveの公式ドキュメントを参考にしてください。 (尚、システムボタンだけどういうわけか反応がありませんでした) 『Pressed』は最初にボタンが押された時、 『Held』はボタンを押し続けている時、 『Released』はボタンから指を離した時にそれぞれ呼ばれます。 『Value』は入力の状態を0~1の範囲で返します。 (指を離している時が0、完全に押し込んだ時が1。) 以下はトリガーの入力の範囲をログに出力するサンプルです。 画像のようにノードを接続しています。 ・SteamVR Touch こちらのノードは上述したButtonの『Touch Up』~『Touch Right』までをより詳細にしたノードです。 Buttonの方と同じ、『Pressed』『Held』『Released』の他、 タッチパッドに触れている間呼ばれ続ける『Touched』と タッチパッドから指を離したときに呼ばれる『Untouched』が追加されています。 X/Yは指先が触れている座標を中央を0として1~-1の範囲で返します。 ちなみに、どちらも『SteamVR』->『Input』の中にあります。 ※Viveコントローラに振動を与えたい ・SteamVR Controller Feedback このノードは『Controller Index』に設定されたコントローラに対し、 『Seconds』秒間の振動を与えます。 ただし、0.003999以上の値を設定すると、 強制的に0.003999に合わせられてしまいます。 VRのデモなどで『何かに触れた』という事を表す場合は単体で使用すればよいのですが、 ゲームなどの演出のように、長期的に振動させたい場合は、 画像のように連続で呼ばれるような処理を作る必要があります。 ※HMDの画面をフェードさせたい…

UE4のVRテンプレートを利用してミニゲームを作ってみよう!(一応の最終回)

By |

UE4のVRテンプレートを利用してミニゲームを作ってみよう!(一応の最終回)

この記事は以下のような方を対象としています。 ——————————- ・VR機器を持っていて、UE4でとりあえず使ってみたい方 ・UE4での経験がまだ浅い方 ——————————-     前提のスキルとして ——————————- ・UE4のエディタの操作方法がわかる ——————————- があればOKです。   また、先に前回・前々回の記事を読んでから、この記事を読み始めていただきたいです。   こんにちは、名残惜しいですが『パンチングゲーム制作』は今回で一旦の最終回です。 最後までしっかりやっていきましょう!     さて、前回まででは 『敵のBPの追加』 『敵のパラメータを設定』 『敵の移動処理』 『敵が死亡したら消える処理』 をやってきました。   今回はついに 『攻撃時に敵を死亡させる処理』 『プレイヤーが敵に攻撃する処理』 『レベルそのものの設定』 『プレイ中に敵をスポーンさせる処理』 『出来上がったものを試しにプレイ』 をやっていきます。     11.敵のブループリントを実装しよう!(ラスト) 敵のブループリントもこれで最後です。 これまでに『生存している間、移動する処理』と『死亡したら消える処理』を実装してきました。 そうなると、残っている処理は『生存/死亡を切り替える処理』です。   最初の仕様の通り、生存/死亡が切り替わるタイミングとは『プレイヤーに殴られた時』となります。   プレイヤーに殴られた時に呼び出されるイベントに、生死を切り替える処理を実装しましょう。   もしかしたら忘れている方もいるかもしれませんが、こういう時こそ『BPインターフェイス』を利用します。 画面上の『クラス設定』を選択し、『詳細ウィンドウ』の『インターフェース』→『実装インターフェース』に、初期に作成した『PunchingInterface』を追加しましょう。 これで、殴られたとき用のイベントが追加できるようになります。     ブループリント上で右クリックを行い、これまた最初に作成した『Punching』イベントを追加しましょう。 (インターフェイス追加後にコンパイルしないと表示されないので要注意です) これが殴られた時に呼び出されるイベントです。 あとはこの先に生死を切り替える処理を実装しましょう。 生死を判定している変数とは、そう、『IsAlive』です。 『IsAlive』をFalseに変えてしまえば敵の実装も完了です!…

UE4のVRテンプレートを利用してミニゲームを作ってみよう!(第二回)

By |

UE4のVRテンプレートを利用してミニゲームを作ってみよう!(第二回)

    2017/04/14:記事の文章にあった間違いを修正しました。 トランスフォームの可動性を変更しないと動かせませんね…。 失礼しました。     この記事は以下のような方を対象としています。 ——————————- ・VR機器を持っていて、UE4でとりあえず使ってみたい方 ・UE4での経験がまだ浅い方 ——————————-     前提のスキルとして ——————————- ・UE4のエディタの操作方法がわかる ——————————- があればOKです。   また、先に前回の記事を読んでから、この記事を読み始めていただきたいです。   こんにちは、前回から始まった『パンチングゲーム製作』。 わかりやすく説明できたでしょうか?     さて、前回まででは 『VRテンプレートでのプロジェクト作成』 『不要なBPの削除』 『BPインターフェイスの作成』 をやってきました。   今回は 『敵のBPの追加』 『敵のパラメータを設定』 『敵の移動処理』 『敵が死亡したら消える処理』 を実装していきます。   ガリガリ、というほどではありませんが、 それなりに本格的にBPを弄っていきますので、気を引き締めましょう!     6.敵を追加しよう! ついに敵キャラを作ります。 『新規追加』→『ブループリント クラス』で新しいBPを作成します。 StaticMeshActorを継承しましょう。 球体型の敵にしようと思うので、『BP_Enemy_Ball』と名付けましょう。     7.敵のパラメータを設定しよう! さて、今のままだと何も見えません。 敵の姿を追加していないためです。 敵のBPを開いて、『StaticMeshComponent』の『StaticMesh』を変更し、敵の姿を設定しましょう。…

UE4のVRテンプレートを利用してミニゲームを作ってみよう!(第一回)

By |

UE4のVRテンプレートを利用してミニゲームを作ってみよう!(第一回)

この記事は以下のような方を対象としています。 ——————————- ・VR機器を持っていて、UE4でとりあえず使ってみたい方 ・UE4での経験がまだ浅い方 ——————————-     前提のスキルとして ——————————- ・UE4のエディタの操作方法がわかる ——————————- があればOKです。     『せっかくHMDを買ったんだし、自分でVRゲームを作ってみたい!』   この記事を見ている方の中にも、そういった考えを持った方がいらっしゃるのではないでしょうか? ごもっともな考えです。新しい機材が手に入ったのならば、その機材を使ったゲームを作りたいと考えるのはクリエイターの性ですからね。     しかし、いざそういった機材を使ってゲームを作ろうとすると、なかなか作れないのが現実。 Unityを使おうとすれば色々とややこしい設定が必須になり、 ネイティブで実装しようとした場合の苦労は言わずもがな。 『VRで動くプログラムを見たい』、ただそれだけなのに、 そこへ辿り着くまでに力尽きてしまうこともありえます。     という事で、今回からは 『簡単にVRを使う』 『簡単に作れる』 『わかりやすい』 の3点を重視して、UnrealEngine4(以下UE4)を利用して VRのミニゲームを作っていきたいと思います。 (全3~4回予定)     0.作り始める前に… まず、このチャプターでは 『どんなゲームを作るのか』 『そもそもなぜUE4を使うのか』 の2点について説明します。     実装には関係ないチャプターですが、一応読んでおいて頂きたいです。   『どんなゲームを作るのか』   以下がゲームの仕様です。   ・プレイヤーはフィールドの中心にいて、移動はできない ・エネミーはフィールドの四方からスポーンしてプレイヤーに近づいてくる ・操作はモーションコントローラを使用 ・グリップトリガーを引いている間攻撃モードになる ・攻撃モード中に拳が敵に当たると、敵を撃破する ・テスト目的なので極力シンプルに。…

Go Top