Unity2018でサンプルシーンを実機で動かした
Unityのバージョン
Unity2018.1.1f1
OS
どうやるか
Oculusユーザー登録をします。
そして、Oculus Goを開発者モードにスマホから設定します。
MacにAndroid SDKをインストールします。
次にJDKをインストールし終わったらほとんど終わりです。
過去バージョンのUnityですと設定が面倒だったり、
ビルドエラーが出てイライラしました。
最新版ならエラーが出ないので、pacage nameをデフォルトから変更してビルド完了です。
詳しく書いてあるサイトがいくつかあります。
私が参考にしたサイト↓
参照サイト
無事にビルドできました!
実機のシェアから撮ったスクショがこちら
Oculus GoのゲームをUnityで作る★その1
Oculus GoのゲームをUnityで組んでみる
コントローラ取得
Unityでゲームを作るのに必ず必要なことがあります。 それはコントローラからの入力をスクリプトで取得することです。 まず、コントローラ入力を取得する方法を調べたのでメモとして書いておきます。
元の記事 https://qiita.com/ry-kgy/items/2b783b969c874ef4cc64
バックボタン
バックボタン入力取得
OVRInput.Get(OVRInput.Button.Back)
トリガー
トリガーを押した入力の取得
OVRInput.GetDown(OVRInput.Button.PrimaryIndexTrigger)
トリガーを離した入力の取得
OVRInput.GetUp(OVRInput.Button.PrimaryIndexTrigger)
タッチパッド
クリックの入力取得
OVRInput.Get(OVRInput.Button.PrimaryTouchpad)
Up方向の入力取得
OVRInput.Get(OVRInput.Button.Up)
Down方向の入力取得
OVRInput.Get(OVRInput.Button.Down)
Left方向の入力取得
OVRInput.Get(OVRInput.Button.Left)
Right方向の入力取得
OVRInput.Get(OVRInput.Button.Right)
位置
位置の取得
Vector2 vector = OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad)
次回簡単な実装に挑戦
入力系統は以上ですので、あとはUnityでシンプルなゲームを作っていきたいと思います。 アンドロイドでビルドすれば動作するようなので、 次回以降は実際にゲームを組み、Oculus Go実機での動作確認を進めていきます。
OpenCVの基本操作の一部
OpenCVをPythonで操作する基本的な話をメモ的に記載します。
ヒストグラム
import cv2 import matplotlib.pyplot as plt img = cv2.imread("画像データのPath") #カラー画像の場合 color_list = ["blue", "green", "red"] for i,j in enumerate(color_list): hist = cv2.calcHist([img], [i], None, [256], [0, 256]) plt.plot(hist, color = j) #グレースケール画像の場合 img_gray = cv2.imread("画像データのPath", 0) hist2 = cv2.calcHist([img_gray], [0], None, [256], [0,256]) plt.plot(hist2) #ヒストグラムの均一化 img_eq = cv2.equalizeHist(img) hist_e = cv2.calcHist([img_eq], [0], None, [256], [0, 256]) plt.plot(hist_e)
γ変換
画面を明るくしたり暗くしたりする処理
import numpy as np #明るくするにはgamma > 1 gamma = 1.5 gamma_cvt = np.zeros((256, 1), dtype=np.uint8) for i in range(256): gamma_cvt[i][0] = 255 * (float(i)/255) ** (1.0/gamma) img_gamma = cv2.LUT(img, gamma_cvt) #暗くするにはgamma < 1 gamma = 0.4 gamma_cvt = np.zeros((256, 1), dtype=np.uint8) for i in range(256): gamma_cvt[i][0] = 255 * (float(i)/255) ** (1.0/gamma) img_gamma = cv2.LUT(img, gamma_cvt)
以上、簡単な操作の一部でした。
PythonでOpenCVを使ってみた
画像を開く、保存する
import cv2 img = cv2.imread("画像ファイルPath") cv2.imwrite("保存ファイルPath", img)
動画を開く、保存する
import cv2 video = cv2.VideoCapture("動画ファイルPath") if cap.isOpened() == False: sys.exit() ret, frame = cap.read() h, w = frame.shape[:2] fourcc = cv2.VideoWriter_fourcc(*"XVID") dst = cv2.VideoWriter("保存ファイルPath", fourcc, 30.0, (w,h))
リサイズ
import cv2 img = cv2.imread("画像ファイルPath") size = (300, 200) #変更後のサイズを指定する img_resize = cv2.resize(img, size)
以上の簡単な操作を行いました。