2023年11月19日日曜日

【Unreal Engine 5.2】macOS で新しいバージョンの Unreal Engine に更新されなかった

macOSでUnreal Engine 5.3.0 を入れて使っていた。
数ヶ月前に UE 5.3.1 や UE 5.3.2 がリリースされたというニュースは見ていたが、私の Epic Games Launcher では通知が来ておらず、「あれ?Windowsだけが対象なのかな?(UE 5.0, 5.1, 5.2 では、そんなことなかったけど。。)」と思っていた。

作業では「My Projects」からプロジェクトを起動して作業するだけで、問題なく使えていたためあまり気にせずにいた。
しかしThird Person Projectで試したいことがあって、「Engine Versions」側から「Launch」をクリックすると、「Queued」と表示され、いくら待っても起動できなかった。
Epic Games LauncherとかOS再起動とかしてもダメだった。

ネットを検索しても UE 5.3.1, 5.3.2 が macOS 対象外という情報はやはり出てこない。
何か私の環境がおかしいと思い、以下を実施したところちゃんと UE 5.3.2 も出てきてインストールできました。
・Epic Games Launcher で一旦 UE 5.3.0 をアンインストール 
(Launch ボタンの右の🔽 → Remove)
・Epic Games Launcher 再起動


画面サンプル。本来は赤枠の箇所辺りに⚠️New Version of Engine Available みたいな表示が出るはず。

(考察)
そういえば UE 5.3.0 を使ってる時に、マーケットプレイスで取得したもの(Launcher 上だと「VAULT」)でバージョンアップの通知が来ており、探してみたが一体どれなのか見つからないことがあった。2 〜 3 回見直したが結局見つけられなかった。(数が多いと探すのが大変… この辺改善できないでしょうか?😅)

なんかその辺からおかしかったのかもしれない。
(何かのダウンロード不正が知らぬ間に起きており、そのせいでキューが詰まってた感じですかね?)

かなりレアケースだと思いますが、同じような症状の方の一助になれば幸いです。


2023年9月5日火曜日

macOSで日本語入力する際に気になること

かなり細かい話だが、macOSで日本語入力していて、いつも気になってしまう点がある。

それは、は行を入力する場合で、「h」をタイプすると小文字の
hが画面表示され、母音入力待ち状態になる訳だが、
「Iビーム」つまりカーソル位置を表す「|」縦棒と重なって
hが大文字のHに見えてしまうのである。

勿論一瞬なのではあるが、どうしても視覚が認識してしまうのであるから
しょうがない^^;

なので「おやっ!?知らず知らずの内に、キャップスロックを入れてしまったかな?」
と毎回不安になってしまうのである。

おそらく共感してくれる方もおられるだろうと思う。
(他のOSはどうなってるんだろう?またたったこれだけのために
 改善とかしてくれるものなのだろうか?)

※もしもこれを「読むこと」によって、これまで気になって無かったにも関わらず
気になり出してしまうこともあるかもしれないため、ご注意ください。
逆に言うと、これまでは無意識の違和感だったものが、これによって理由が
明確になった、とも言えるかもしれません。

※Windowsで確認したところ、Iビームが長かったり太かったりしており、入力文字とIビームは区別できるため気にならなかった。
macOSの場合はどうも入力文字とIビームが、線の太さや大きさが似通ってしまっているため、本稿の通りの視認上の問題が出てきてしまっているようである。

物書きさんとかデザイン関係の方だとこの辺の視認的な感覚も一般の人よりは研ぎ澄まされているので、余計に気になるのではないだろうか?
そしてmacOSはデザイン分野とかアート分野にシェアが広いようなイメージがあると思うので、尚更この点について些細なことではあるが「大丈夫かな?」と心配になった次第である^^;

(それとも本稿の問題点はそこまで気にする人はほとんどいないのだろうか?…
 まぁ慣れと言えば慣れの問題かもしれないが、まっさらな状態で気付いた「おやっ!?」という点は人の感覚の発現なので何かしら微かな違和感が潜んでいるはずで、そういう点は大切かと思いました。(アート分野の方であればなおさらその辺の感覚は大切にされてるはずでは!?))



2023年8月15日火曜日

macOSでのウィンドウ切り替え操作について

Macで作業していて、YouTubeの解説動画を見ながら作業をしたいことがある。

解説動画の文字が小さい場合はフルスクリーンにして見るのだが、解説動画の通り操作するため動画を一時停止してコマンド+タブ(⌘ + →| )で、作業用アプリケーションに切り替える。

