オブジェクトを向いている方向に真っ直ぐに飛ばす方法
敵が攻撃する時に、敵が向いている方向に対してまっすぐに攻撃を飛ばす方法です。
- 使用したツール / 環境
- やりたいこと
- オブジェクトが向いている方向とは
- オブジェクトの動かし方について
- z軸方向への移動
- x軸方向への移動
- y軸方向への移動
- 軸と違う方向に動かす方法
ゲーム内でVRMモデルに攻撃に当たった時にBlendshapeを操作して表情を変える
OculusGoでゲームを作成しました。ゲームではVRMモデルを配置して、攻撃が当たったらそれをトリガーにして表情を変えるようにしました。そんなに難しいことはしてなくて、攻撃で使用されるオブジェクトがモデルに当たったらBlendshapeの値を変更しているだけです。それでも状況に合わせて表情が変わるとリアリティが出るな~と思いました。
VRMのBlendshapeについては下記URLを参考にしてください。
ブレンドシェイプの設定 - dwango on GitHub
- 使用したツール / 環境
- やりたかったこと
- 当たり判定 & Blendshapeの変更
- 感想
OculusGoでリリースする際のテクニカルレビューポリシーのポイントを整理する
OculusGoでアプリをリリースするときに、下記URLに記載されている要件を満たす必要があるのだが、毎回調べるのも面倒くさかったので、自分が過去にハマったポイントだったり、実装が必要だったりする部分をまとめた。今回、一発でテクニカルレビューは通っているので、問題ないはず。
Mobile Virtual Reality Check (VRC) Guidelines
- 使用したツール / 環境
- チェック表
- 関連記事
- まとめ
OculusGoアプリのリリースに向けて行ったパフォーマンス・チューニングまとめ
Oculus Go でリリースする時にどうしても問題になるのが、パフォーマンス・チューニングです。今回のリリースで何を対応したか記載します。まず、常時60FPSは出ている必要があるために確認したところ、全シーンで30~40FPS程度しかでていなかったので、フレームレートが低いことを解消することを目的としました。
- 使用したツール / 環境
- 最初にやったこと
- 現在のパフォーマンスと負荷の原因を確認する
- さらに修正方針を検討
- やった中で効果的だったこと
- 無駄な描画の削除
- 影の描画設定の変更
- やったけどそこまで効果がでなかったこと
- 設定の最適化
- Occlusion Culling
- まとめ
- 感想
OculusGoで起動しているアプリのパフォーマンス情報をUnityのProfilerから確認する
ゲームを作成していて、FPSが60にいかないのでアプリを起動している状態でのProfilerを確認する方法を調べた。
OculusGoで起動しているアプリのProfilerを確認する方法
www.vrgo.tokyo
使用したツール / 環境
- Unity 2017.3.1f1
やったこと
上記サイトと少し違かったのは、私の環境では
この2つにチェックを入れいてること。
それと、Buildした後に
Window > Profler だけだと反映されていなかったので、Unityを再起動しました。これで起動したので、うまくいかない人は試してみてください。
感想
後はパフォーマンス・チューニングを。。。。
Rigidbodyを使用しないでオブジェクトの軌道予測線を表示する
またVRゲームを作っていて、飛んでくるオブジェクトを斬っていくゲームなのですが、イメージとしてはSAO2期 9話「デス・ガン」でキリトがシノンを守って敵の弾丸を全て叩き落とした時のようなシーンを作り出したいなと思っていて、今回はそのゲーム世界の要素の一つである「弾丸の軌道予測線」の作り方についてまとめます。(わからない人はアニメ見てください!)
こんな感じで、オブジェクトを生成すると同時にその軌道を線で表示します。その線の軌道をオブジェクトが動きます。
- 使用したツール / 環境
- 作り方
- オブジェクトの配置
- LineRendererの設定
- Prefabs化からのオブジェクト生成
- まとめ
- 感想
DOTweenProでオブジェクトを動かす
Tween系で有名な、DOTweenPROを使用してみました。以下みたいなアニメーションをかなり楽に作ることができます。なんか、装備している武器の変形とかかっこよくできそう。
- やりたいこと
- 使用したツール / 環境
- やること
- DOTweenの購入・インポート
- オブジェクトの配置
- 実装
- 感想
Simple Mesh Cutter を使ってみた。【使用方法】
こんかいはSimple Mesh Cutter のアセットを使ってみたので、そのメモを残します。
完成形がこちら。
今回書きたいこと
ただ、使用方法が最初わからなかったので、簡単に使用するための方法について書きます。内容的にはサンプルシーンにあるのを真似ただけなのですが、自分でもきっと忘れてしまうと思うのでまとめます。実際にどういう挙動しているのか、コードはそのうち読みたいなと思ってます。
使用したツール / 環境
- Unity 2018.13f1
- SimpleMeshCutter
- UniVRM
まずやること
斬られるがわ
Cubeを使用しました。
Cubeに"CutterTarget"と"Slicer"スクリプトをアタッチします。CutterTargetのMeshにはHierarchyから配置したCubeをドラッグします。
これで準備完了。
斬る側
斬る側では、斬るための剣をParticleを使用して作成しました。さらに、Particleの親オブジェクトに、Colliderをアタッチしたオブジェクトを子として配置します。そして、このColliderに対して"Cutter"と"Blade"と"Rigidbody"をアタッチします。
その後はRigidbodyのConstraintsのチェックをすべて入れます。こうしておかないと、斬ったあとにオブジェクトがふわふわどっかへ飛んでいきます。
次は、CutterスクリプトのCutDefaultMaterialに"Cut"を追加して、BladeスクリプトのOverride Materialに"DestructionAddtiveGS"とEffectPrefabに"BladeEffect"を追加します。これで一通り完了です。あとは、ColliderがうまくCubeを通り過ぎるように動かしてみてください。
感想
いちおう動いたけど、中身をみないと詳しくはわからないので、ちゃんと確認しておきたい。