VR:シーンをAppボタンでリセットする

モジュールUnityEngine.SceneManagementを使ってシーンをリセットしてみます。

ごみオブジェクトが溜まりすぎたときは一気に消去できて便利です。

DayDreamコントローラーのAppボタンが押されたとき、シーンがロードされます。

GvrControllerInput.AppButtonDownとSceneManager.LoadScene(0)を使っています。

スクリプト(Reset.cs)

これを、ヒエラルキーのどこでもいいのでCreate Empty してAdd Component>Reset.cs を指定すれば、当該スクリプトが発動します。

以上でございます。(´・ω・`)

VR:オブジェクトの重力落下、衝突、再実体化、破壊

こんにちは、Keita_Nakamori(´・ω・`)です。

今日は、オブジェクトの重力落下、衝突、最実体化、破壊までをやってみましたのでメモっておきます。

モデルの作成

まずはモデルの作成ですが、滑り台とシュートを作っていきました。

それぞれ、Create Emptyし、その中に部品を配置し一つの塊にしました。

その際、今回のモデルは斜面なので、なるべく簡単に調整できるよう、一旦、水平に作成したものをプレハブ化してPrefabsフォルダに保存し、ヒエラルキーへ呼び出したあとに、Rotationで斜面にするというやり方を採用しました。

さらに、後ほど再実体化(Instantiate)するときの出現位置を設定するために、予めプレハブ構成の中に、出現位置としてオブジェクトをひとつ配置しておくことで、指定が簡単になるメリットがありました。(結構重要)

 

重力落下と衝突面の定義

重力の定義は、オブジェクトに対してAdd Component>rigid body でUse GravityをONにすれば重力1Gが定義されます。

  • 質量Mass=0.01kg
  • 進行方向抵抗Drag=0
  • 回転抵抗Angler Drag=0

としました。

衝突面の定義は、オブジェクトに対してAdd Component>Mesh Collider で定義できます。注意ですがここでIs Triggerにチャックを入れてはダメです。これは接触を検知したら別のスクリプトを走らせるためのものなので、逆に接触しなくなります。(非常にわかりにくい。)

MeterialへはPysicalMaterialとして予め作成したPM010を定義しました。

再実体化(Instatiate)

オブジェクトを再出現させるところをやっていきます。

Crate EmptyでGameControllerという名前にして、そこにAdd Componentで再出現スクリプト(Summon.cs)をアタッチする作戦で行きます。

スクリプト(Summon.cs)

DayDreamコントローラーのメインボタンを押すと発動するように作成しました。

GameControllerのインスペクター

スクリプトのおかげで、Summon ObjectとSummon Positionをインスペクターから定義できるようになっているはずです。

Summon Objectには出現位置として使用し、InstatiateするオブジェクトをAssetsのPrefabからドラッグします。ヒエラルキーから持ってくるとうまく再実体化できませんでした。

Summon Psition にはプレハブモデルの中にひとつだけ搬送ワークを設置していますので、それをヒエラルキーからアタッチして座標を取得します。

やってみましょう

ここで問題発生です。オブジェクトが増えるとFPSが極端に下がってしまいます。

オブジェクトの破壊

出現から一定時間後に自動的に破壊されるようにスクリプトを追加します。

スクリプト(TimeLimitObj.cs)

 

オブジェクト自身にインスペクターからAdd Component>TimeLimitObj をアタッチして、Life_timeに例として60(秒)などと入力します。

結果、60秒後には全てのオブジェクトが消滅します。

次回の課題

VR(Mirage Solo)の視界を他者も共有できるようにしたい。

まともな人間のアセットを配置したい・・・

 

Jetson Nano:Windowsマシンからファイルを転送する方法

Windowsマシンからファイルを転送する方法をメモっておきます。

Tera Termで SSH接続します。

ホストのIPアドレスをいれて、TCPポートは22でサービスはSSHでOKします。

IPアドレスは人によって違うので、予めJetson側のターミナルでifconfigで調べておいてください。

ユーザー名とパスワード(パスフレーズ)を入力してOKします。

ファイルを転送する

接続したらTera Termのコマンドプロンプトのウィンドウ上に転送したいファイルをドラッグアンドドロップします。

このままOKすればホームディレクトリに保存されます。送信先の枠に任意のディレクトリを指定することもできます。

 

とても簡単ですが、たまに忘れるのでメモっておきます。

Jetson Nano:VNC接続できました

今回参考にさせていただいたサイトはこちらです↓↓↓

https://qiita.com/iwatake2222/items/a3bd8d0527dec431ef0f

では、SSH接続に続いてVNC接続をやっていきましょう。

IPアドレスの確認

まずは、Jetson Nano側の作業です。

事前に Tera Term などでSSH接続して ターミナルで ifconfigしてIPアドレスを確認しておきましょう。 192.168.xxx.xxxという部分です。

TigerVNCをインストール

a view-only password を作成するかと聞かれますが、不要なので NO!です。

サーバーとしての環境を作成

 