ここまでは良いのだが、解説動画の続きを見ようとして再度コマンド+タブを押すと、フルスクリーンにしたYouTube画面には戻ってくれず、別のアプリケーションに切り替わってしまう。
これを実に何百回も性懲りも無く繰り返してしまうのである。。。😢
(多分同じお悩みをお持ちの方は、実は相当数の方がおられるのではないかと感じる。)

これは、Mac的には「操作スペース(英語:Spaces)」が異なっているため、コマンド+タブでは切り替えられないらしい。
「操作スペース」を切り替えるには、別のショートカット:コントロール+右矢印( ^ + → ) で切り替えるのがMacの流儀となっているらしい。
(ショットカット設定はシステム設定(System Settings) → キーボード(Keyboard) → キーボードショートカット(Keyboard Shortcuts...) → Mission Controlで確認できる。 (Move left a space / Move right a space ))
(また、Macbook Proなどトラックパットがある場合は、4本指スワイプでも切り替えられますね。)



※Windowsにも同じように、Windowsキー+タブで「デスクトップ」を切り替えられる機能がありますね。Windowsの場合もデスクトップが異なるとALT + Tab ではアプリケーションを切り替えられることは不可能ですね。


そこまでは分かったのだが、しかし、YouTubeをフルスクリーンにしただけで「別の操作スペースに移動された」ということは、一般ユーザーにはあまり直感的ではないと思うのだがどうだろうか?(その辺の直感性とかUXとかはむしろAppleが一番嫌うはずでは???)

ということで、もちろん議論に議論を重ねた上でのApple精神みたいなものに則った上での「答え」として世の中に出してはいるのだろうが、それでも多くのユーザの「直感」とは少しズレてる(失礼!)という点で書いておくこととする。

切り口を変えていうと、Appleがユーザに求める操作は、
・ユーザ自身で対象画面をフルスクリーンにしたかどうかを記憶しておくこと!
・フルスクリーン(別の操作スペース)に切り替える場合は、コントロール+→
 それ以外はコマンド+タブで画面を切り替えること!
ということを暗黙的に求めている、ともいえよう。

しかしユーザとしては作業に集中したいのに、いちいち「このYouTubeは細かい文字がないからフルスクリーンにはしてない、こっちは細部を見たいのでフルスクリーンにした」を覚えておかなければならず、コントロール+→ と コマンド+タブ を押し間違えると、ものすごく時間の浪費を感じるのである。

ということで、いろいろ書いてしまったが、言いたいこととしては、崇高なApple精神を曲げてもらう必要は全くないのだが、初期状態ではなくても良いので、回避策を公式に用意しておいてもらいたいと思ったばかりである🙇‍♂️

※そこまで考えるとAppleが考える方針と照らし合わせると、「フルスクリーンにしただけで別のスペースになる」というのが果たして方針・定義通りなのか?という問題とも思えてくる。ユーザの同意とか明白な認識のもとに別スペースにしたかどうか?ということ。

2023年8月12日土曜日

【Unreal Engine 5.2】PCG(Procedural Content Generation)がリリース

Unreal Engine 5.2でPCG(Procedural Content Generation)がリリースされました。

この機能はプロシージャルに、つまり数値だけ与えれば自動的にコンテンツ(メッシュとか)を生成してくれる機能です。

これを見て、私も同じことを既にブループリントで作ってたので、ついにEpic社も私の真似を始めたのだと思いました^^(絶対にそんなわけはないのだが。加えて既に多くの方が同じことをブループリントで作っていたことでしょう。。)

こちらが自作PCGを使って作成したビデオ👇 最後の増殖シーンで使ってます。


同じことをやりたい場合は、今後は公式のPCGを使えば良いので詳細は割愛するが、一応以下が作ったブループリント。


クリボー(あ、言っちゃった)をだんだん早くスポーンさせたかったので、スポーンスピードも変えれるという画期的機能も実装済みである!これも多分PCGで真似するだろう(あ、もうされてる!?)

もちろん、Line Traceを使って、地形に合わせた接地処理も行なっている!
※一部、木の途中に生えてしまったクリボーもいますが😅

また、ブループリントクラスをスポーンしてます!1人ずつのクリボーがブループリントとなっており、スポーンと同時にちょっとずつ大きく成長するスクリプトが組まれているため、大量のクリボーが一斉に生えてくるアニメーションが作成できました。
という点でも画期的!
※PCGでもStatic Mesh以外もスポーン可能???
→「Spawn Actor」で可能でした!!!


