code VR

Unity×VR(45)

スポンサーリンク

//tips

//SampleScene修正

Sampleオブジェクトのランダム移動を考える。

参考で下記のような一秒ごとにランダムにx値が変わるcubeの挙動を作成した。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TPGameManager : MonoBehaviour
{
private float time;

void Update()
{
time -= Time.deltaTime;

if (time <= 0.0f)
{
// transformを取得
Transform myTransform = this.transform;

// 座標を取得
Vector3 pos = myTransform.position;
pos.x = Random.Range(-2f, 2f); // x座標
pos.y = 3f; // y座標
pos.z = 0f; // z座標

myTransform.position = pos; // 座標を設定

//Instantiate(this.gameObject, new Vector3(-40, vecY, 30), Quaternion.identity);
time = 1.0f;
}
}
}

この内容をtimeの制限を取り払いスタート時点でのポジション移動が発生するようなスクリプトに変更してSampleオブジェクトにアタッチする。

Plane上でplayerは確実に生成されているがplaneをなぜかすり抜けてしまうようになっている。

親オブジェクトのSampleオブジェクトにColliderとRigidbodyを設定しても効果なく、Rigidbodyの衝突判定をContinuousDynamic「連続的かつ動的」にしたが止めることはできなかった。

今まで発生しなかった現象なのでSampleオブジェクトの初期座標のy値を高めに設定すると問題はは解決した。コライダーやランダム生成のスクリプトははずしても問題なかった。

ただ、photonviewのPhotonTransformViewがうまく機能しておらず、ずっと上下運動を繰り返している。座標設定はStartメソッドで呼び出されるためそれ以降の上方向への移動は他のスクリプトでは設定していないので、なぜ同期の際にyの値の処理がうまくいっていないのか理解する必要がある。

基本的なオブジェクトの移動はGamePlayerスクリプトの下記で表現されており、xとzの2方向への数値変更のみ扱うようにしている。

if (photonView.IsMine)
{
var direction = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")).normalized;
var dv = 6f * Time.deltaTime * direction;
transform.Translate(dv.x, 0f, dv.y);
}
}

Photonの落下の同期について別途調べる。

//UI表示確認

再生シーンでPrefabオブジェクトを確認すると、オブジェクトの親に、オブジェクト内のcanvasとは別のEnvironment canvasというものが作成されていることがわかった。これはUnity2018.3から仕様が大きく代わったプレハブモードが要因とのこと。

これで数値が大きくずれているので、Environment canvasの値を参照しないように変更を加える必要がある。

Prefab Modeを開いた状態で Edit > Project Settings > Editor > Prefab Editing Environments でTestシーンを設定してみたが特に直る事はなかった。

下記を参考にしてEditing Environmentについて調査中。

https://qiita.com/piti5/items/525fc69148d59c9d7b06

https://docs.unity3d.com/ja/2018.4/Manual/EditingInPrefabMode.html

人気の記事

1

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

4

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-code, VR
-,

Copyright© BUSINESS HACKER , 2021 All Rights Reserved Powered by AFFINGER5.