# 別途、X環境を作る場合は、vncserver :1 などの番号にするそうで、どうやらJetson Nanoに普通につなげると、今現在ディスプレイに映っている画面ではなくてX環境というものが表示されてしまうようです。

前回、うまくVNC接続したと思ったのはこのX環境につながったものと思われます。Nvidiaと書いてある壁紙の画面になり、開いた記憶のないウィンドウ(開こうとしても出てこなかった?)が開かれてありました。当時は全く意味がわかりませんでした。

では、次にWindows10側の作業です。

事前にVNC Viewer(Windows版)をインストールしておきましょう。

起動させたら、メニューバーのFile >  New connection から、VNC Server: のところにIPアドレス 192.168.xxx.xxx を入力して OKします。

パスワードを聞かれるので入力してOKです。

これでつながるはずです。

初めて開くと若干汚いのですが、後で調整しましょう。

 

一旦サーバー環境を閉じます。

Jetson Nano側のターミナルでcntrol+c をおせば、強制終了できます。

VNC自動立ち上げ設定

次回から自動的にVNCサーバーが立ち上がるようにしましょう。

x0vncserver.serviceというファイルを作って、編集します。

 

x0vncserver.serviceの中身を下記のように書き換えましょう。

viを使うので、”a” を押して追記編集モードに入り、貼り付けたあとは”Esc”を押してコマンドモードに入り  “:wq! ” で保存強制終了できます。

名前とパスの一部は適宜書き換えてください。4箇所あります。

x0vncserver.service の手動試運転

まずはちゃんと動作するか手動で確認

OKなら再起動します

再起動後、サービスが起動しているか確認

正しく動いていたら、以下のコマンドで確認できます。

↓↓↓これが出ればOKです↓↓↓
x0vncserver.service loaded active running Remote desktop service (VNC)

VNC viewerの起動と接続

Windows10マシンのVNCビュワーを起動させて、File > New Connection から 接続先の指定をします。

VNC Server:IP address を入れます 192.168.xxx.xxx

(正確には 192.168.xxx.xxx:0 ですが、どちらでもOKです。)

OKします。

VNCパスワードを入力すると、VNCできます。

でも、画面が小さいですね。調整しましょう。

Jetson Nano:VNC接続できません・・・(見る価値なし)

SSH接続に続きましてGUIの方も操作したいので、VNC接続をやってみましょう。

とりあえず繋がりましたが、ただ、現時点でなにが間違っている部分とか無駄があると思われますのでもう少し研究が必要です

vnc4serverでやってみる

sudo apt install vnc4server をやろうとしたところ、

sudo dpkg –configure -a をしなさいと警告が出たのでやってみる。

気を取り直してsudo apt install vnc4server をやろうとしたところ、

sudo apt-get upgrade してみたら?と警告がでたのでやってみる。

再度気を取り直して。sudo apt install vnc4serverをやったところ、 使えませんこの場所にvnc4server パッケージを置くことは。と警告がでる。

まったくわかりません・・・。

 

以下はメモ 1回目はできたのに、2回目は上手く行かなかったやりかた

システムセッティングの中にスクリーンシェアリングがあるはずが、英語バージョンではなくなっている。

代わりにDesktop Sharing があるが クリックしても無反応。完全に詰んだ

 

今現在最も参考になったサイト

https://qiita.com/Tats_U_/items/c170f61a5e03ae045128

画面共有を設定する

GUI画面右上の歯車マークから System Settingsを選択します。

Sharing>Screen Sharingで

Allow connections to control the screen にチェックをいれて

Require a passwordにもチェックを入れて パスワードを指定します。

Networksは ONにします。

暗号化要件を無効にする

dconfエディタをインストールします

$ sudo apt install dconf-editor

起動します

$ dconf-editor

警告がでるので I’ll be careful を押します。

org/gnome/desktop/remote-access/require-encryption がONになっているところをOFFに変更します。

TigerVNCのインストール

開いているデスクトップの画面をリモートでも共有したい場合は次のコマンドも実行しておきましょう。←ってどういういみ?

パスワードの作成

VNC接続用のパスワードを設定します。

View-onlyパスワードはどうするか聞かれるのですが、noで結構です。

設定したパスワードは~/.vnc/passwdに保存されるようです。

VNCサーバを起動する

windowsマシンからSSH接続しているときにVNCサーバーを起動する場合は次のコマンドで起動します。

 

-localhost noがないと別のコンピュータからLAN等を経由して繋げないようです。要注意とのことです。

このコマンドを実行した後は、実行すると接続できますよと提示されたコマンドのコロン:とその直後の数字を確認してください。(大体は:1だと思います)SSHセッションなどを閉じても構いません。

 

もう一つの起動方法ですが、すでに起動しているデスクトップをミラーリングしたい場合は次のコマンドを入力します。

オプション部分をつけないとパスワード入力の段階で弾かれます。こちらはCtrl+Cで終了するタイプとのことです。

Tigervncをインストールする(windows側)

https://tigervnc.org/ の

https://bintray.com/tigervnc/stable/tigervnc/1.8.0 から

tigervnc64-1.8.0.exe をダウンロードしてインストールします。