以上、何の役にも立たない読み物記事でした^^;

(紹介) タイプ音で入力内容を予測する機能

私のアイデアを書いてるブログに、キーボードのタイプ音で入力内容を予測する機能のアイデアを発表しておいたが、どなたかがついに実装されたらしいので、こちらのブログでも紹介しておくこととする。



2023年2月13日月曜日

Windowsエクスプローラーの検索でヒットしない

業務でWindowsを使っていて、エクスプローラで検索してもファイルがヒットせず、いらない時間を消費したため一言。

あるバージョンのファイルがあるかどうか検索したくて、 1.0.0とか 2.3.4 などのよく使われてるバージョン表記法で検索してみたのだが、ヒットしなかった。
そのため、ファイルは存在しないと思ったが、実際にはファイル名に検索したバージョン番号を含んだファイルが存在していた。。( textfile_2.3.4.txtとか)

原因はWindows OSのバージョンのどこからか、単語ベースでの検索になったためらしい。。
確かに「昔はこんなことはなかったはずだ」と感じた通りである。(というか私がWindows 10とかWindows 11の検索挙動が違ってることに気づくのが遅すぎだが^^;)

よって、単語とみなされない文字列で部分一致検索をしたい人はコマンドプロンプトなりPower Shellなりを使えと言うことなのだろうか?
(頑張って良い方に考えるならば、この部分はMSは放棄したので、どうぞサードパーティが自由に検索機能を作ってください!と言う大風呂敷を広げたと言うことだろうか?(しかし放棄は良くないかな。。))
また、多分Windows XPとかWindows 7の頃は単純部分一致検索もできてたはずで、それに親しんできた人についても、下手をすると「過去の人は知りません」的な態度に受け止められてしまう。

もしかして私の方がずれていて、世の中的に、世界中のOS的に「単語ベース検索」一本化が進んでいるのかと不安になって、念のためにMacで同じ検索をしてみたが、Macだと親切に「Name Contains "x.x.x"」のように部分一致検索のオプションも候補表示される。

ーーー
既述「Windows の新規作成ショートカットの遍歴」にも書いたが、MSはどうもこのようなすごいのだか、すごくないのだか分からないやらかしをやってくれるのである^^(慣れっこにとっては「やれやれまたか」とか飽きられ(諦められて)いるのだろうか?)

頭良すぎて、現実でやってることがずれすぎていると言うか^^。。(現実とずれてしまう時点で、本当に頭が良いとは言えないのだろうが)

Windows 8のスタートメニューの話と同様、今回の検索機能についても、MS内部でも「流石にそれはマズいんじゃ。。」と思っている人は必ずいるはずだが、MSではなぜかそういった声は届かないらしい。
「番号の一部で検索とか一般コンシュマーがすることは100%あり得ず、そんなことをするのはエンジニアだけであって、エンジニアはどうぞご自身のスキルを発揮して部分検索でもなんでもすればいいではないか!」とか逆ギレして済まそうとしているのであろうか?^^

何というか、何か物事の黎明期には紆余曲折がありがちであるが、これほど黎明期を、紆余曲折を体現した組織もある意味すごいと思った次第である。周りからやらかすことを期待されて、まんまとやらかす側のプレイヤーとなることを自ら甘んじて享受しているということなのだろうか?(しかし易きに流れては成長はあるまい。まぁ現実を見ればそんなことは分かっているのだろうけど)
もしくは自ら喜んでコンピュータ黎明期の骨董になろうとしているのだろうか?

ーーー
ということで、いらない時間を使ってしまったため一言書いてしまったが、こういった声も裏を返せばエールなのであって、どうぞ曲がらず頑張っていただきたいものである。
(冒頭に書いた通り、私は気づくのが遅すぎたが、世の中には激しいお方もいらっしゃるわけで、おそらくボロクソ言われているのではないかと心配になってしまう^^よくそれらに精神的に耐えられるなぁと感心したりもする^^)

しかし、「マズいと思ってることもマズいまま世に出してしまう」ことや「現場の一般ユーザ目線の基準とか【正常な感覚】を持てていない」ということは、一言で言えば「意思決定がうまくできてない」ということなので根は深そうである。

