イラスト、モデリング、Unity、VR関連

unityとかblenderとかvr関連の作業メモ

2019-04-01から1ヶ月間の記事一覧

UNET サーバー側からクライアントにある自身のオブジェクトを操作する

具体的には当たり判定はサーバーで行うが、その副作用としてクライアントで画面を赤くするなどしたい場合など。 以下のようなコードで出来る。 NetworkBehaviour内ではconnectionToClientでクライアントの自身のオブジェクトへのconnectionを取得出来るのが…

OVROverlay

oculus go でoverlayする方法 ++基本的な使い方 OVRCameraRig以下にEmptyObjectを作成しそれに、OVR Overlayコンポーネントを付加する。 HMDの動きにoverlayを追従させたければ、CenterEyeAnchor以下にこれを配置する このOVRCameraRIgとoverlayからの距離…

UNET オブジェクトをスポーンする

++基本 基本は以下のような感じ。Command等を使いサーバーでPrefabをInstantiateしNetworkServer.Spawnする。NetworkServer.SpawnはServerでしか使えない。サーバーでスポーンされたオブジェクトはクライアントにスポーンされる [Command] void CmdSpawn()…

UNET 動的な設定の共有

++目的 プレイヤーのHPなどのステータスをユーザーが設定してからネットワーク対戦をするゲームにおいて、その設定を共有する ++方法 SyncBarを使う SyncVar の状態は、OnStartClient() が呼び出される前にクライアント上のゲームオブジェクトに適用され…

OculusGo タッチパッドで移動するとき、方向を限定するコード

//移動方向の取得 Vector3 GetMoveDirection(){ Vector2 dir = OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad); //そのまま使うと方向がいい感じにならないので8方向に限定する float dig = GetDigree(); float unit = 22.5f; if(CheckRange(dig,unit*15,3…

アプリ間で直接通信する場合のネットワーク回りの設定

++ルータの設定 特定のポートに来たパケットを指定したポートに転送するように設定する。静的IPマスカレード・仮想サーバー・ポートフォワーディングなど色々呼び方がある https://kotobank.jp/word/%E9%9D%99%E7%9A%84IP%E3%83%9E%E3%82%B9%E3%82%AB%E3%8…

UNET サンプル:プレイヤー生成処理とサーバー起動、クライアント接続のコード

TcpTest.unitypackage - Google ドライブ ------- using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.Networking; public class MyNetworkManager : NetworkManager{ [SerializeFie…

Atom ファイルを複数開くとき、別ウィンドウで開いてしまう場合

++ファイル=>個人設定 alwaysOpenInSameWindowをtrueに設定する ++そのファイルのあるプロジェクトウィンドウを追加する 同一プロジェクト内にあるファイルなら同一ウィンドウで開くようになる。(前は別プロジェクトであっても同一ウィンドウで開いて…

UNET StartHost,StartClient,Spawnのサンプル

--- 最初にクライアントに接続、接続できなければホストがないと見なしてホストを開始し、登録されたオブジェクトをSpawnする http://motoyama.hateblo.jp/entry/unet-10 --- using System.Collections; using System.Collections.Generic; using UnityEngin…

c# 非同期処理実行結果

using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Threading.Tasks; void Start(){ Debug.Log("111"); Kx(); Debug.Log("222"); } async void Kx(){ Task.Delay(3000); Debug.Log("KX"); } 111kx222 void Star…

UNET Command,TargetRPCを利用した移動処理のサンプル

Commandの制約: ・コマンドは 自分自身の プレイヤーオブジェクトからのみ送信できます ・メソッド名の先頭にCmdを付ける必要がある NetwokingDemo.unitypackage - Google ドライブ using System.Collections; using System.Collections.Generic; using Uni…

Unity UNETについてのメモ

++UNETとは ネットワーク対戦を実装したりするときに使うUnityの機能 ++UNETはdepricated予定であり、2021年以降はサポートされない。 ただ現状、UNETの代替となる次期機能?はアルファ版しかないっぽく、ドキュメントも少ないので、それを使うのは時期…

Unity Build path contains project built with "Create Visual Studio Solution"と出た場合

私の場合は、そのプロジェクトフォルダにあるslnファイルを削除したらビルドが出来るようになった。 他にも以下の解決策がある模様 Unityを管理者として実行してビルドしてみるC:\Users\[name]\Documentsフォルダにビルドするプロジェクトのフォルダ内の.sln…

OculusGo タッチパッドによる移動のスクリプト

そのままではなく、8方向に再設定して移動する void Update(){ if(OVRInput.Get(OVRInput.Button.One)){ var m = GetMoveDirection()*ADJUS; OwnCamera.transform.Translate(m); } } //移動方向の取得 Vector3 GetMoveDirection(){ Vector2 dir = OVRInput.…

OculusGoでuguiを使う設定

OculusGoでuGUIを使ってみる#1 - qrunch.net 基本的な手順はこれと同じ。 ただ各項目の解説を付与する。 ++OculusIntegrationを導入する OVRCameraRig等の設定をしておく https://arumogina.hatenadiary.com/entry/2019/03/01/160330 ++OVRGazePointer…