SSH接続先でtigervncserver -localhost no したときに表示された

を見て、:7とあるので、TigerVNCを起動したあと、アドレスには192.168.xxx.xxxだけでなく 192.168.xxx.xxx:7 と後ろに追加してconnectボタンを押します。

 

 

 

====== 以下、メモ ============

参考

http://lime-piko.blog.jp/archives/16558731.html

https://qiita.com/iwatake2222/items/a3bd8d0527dec431ef0f

VNC Serverをインストールする

リモートからもGUIを使いたいので、vncサーバをセットアップする。vnc4serverといくつかのパッケージをインストールするとともに、設定ファイルの修正が必要。
 

ここで数分かかりました。

設定ファイルを修正しましょう。

vi で 下記のファイルを開きます。というか作ります。

下記の内容を書き込んで保存します。 Esc > :wqで書き込み保存です。

 

だめでした。

つぎにこれを^やってみます。

 

How to Remote Access to Ubuntu 16.04 from Windows

 

ってもう何がなんだかわかりません。

頭を冷やして後日再チャレンジします。

Jetson Nano:日本語入力できるようにする

Jetso Nanoで日本語入力ができるようになるまで

Jetsonは初期状態で日本語入力ができません。

ブラウザも全部アルファベットになってしまいます。

以前、ラズパイでやって時と同じやり方を試してみました。

日本語フォントをインストール

ipafontとipaexfontがよさそうです。

日本語IME:Mozcをインストール

まずはアップデート
sudo apt-get update

Google日本語入力のMozcをインストール

読み方は、もずく・・・でいいんでしょうか?

sudo apt-get install fcitx-mozc
インストール後はJetson Nanoを再起動しておきましょう。

 

日本語入力の確認

再起動後GUI右上のJPマークが「キーボードマークとjp」になっています。

ブラウザを立ち上げて、キーボードの半角全角ボタンを押すと、日本語入力に切り替わります。

これでokです。

Jetson Nano:初めての起動 wifi ssh接続の設定

さあOS イメージを焼いたマイクロSDをJetsonにぶっ刺して立ち上げましょう

まずはWelcomeと言われますので言語をEnglishにします。

日本語にしてしまうと、フォルダ構造も日本語になってしまい後々支障がでます。
初めてやったときにしくじりましたので、今回が二回目です。

キーボードは日本語にしました。左と右のウィンドウ 両方ともJapaneseです。

どこにいるの?と聞かれたのでTokyo!!と答えました。

ユーザーネームとコンピュータネームをつけます
Pick a user name の意味はわかりませんが ユーザーネームと同じにしました。

passwordを設定します。

基本的にこのJetson Nano は 電源を入れたあとは、外部のPCにからVNC接続することを前提としますので
Log in automaticallyにチェックを入れました。

さあ、Ubuntuが始まりました!

壁紙はNvidia様のロゴで、光がスパークしていてカッコいいです。

ではWifiを有効にして、SSH接続します!

参考web

https://kitto-yakudatsu.com/archives/6003

Wifiドングル

PLANEX GW-450D2 を使います。

5GHz 専用なので、無線ルーターは ” a ” を使います。

全然これじゃなくていいのですが、大きめのドングルなので紛失しにくくて良いかなと思います。

Wifiドングルのドライバをインストールする

これで、一旦リブートします。

GUI画面右上Wifi設定で無線ルーターを選択して、無線ルーターのキーを入力します。” a “しか使えませんので注意です。

SSH接続をする

IPアドレスを確認しましょう。

CntキーとAltキーと” T “ を同時に押すと、Terminalを素早く立ち上げることができます。

192.168.xxx.xxx と書かれてあるので控えましょう。

windowsマシンのTera Termを起動して、IPアドレスを入力しましょう。

↓↓↓例えば192.168.10.116とか。

※予めwindowsマシンにはTera Termをインストールしておきます。

ポートは22のまま

サービスはSSH でバージョンはSSH2を選択します。

で、OKです。

ユーザー名とパスフレーズを入れてOKです。

このとき警告が出ますが、無視して続行です。

はい、これでJetsonにSSH接続が完了しました。

 

次回接続するときは cmdから

または

でOKです。

のはずですが、インストール2回目では、cmdからのsshコマンドを受け付けなくなってしまいました。インストール1回目のときと状態が変わっているときに警告が出るようになっているようです。警告内容は大げさでビビりますが大丈夫です。

回避する方法は色々ありますが、TeraTermからは接続できますのでしばらくこれでやっていきます。

以上、次回はVNC接続をやっていきます。

Jetson Nano:組み立てます。

今日は、Jetson nanoを組み立てていきます。

構成

Jetson nano 本体

Jetson nano用 クリアケース

Wifi 5GHz専用ドングル

ジャンパーピン

5V 4A 電源

Jetson用カメラ (ラズパイカメラV2 77deg)

※購入忘れ:冷却ファン

完成形

説明書などありません。カンで組み立てて15分程度です。

これに、キーボードとマウスとLANケーブルをつなげて、次回設定をやっていきましょう。