それこそWindows OSで世を席巻し、Internet Explorer独自仕様 (IE特別対応。何億人のエンジニアが泣かされたことか^^)とかOfficeマジック(Excelマジック、Wordマジックなど)とかのように「こっちが親でユーザが子なのだから、いちいち細かい要望を聞いてられるか!(エンジニアが困ってようが知ったことか!)」的な態度が祟っているとも言えるわけで、MSとして本気でユーザ目線に戻るのか、それとも過去の栄光にしがみついてあぐらをかき続けるのか(そして沈むことも気付かず、気づいた時には海の底とか^^)、そろそろ本気で気づかなければならない頃だろう。

そして、私が言うまでもないが、そのマズさはMS自身が一番知っているはずである。いやと言うほど気づいているのだろうが、それでもなかなか「やらかし」が止められない点に相当の根の深さを窺い知ることが出来るのである。

2023年1月12日木曜日

インボイス制度開始。消費税免税事業者が課税事業者になった場合。

2023年も年が明けて、個人事業主の皆さんはそろそろ確定申告の準備を始めた頃であろう。
個人事業主の方は同時に2023年10月に開始されるインボイス制度もうっすらと気になり始めていると思われる。

確定申告をe-Tax確定申告作成コーナーで作成している方だと、作成するメニューの中に「消費税」の項目があるので、試しに2022年分データを元に消費税を試算された方もおられるのではないだろうか。

私も試算してみたが、その額に腰を抜かしてしまった^^
インボイス制度に合わせて課税事業者になる場合は、2023年10月からになるので、初年度は3ヶ月分ですむが、それでも「こんなに行くのか」と驚かれるかも知れない。
そして次の年からはフルに一年分になるため、単純計算2023年分の約4倍くらいになるのである。。。

インボイス制度をよくよく考えてみると当然かもしれないが、かなり簡単に言うと要は売り上げの10%分は一時的に預かっていただけなので、その分を課税事業者として国&地方自治体に納め直さなければならない。といったところだろう。
(仕入れがある事業をされている方は、上記から仕入れ等に含まれる消費税分を差し引く。正確には課税売上に係る消費税額から課税仕入れ等に係る消費税額を差し引いた額というのかな?)
(あと一応、言うまでもないかも知れないが軽減税率対象の売上・仕入れ物品であれば8%。以下同様。)

売り上げが1,000万円未満でこれまで免税事業者だったが、インボイス制度で課税事業者になることを選んだ場合は、「新しく税金が発生した」と思われるかもしれないが、あくまでもこれまでは免税の恩恵にあやかってこれた、ともいえよう。

免税分を「あて」にしてこられた方は、考え方を改めて、売り上げの10%(マイナス仕入れ等の額の10%分)は「後から収める分なので手をつけてはいけない」と思い直さなければならない。

※しかし「免税」と言うことも考え直すと、中小企業救済の意味合いもあったかもしれないので、インボイス制度開始に伴って「免税」対象から外れてしまう人を一時的でも段階的でも救済する制度は特にないのだろうか?(なんだか「あてにしてた方が悪い」と言われてるような気もする^^ 浮かれさせておいて階段を外すような、というか。。^^)

ーーー
さらにそもそも話になると、所得税も前年一年分の「所得」に対して、儲かった場合は税金取りますよ、と言うものであって「後から課税しますよ」方式である。
※現代の金融・経済システムでは全てをリアルタイムで行うことはできないので仕方がない。ちなみに私はこの問題点を含め、現代経済の諸問題を解決するリアルタイム経済を考察済みである^^よかったら下記参照。

このネオ・アナログ経済が実現すれば、今回の命題であるインボイス制度(消費税)とか所得税とかの問題も一気に解消できる、と言うかそう言う話が出てくる隙がなくなるのだが、まぁそれは次世代に期待するしかなさそうである。。

ーーー
要点としては「後から課税しますよ」方式ではどうしても生じてしまう問題であって、殊に消費税は税率もそれなりに高くて、こういった制度見直し時に問題点が嫌でも浮き彫りになって表面に現れてしまう、といったところであろうか。

しかし一方で世の中には「現金主義」と言うか単式帳簿というか、「もうもらったカネなんだから後から税金を取るとかいうな!なんでその時に取っておかなかったんだ!」的な人もいる訳で、そこまで考えると国とかグローバルな経済(日本国もそれに操られてはいやしまいか?^^;)は、全員にクレジット方式というか複式帳簿的な生活・考え方を強要しようしているのではないだろうか?とさえ思えてしまうのである。

