###前提・実現したいこと
UnityでAxisNeuronと、Vive HTC-VRゴーグルをリンクして、Unity仮想空間内で自分の体らしきCGが見えるようにしたいです
###発生している問題・エラーメッセージ
特別なエラーは出ていないものの、Neuronのセンサーが少しずれただけでNeuronロボットから幽体離脱したかのようにずれてしまいます
例えば、50㎝程離れた自分の目の前でロボットが僕と同じ動きをしている状態等
ロボットの頭部と、Viveゴーグル(カメラリグ)を親子関係等にして、一切ずれないようにしたいのですが、良い方法はありませんでしょうか?
###該当のソースコード
下記(試したこと)のOBJエクスポーターです
https://www.assetstore.unity3d.com/jp/#!/content/22250
###試したこと
Unity、Vive、Neuron、全てが初めてで、初めて触ってから約一週間程度なので色々試しつつ僕の隣で動かす程度は出来ました
しかし実際には自分の腕がNeuronロボットになったように見たいのですが、「Neuron Unity VR」等のワードで調べてみるとNeuronで動かしたオブジェクトを第三者視点で見るチュートリアルや、NeuronでエクスポートしたアニメーションをするキャラクターをVRで見る方法等ばかりで、自分自身がリアルタイムにコントロールし、自分の体のように操作する方法は見当たりませんでした
◆自己解決済み=>あと、手動による微調整でピッタリ重なるとロボットの頭部がチラつくのでメッシュデータを編集して頭を消そうと思い、上記URLで入手したOBJ Exportというアセットを使用して書き出し、Blenderに読み込もうとしましたが、何故か読み込めず、こちらも苦戦しています
とりあえず。ではありますが自己解決法を二つ
・エクスポートせずともアセットフォルダにFBXファイルがあったので、こちらをBlenderでimport>編集>元のファイルにexportして上書き でこちらは上手くいきました
・Unity standard AsettsのFollow2Dのスクリプトを参考に以下のスクリプトを作成しました
pragma strict
var target : Transform;
var smoothTime = 0;
private var thisTransform : Transform;
private var velocity : Vector3;//ここがVector2になっていたので3に変更する事でエラーが出なくなり、後に2D・3Dを表す数字だと知りました
function Start()
{
thisTransform = transform;
}
function Update()
{
thisTransform.position.x = Mathf.SmoothDamp( thisTransform.position.x,
target.position.x, velocity.x, smoothTime);
thisTransform.position.z = Mathf.SmoothDamp( thisTransform.position.z,
target.position.z, velocity.z, smoothTime);//yになっているのでこれらを全てzに変更
}
しかし、この方法だとロボットの体が思うようには追従せずに、お辞儀をするとロボットが現実よりも前に出てしまい、体を戻すと元の位置に戻ります
しゃがんだり座ったりすると、体が置いて行かれて、腰の辺りを中心にして両足が宙に浮きます
Y軸を追従させると今度は地面にめり込んだり浮いたりしてしまいます
ボーンの親子関係の上下を変えてみるなども試していますが、今のところ上手く出来ていません
###補足情報(言語/FW/ツール等のバージョンなど)
Unity5.51f1Personal64bitを使用しています
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。