【Unity】2021年にもなってRazer Hydraを動かしてみる
はじめに
運よくRazer Hydra*1を手に入れたので,Unityで開発をしてみようかと思いました.
しかし,残念なことに公式のunitypackageがすでに消滅しているので,自力で何とかするほかありません.
以下,UnityでRazer Hydraの位置と回転を取れるようになるまでのメモです.
(後日談として,使いやすいように書き直したものをGitHubに上げました)
my new old gear... pic.twitter.com/6yeO6QJTax
— 黒イワシ@OilSardine (@Schwarz_Sardine) 2021年7月14日
*1:2011年発売の6DoF両手モーションコントローラです.磁気式のトラッキングを採用していて精度もそれなりに高く,貴重な存在です.VRとの相性も良く,Oculus Rift DK1~2の時代にはHMDのトラッキングやコントローラに利用されるなどしました.
SECCON Beginners CTF 2021 Writeup
作問者Writeupが公開されている問題も多いですが,一応こう解いたよ,という記録です.
大会概要
Agenda (得点は競技終了時のもの)
- welcome (welcome 51pts)
- Logical_SEESAW (crypto 118pts)
- only_read (mreversing 55pts)
- osoba (web 51pts)
- json (web 109pts)
- cant_use_db (web 108pts)
- git-leak (misc 58pts)
- Mail_Address_Validator (misc 76pts)
- depixelization (misc 136pts)
KinectとOBSで映像の背景ぼかし
遠隔会議などでカメラを使用する際に,映像をより良いものにしたいという気持ちは起こるもの.
中でも,映像の背景がボケていると被写体を際立たせた画作りができ,同時に雑然とした背景を隠すことができる,プライバシー保護になるといった効果が得られて良い.
一般に,映像の背景をボカすとなると,センササイズの大きいカメラと望遠レンズを使用したり,GeForce RTXシリーズのグラボとNVIDIA Broadcastを使用したり,あるいはPerfectCamを使用するといった選択肢がある.
一方,Kinectシリーズのどれかを持っている場合,OBSの仮想カメラ機能とobs-kinectというプラグインを用いることでこれを実現することができる(obs-kinectはKinect v1,v2,Azure Kinectに対応している).dGPUのない環境でも動作するので,ビジネス用ノートPCなどとの相性も良い.
画像は公式GitHubリポジトリのissueより.
NVIDIA Broadcastなどは人物領域(前景)とそれ以外(背景)に分離して背景部分をボカしているのに対し,Kinectを使った処理では深度によってボカすか否かを判断しているので(一定の距離の範囲外がボケる),カメラの被写界深度にやや近い感じのボケかたとなる.
また,NVIDIA Broadcast同様,背景のぼかし以外にも背景除去などができる.
使用するKinectは映像が最も高精細かつ小型で設置が楽であるという点でAzure Kinectをおすすめしたいが,記事執筆時点ではAzure Kinectへの対応は開発中であるため,開発中のビルドをダウンロードする必要がある.
背景ぼかしの機能は実装されているものの,筆者の環境だと最新の開発ビルド ( #25)を設置しただけだと深度の取得ができず,一旦古いバージョンを設置した後に最新の開発ビルドで上書きする手順をおこなったら正常に動作するようになった.