もちろんクレジット方式の方が断然カネは回しやすくなるのだが、必ず最後は「実体」に行き着く訳で、実体とは誰かのその日の現金だったり、将来の「取り分」(見込み)だったりする訳である。
果たしてどこまでクレジットを膨らませたいのだろう?(そしてそこまで膨らまさせて一体何をしたいのだろう?)

ーーー
最後は脱線したが、今回のインボイス制度は国(というか財務官僚?^^;本当のカネの力😅)はこの免税分に本腰を入れて切り込んだようにも見受けられる。
よく言えば「バランスをとる」ということかも知れないが、最近は働き方が変わって先例も多く出てきて結構多くの人が個人事業主になってきて増えてきて、そういった人たちが免税とか「特権」的(に見える)なもので「おいしい思い」をするのを牽制する意味合いもあるのだろうか?
(簡単に言うと「取りこぼし分が巨大になってきたので、穴を塞ぐ」と言うことだけかも知れないが。。)

意図はいくらでも推測(邪推?)はできるが、制度として決まった以上は、一個人事業主としてはこれまでの免税をありがたく思い、これからは課税事業者になりますね、といったところだろうか。
ただ一点だけ、消費税の10%と言う額が額なだけに、免税という浮かれる仕組みを用意しておきながら、みんなが登り切ったのを見据えて階段を外すようなことは今後はして欲しくない、とだけ思った😅 (これを何年越しとかで意図を悟られずに計画・準備・実施しているのだから官僚とは確かに頭が良いものである。。)

ーーー
更に付け加えておくと、そもそも消費税は「本質的なのか?」と思った。消費するモノ・言うなれば消費活動に税金がかかるということだろう。
現在の仕組みでは消費するモノに税金が乗っかってしまっているので、今回のインボイス制度導入による課税免除という優遇処置が解消されてしまう問題とか、会計処理時に税込み経理方式にするのか、税抜き経理方式にするのかとか、仮払い消費税という勘定科目をつくって対応したりとか、8%分と10%分を分けたりとか、ものすごく複雑な仕組みになってしまっているのである。
(以前にどこかでも書いたが、こういった企業側の負担まで含めて経済のトータルで本当に考えているのか?といったところ。頭が良いのなら、なぜそこまでちゃんと考えないのかいつも不思議である。一言で言うと「地に足が付いてるか」の問題ということだろうが。)

日本だけこの消費税という複雑怪奇な仕組みを運用しているのであれば「日本は何やってるんだ?」と思うだけで済むのであるが、やはり世界的にもVAT(Value Added Tax。付加価値税と訳すらしい)があるわけで、世界中の会計システムでこの複雑な仕組みを運用しているのかと思うと、若干意外な気もしてくる。
日本はご存知の通り律儀なので、仕組みとして決まったことはきっちりと正確に運用していくわけであるが、失礼ながら日本にも大雑把な人もいたり、世界中にも大雑把な人はいるわけで、それら全てを「企業努力」に依存してVATの仕組みを張り巡らせたわけであるから、やはりカネの力とは恐ろしいものだ^^

もちろんVATの仕組みが、将来的に他の仕組みにも応答できたり、他の仕組みのベースになり得るとかであれば、将来を見据えたシステム開発でなんとか納得もできるが、最初に書いた通りVATとは「本質的なのか?」ということ。
もちろんキャッシュでのやり取りは第三者からは直接的には追えないので、モノに税を上乗せしておくという発想になるのだろうが、本質は「消費行動への課税」のはずである。
片やグローバル的にクレジットを推進しているわけであるが、その点とベクトルがずれている、と見受けられる。(鋭すぎ?)
クレジットを推進しているのであれば別に所得税と同様に後から足し引きした合計金額から税金を計算すれば良いだけであろう。
どうもトータルでものを考えずに局所的・短絡的に「取れる所から取ろう」という頭でいると、こういった壮大な無駄な仕組みを生んでしまうのである。というのはちょっと辛辣すぎる、切れ味の良すぎる図星すぎる指摘となるだろうか?😅

