質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

1780閲覧

UnityでOculus Riftを使用するとスクリプトが反映されない

agen44

総合スコア26

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2017/01/08 22:34

編集2017/01/09 11:18

Unityでゲーム制作をしているのですが、
通常の再生では反映されるスクリプトが、
Oculus Riftを使用して再生すると反映されません。

反映しないコードはこのようになっています。

C#

1using UnityEngine; 2using System.Collections; 3 4public class huwa : MonoBehaviour { 5 6 // Use this for initialization 7 void Start () { 8 } 9 // Update is called once per frame 10 void Update () { 11 } 12 public float amplitude = 0.05f; 13 public int frameCnt = 0; 14 void FixedUpdate () { 15 frameCnt += 1; 16 if( 10000 <= frameCnt ){ 17 frameCnt = 0; 18 } 19 if( 0 == frameCnt%2 ){ 20 float posYSin = Mathf.Sin(2.0f*Mathf.PI*(float)(frameCnt%200)/(200.0f-1.0f)); 21 iTween.MoveAdd(gameObject,new Vector3(0, amplitude * posYSin, 0),0.0f); 22 } 23 } 24} 25

オブジェクトをふわふわと上下運動させるもので、iTweenを使っています。

【追記】
ただ、シーンビューで見てみると、
Oculusを繋げていても確かにふわふわ動いているのですが、
ゲームビューでは完全に静止しているという状態です。

こういう状況です↓

・Oculusなし(通常再生)
シーンビュー:動く
ゲームビュー:動く
・Oculusあり(接続して再生)
シーンビュー:動く
ゲームビュー:動かない

解決方法を教えていただけると助かります。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

iTweenを使わずに書いたら問題なく動きました。

iTweenはOculusに対応していない可能性があります。

投稿2017/01/12 10:58

agen44

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Oculusを使ったからと言って、なにか動かなくなるような要素は見当たらないですね・・。
ちなみにシーンビューでの動きはどうなっていますか?

また、「反映されない」とは具体的にどういう状況でしょうか?
まったく実行がされていないのか、それとも「見た目的に」動いていないように見えるのか。
それらによっても解決策はまったく異なってくると思います。

ちなみに、該当のスクリプトはカメラにアタッチしているものですか?
(カメラの場合は、カメラの動きがOculusによって完全に制御されてしまうので、当然ですが動かす処理は動かない、というよりOculusからのデータで上書きされて動いていないように見えます)

仮にそうだとした場合は、きっと「自分が浮いている」みたいな演出をしたいのかなと推測します。
その場合は、ひとつ空の要素を作りその中にカメラを入れて、そちらを動かす必要があります。
(要は乗り物に乗っているようなイメージですね)

投稿2017/01/09 03:12

edo_m18

総合スコア2283

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

agen44

2017/01/09 11:11 編集

お返事ありがとうございます! シーンビューでは動いているのですが、 ゲームビューでは全く動いていません。 このスクリプトは、カメラではない別のオブジェクトにアタッチしています。 カメラも上下キーで上下に移動するようにはなっているのですが、 とりあえずキーは触らずに見たところオブジェクトは完全に静止しています。 (周りにふわふわと浮遊する岩のようなものがいくつかあり、 その中をカメラが昇ったり降りたりするゲームなのですが、 その周りの岩がOculus使用時のみ動きません。) 状況としては、 ・Oculusなし(通常再生) シーンビュー:動く ゲームビュー:動く ・Oculusあり(接続して再生) シーンビュー:動く ゲームビュー:動かない という感じです。 何か思い当たる解決方法がありましたらまた教えていただけると助かります。 宜しくお願いします。
edo_m18

2017/01/09 11:49

うーん、ゲームビューとシーンビューで動きが異なる、ということですよね? ポストエフェクトなど、レンダリング結果をいじるようなことをしていなければ、基本的にそこにずれは生じないはずなんですけどね・・。 ちなみに、それ以外のオブジェクトは正常に動いていますか?
agen44

2017/01/10 12:48

その通りです、ゲームビューとシーンビューで違うんです… ポストエフェクトはかけていないです。 基本的にはこれ以外の問題はないのですが、 一つだけOculusありとなしで起こる変化があります。 もともと、カメラが上下キーで上下移動する仕組みで、 カメラが地面まで下降した時、草が舞い上がるようなパーティクルをつけています。 (地面の高さがy=10なので、 『下降中、かつ、カメラの高さが10のとき、一回だけパーティクルを再生する』 というスクリプトです) Oculusなしのゲーム再生では、 地面に落ちた一回のみパーティクルが出る、という正しい反応をするのですが、 Oculusを接続すると、 地面にいる間常にパーティクルが再生し続けてしまいます。 もしかしてOculusをつけるとカメラが常時微妙に動いているか何かで、 始終『下降中』という条件が起きてしまうのかな? と思ったのですが、 今回のオブジェクトがふわふわしない問題では、 振れ幅をかなり大きくしてみたりしても静止しているので、 動きが相殺されていることもないように思います。 (そもそもパーティクルが連続再生されてしまう問題でも、 カメラ自体が揺れているようには見えませんでした…) 一緒に考えてくださって本当に助かります。 引き続き自分でも試行錯誤してみます。 何か思い当たることがありましたらまた教えていただけると嬉しいです。 よろしくお願いします。
edo_m18

2017/01/10 16:05

うーん、ちょっと経験したことない減少ですね・・。 もし可能であれば、シーンビューとゲームビューを移した動画などが確認できるとなにかしら分かるかもしれませんが・・。
agen44

2017/01/12 10:57

解決しました! やはりiTweenが良くなかったみたいです iTweenを使わずに書き換えたらoculusを繋いでも正常に動きました! お騒がせしました… 一緒に考えてくださって本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問