【Unity VR】移動範囲の制限(円形状の透明な柵みたいな感じ)
>|cs|
if (Input.GetKey(KeyCode.W) || OVRInput.Get(OVRInput.Button.PrimaryThumbstickUp) || OVRInput.Get(OVRInput.Button.SecondaryThumbstickUp))
{
var forward = Head.forward;
forward.y = 0;
//加算式
thispos += forward.normalized * Time.deltaTime * Scale;
//現在位置(ex11,11,11←制限) = スポーン位置(ex10,10,10) + 3次元制限(現在位置(ex11,12,13) - スポーン位置(ex10,10,10),制限値(ex1))
thispos = kijyun + Vector3.ClampMagnitude(thispos - kijyun, radius);
transform.position = thispos;
}
>||
コードの貼り付け方法がよくわからん。
上記は一方向のみのコードだが中身はこういうこと。wキーやVRのスティックを前に倒すと移動範囲内で進む。範囲限界で自動的にひっかかるようになっている。
参考コードが(transform.position = Vector3.ClampMagnitude~)な直接座標指定
対してこっちのコードが (transform.position += forward.normalized~)な加算式だったからしばらく思考停止してしまった。
組み合わせた解が上記のコードになった。
クエスト2は8月から倍に値上げ。もとからVRの住民だったから機器は2つ(1つ壊れた)もってるけど高くて壊れたら買えないだろうなあ。割と30万からの世界って言われてたくらいの世界なんで原住民にはあんまり影響はないと思うけども
【Unity VR】GetKeyDownとGetKeyの違い
Input.GetKeyDown … キーボードおしっぱでも一回しか発動しない
Input.GetKey … キーボードおしっぱの間発動する
~VRの場合~
OVRInput.Get か OVRInput.GetDown
変わらないなーっていって移動速度の数式とか変なところばっかりいじってたんで忘備録。コードは基本的に発動条件が細かくあるのを忘れちゃいけないぜ。
if (Input.GetKey(KeyCode.A) || OVRInput.Get(OVRInput.Button.PrimaryThumbstickLeft) || OVRInput.(OVRInput.Button.SecondaryThumbstickLeft))
{
transform.Rotate(0, -Angle * Time.deltaTime , 0);
}
左(プライマリ)右(セカンダリ)のレバーで同じ動きするコードなんでそのうち分けるつもり。
※記述に間違い部分もあるかもですが許してね
参考URLも
Blenderのバージョンの違いで大きな差があること
blenderにはバージョンがあって2.xxと3.xxでUI表示や
左クリック決定が右クリック決定になるレベルの操作面にもかなり大きな差があり別ツールのような感じになるので今から始める人は3.xx以上で始めると良い。
そのためwebで検索しても大体古い情報しか無い事が多く、検索しても解決しない事が多いのでこういう本を買っておくのも良い。
ちなみに有名モデラーは2.83辺りで制作している人もまだいる。操作性の違いや旧バージョンでしか使えないアドオンや機能もあるためだ。バージョン違いのblenderをPCに複数入れられるので作るものによって現在は切り替えている。
てなわけでやっと顔の作成開始。殆どは作るまでのアイディア出し9割9分、制作1分くらい。