ーーー
消費者視点で見てみても、理屈上は同じであって買い物をする度に10%上乗せして支払うか、または一年分の消費額の10%を計算して払うかであり、その額はもちろん一致する。
現在の消費税10%で考えると一年分の消費税は当然結構な額になるわけであるが、買い物のたびに払った場合でも合計すれば同じ金額である。
消費者に「消費税を作ったので一年分を毎年一回払ってね」というとものすごいブーイングの嵐にあって法案が通らないので、もしも角が立たないようにするがためにモノ1つ1つに税を上乗せする現在の仕組みにしたのであればそれはそれで消費者を見下しているとも見受けられるのである😅 (一年分トータルだとだめだけど、モノ一つ一つに個別であれば、なぜか消費者は納得させられてしまうという構図。。)

ーーー
もうちょっと実際上の話にしてみると、残念ながら日本はグローバルに「追随」する国なので、(暗にグローバルからの圧力があるのかもしれないが)VATと同じ考え方に「するしかなかった」とでも言えようか。
繰り返しになるが日本ではかなり「正確に」世の中が回っていて、会計で言えば大半が(辻褄合わせをせずに)一円のズレもなく運用されているはずである。その点を考慮すれば日本では別に一年分トータル方式も成立すると思うが、おそらくそういった「消費行動に対する課税という本質的な」観点からは何も考えていなかったのではないだろうか?
これは完全に邪推になってしまうが、日本にルールさえ渡せば日本は完璧な仕組みと完璧な運用を勝手に実現してくれるので、先例となるシステムを「作らされている」と思えなくもないのである😅 (おそらくそんなことを頭の片隅で考えた人は、実はかなりの人がいると思われる。。)
さらに実際上の話にすると、もしも日本が本気を出して相互信頼が成り立っている環境を前提に、一年分トータル方式の消費行動税を作ったとしたら、それを作ろうとしている意図をグローバルが察知した瞬間に計画を白紙に戻すように暗に明に圧力をかけられて、日本は大人しく従うしかないという構図が思い浮かぶのである。。 (これも多くの人がとっくの昔から思っていることだろう。)

2023年1月6日金曜日

UNIXコマンド 任意のリターンコード(終了コード)を返すコマンド: rrc

シェルスクリプトなどで、子プロセスのリターンコード(終了コード, return code, exit code)によって処理を振り分けている場合、子プロセスに意図したリターンコードを返してもらいたい時がある。

その時は、「rrc」(return return code)コマンドが便利



簡単に使い方を書いておく。
例1:
$ rrc
引数なしで実行した場合はリターンコードは 0。リターンコードは「$?」変数で確認可能。
$ echo $?
0

例2:
$ rrc 1
$ echo $?
1
引数に返して欲しいリターンコードの数字を指定すれば、それを返してくれる。
注意点としては、rrcの内部的には「atoi()」関数を使用しているので、数字以外の文字を指定した場合や、最大値/最小値を超える数値を指定した場合は、atoi()の仕様に準拠することになる。

例3:
$ rrc -1
$ echo $?
-1

$ rrc 1024
$ echo $?
1024
rrcコマンド自体は、-1とか1024とかもリターンコードとして返してくれるが、UNIX的にはexit codeは0〜255となっている。

正確には親プロセスで exit(3) Library Function (及びそれに含まれるマクロなど)を使用して子プロセスを待機する場合は、exit codeは0〜255となる。
具体的には、WEXITSTATUSマクロでリターンコードを取得すると0〜255となる。
wait.h

...
#define WEXITSTATUS(x)  ((_W_INT(x) >> 8) & 0x000000ff)
...
0x000000ff つまり 255 でマスクされていることが分かる。

rrcコマンドとしては、-1や1024なども返すことは可能だが、実際それがどういったシチュエーションで使用されるかも考慮が必要なので、注意が必要である。

rrcコマンドとしては、そういった0〜255以外の想定外のリターンコードも返すことができるという自由度を持たせているということである。

ちなみに、シェルスクリプトでも任意のリターンコードを返すのも簡単に書けるが、こちらは勝手に0〜255にマスクされる点が異なる。
$ bash -c "exit -1"
$ echo $?
255

$ bash -c "exit 1024"
$ echo $?
0

ということで、子プロセスのリターンコードをテストしたい時にはrrcコマンドは何かと重宝するだろう。

2023年1月3日火曜日

Meta Quest 2 (Oculus Quest 2) Tracking Lost時にホーム画面まで表示するやり方および何となくエラーの見当をつける方法(画像&動画あり)

Meta Quest 2 (Oculus Quest 2)でTracking Lost(トラッキングが失われました)状態になり、Meta公式ページの対応やネット情報を一通りやっても解消しない場合に、どうにかホーム画面まで表示するやり方。

※※※ Warning(注意)※※※
この記事はMeta公式文書で参照可能な範囲は参照してますが、それでは不十分な箇所はネット情報を参照しています。
また、Bluetoothマウス・キーボードはMeta的には「Experimental Features(実験的機能)」とのことで、通常は正常起動しているHMD上の設定画面の「Bluetooth Pairing(ブルートゥース・ペアリング)」から接続するものです。
ソフトウェア的なことですので、どこの画面でBluetooth Pairingしても問題ないかと思いますが、あくまでも自己責任の元でご判断ください。
Bluetooth Pairingに限らず、本記事の内容は自己責任でご判断いただければと思います🙇‍♂️

ただし、本記事ではHMDやコントローラを分解などによって内部アクセスしている訳ではなく、公式アプリのみを使用して「表面上」見ることができること・操作できることを、できる限りやっているということです。

故障した場合は、自己判断せずMeta公式に書いてあるとおりMetaサポートに連絡しましょう!!!

一応お決まりかもしれませんが、記載しておきます。
本記事を読まれて何かしらの対応を行われたことに関しては、私は一切の責任は負いません🙇‍♂️ (負える訳がありませんが念のため。古今東西世の中は怖いですからね。。)
※※※※※※※※※※※※※※※※※※※

【前提条件】
・Meta公式ページの対応は一通り試していること。
・ネット情報でできそうなことは試していること。(上記Warning(注意)記載済みですが念のために追記しますと、サイトによっては保証範囲外のことも含まれますので、そこまで含めて自己判断でお願いします。)
・つまり、本体(以下HMD(Head Mount Display))のカメラ4つを綺麗にすることや、コントローラの電池を取って待機して入れ直したりとか、Guardian(ガーディアン)の履歴をクリアとかを試したがダメだった状態。
・Tracking Lostになった場合かつコントローラも動いてない(あと画面が顔追従しなくなった)場合は、Tracking LostダイアログのContinue(次へ)ボタンも押しようがなく落胆している状態。
※細かく書くと、3秒くらいは顔追従しないが一瞬(0.5秒くらい)だけ追従する状態。そこで頑張って視線つまり白い点(ポインタ)をボタンに持っていって、コントローラのボタンを連打するけど、残念ながら画面上のボタンが押せなくて悲嘆に暮れている状態。
・スマホの「Meta Quest」App(Meta Questアプリ)でHMDとリンク済みだとなお可。

【必要なもの】
・HMD
・Oculus Quest 2 コントローラー
・スマホの「Meta Quest」App(私が試した時のバージョン:193.1.0.15.104)
・Bluetoothマウス
・Bluetoothキーボード
・Metaの開発者アカウント※Meta Quest 2でFacebookアカウントでログインしたと思うが、それを開発者アカウントに登録する必要がある。この記事では説明は割愛。各種サイトをご覧ください。
・PCの「Meta Quest Developer Hub」(私が試した時のバージョン:3.1.1)

【手順】
HMDがTracking Lostになってコントローラも動かない場合は、マウスを繋ぐことで一部操作可能となる。
マウス接続手順としては、
・スマホ「Meta Quest」起動 → 接続済みのHMDに接続 → ヘッドセットの設定
 
→ コントローラ

→ 新しいコントローラーをペアリング 

→ ゲームパッドをペアリング

→ Bluetoothスキャンが始まる

・BluetoothマウスをONにして、新規デバイス接続状態にする(操作方法はマウス次第。大抵はマウスに付いているBluetoothボタンを長押し)
・スマホ「Meta Quest」側にBluetoothマウスが表示されたらそれをタップ


→ 「何らかのエラーが発生しました。もう一度実行してください。」が表示されるが、実際はペアリングできている。おそらく「Meta Quest 2コントローラとしては機能してませんよ」という内容なのだろうと推測。



これでHMD側でマウス操作ができるようになるはず。ラッキーであればこれでマウスで「Continue」ボタンを押して、GuardianをOFFにしたりして「使える」状態にまではできるのではないだろうか?
ただしTracking Lostが出ている以上はHMDに何かしらの異常が起きているわけであって、以前と同じような状態でゲームができるか?ということとは話が別なので注意していただければと思う。この記事はあくまで「頑張ってホーム画面まで表示するやり方」である。
「エラーの見当をつけたい」という方はもう少し読み進めていただければと思う。