・前日。
0800:ミックスナッツ×2。
1130:鍋。
1230:低糖質クッキー。一度覚えてしまうと食いたくなってしまうなぁ。
1300:昼寝。10分程度だったのでパワーナップ相当。睡眠慣性は弱めで眠気はわりと解消されてると思う。
1430:ミックスナッツ×2。
1700:そぼろ+ピーマン+コーヒーゼリー
1930:ミックスナッツ×2+普通のコーヒー。今日はなんか食欲が高いな。
電解質タブレット✕3と水分1.8リットル程度。
性欲:低~中。処理翌日だが今回もそれなりにあるので問題なさそう。処理のタイミングは多少掴めてきたかな?
筋トレ:肘膝腹筋20×2+10回。3セット目の11回目で腹が痙攣するような感覚があったのでそこで切り上げ。まぁ負荷としてはちょうどくらいなんだとは思う。


・フロー2。
今回は実作業はほぼなく、自分が作っているものの理解を深めてネタ出しをしやすくする方向で終始していた。まぁ理解は深まったので良いんじゃなかろうか。


・睡眠時間5時間半。
今回も7時台に起きれはしたが、わりと眠かったな。厳密には目を開け続けるのに気力が必要で、気を抜くと二度寝してしまいそうな状態。


・Unity。
外出前の時間がもうあまり残ってないのでまずは方針決めだけ。
まずは「入力まわり」の対応を進めよう。まずは全方向に移動できないと衝突判定がどうとか言ってられないしな。
同時押しの抑制に関してはまだ良いか。そもそも移動入力と決定入力はまぁ同時に押しても良いっちゃ良いし。少なくとも「移動中は反応しない」とかはない。ボタン側の入力を複数用意するのはもう少し先の話になるから、いま抑制してもそもそも動作確認ができないし。
なので、その後は衝突判定まわりかなぁ。処理負荷を考えると今回も自作になるか。


・外出終了。
バッグ探しは完了。「そういえば雨の日は傘も入れられるようにした方が良いか」となったり「念のため書類は持ち運べた方が良いか」となって想定より少しサイズは大きくなったが、mont-bellで軽いやつが買えたので問題はないはず。
それ以外もある程度買ってきたが、再考が必要そうだったのが「スプーンを入れていくもの」。現状の想定だと「アルコールティッシュで包んで持っていけばクッション代わりにもなるし除菌状態をキープできるし手拭きにもなる」という感じだったんだけど、「それなら別にケースじゃなくて良くね?」となって何にするか迷った。構造的には巾着とかでも良いはずだし、なんならハンカチとかですら良い。何で包むのが効率が良いのかを考えるには今回は時間がなかった。Amazonの受け取りもあるしな。さっき配達開始のメールもきてたし。
で、帰宅したわけなんだけど、道中でデカデカと「鶴見にホームズがオープン!」とあり、今回の持っていくやつ探しにちょうど良さそうな感じがあったのでどっかのタイミングで行ってみるか。
と思って調べたけど結構遠いな。しかも川崎とは逆方向か。これだけ遠いと徒歩で何か買っても持って帰るのが面倒そうではあるなぁ。しかし、わりと貴重な近所のホームセンターではあるので、1回くらいは行ってみたいな。特に休養期間の今のうちなら貴重な土日を消費しないし、平日に行けば多少は空いてるかもしれないし。


・昼寝。
なんか眠気っぽいものが強いのか思考が落ちてるなと感じたので少し早めに昼寝してみたところ2時間ほど寝ていたうえに睡眠慣性も強め。本来なら昨日がこれくらいある想定だったが、まぁ多少前後したと考えよう。
で、昼寝の最中にAmazonも届いたっぽい。今回もインターホンに出る必要がなかったな。休日受け取りならむしろ他の人と重なる可能性が高いか?


・通販。
麦茶の到着は明日かと思ったんだけど今日だったうえにヤマトだったんだけど事前の日時指定もできなかったうえに玄関置きになってた。まぁどれも特に問題はないんだけど全部想定外だったな。
というわけで明日はフリーか。とはいえ別に散策してやるものもないかな。ホームズも派遣先付近も平日に行く方が良さそうだし。
というか昼寝を含めてここまでの4時間ずっと寝てたり動画を見たりでぼんやりと過ごしてしまったな。まぁぼんやり過ごすのは思考負荷が低めかとは思うので休憩としては悪くはないと思うんだけど、できればコントロールしたいな。


・Unity。
というわけでもう17時半なんだけど19時あたりまでは作業しようか。
入力まわりだけど、普通にイベント→Observeにしてしまうと十字キーの入力の統合ができないか。まさか「上と下と左が同時に入力されたから上への移動~衝突判定→下への移動~衝突判定→左への移動~衝突判定」とするわけにもいかないし。マージとか色々と考えてはみたが、結局のところ1フレームごとに1回の処理を行うことになるのでFromEventではなくEveryUpdateの方を使ってその中で十字キー入力を合成する方向が良さそうかな?ここらへんの定石がまだまだわからんな。
とりあえずまずはキーボード入力を想定して上下左右の矢印で動かせるようにActionMapsのActionを登録。WASD系は単純にここに追加でパスを入れるだけで大丈夫だろう。それらをFindActionで取ってくるところまでは良い。そこから先をどうするか。
単純に上下左右をそれぞれ引数で取ってマージして返す関数を用意しても良いが、おそらくジョイパッドとかだと4つの入力ではなくXとYの2軸の入力になるから、できれば今のうちにそれらともマージする方向で対処したい。となると、FindActionで持ってきた値をもとにオフセットまで対応させておいて、それらのオフセットの合計を最終的なレバー入力として扱いたい。となると、Dictionaryの形で引数を設定できるようにしておいて、それを使って云々したいが可能だろうか。
あー。InputActionそのものだとちょっと微妙だな。Button(たぶんTRUEorFALSE)で取得すべきかValue(たぶん-1~+1)で取得すべきかの判定ができないか。ていうかこの段階では外部から型指定するパターンか。まぁ同じことではあるが。ともあれ呼び出したらオフセットにかけるべき値を返すラムダ式的なものを設定すれば、、、そこまでやるならもういっそオフセットまで計算済みのを渡す方が良いし、そこまでやるならもうマージまでこちらでやって向こう側ではそれを配信できるようにするだけで良いか?ていうかその程度なら呼び出し側で完結してしまって良いかな。入力の統合であれば入力そのものではないからむしろ入力側には入れない方が良い可能性もある。まぁ捉え方次第だけど。
うーん。とりあえずはできた。が、最終的にReactivePropertyになってしまうとまた差分が出ない時に何も通知されないよな。そうじゃなくてキーを押しっぱなしでも毎フレーム通知して欲しいので、そっちの方法を探すか?あるいはそもそも処理の実行順序が通知順序依存だと困るのでこれはこれで良くて、あとは通知された側でちゃんと実行順序に基づいた処理をするか。今回は後者の方が良さそうではあるが、毎フレーム通知する方法だけは調べておくか。
なるほど。そもそもReactivePropertyに変換せずにその前のObservableとかいう状態で渡せばそちらにSubscribeで設定することで毎フレームいけるんだな。方法はわかったので、あとは実行順序の方に戻るか。
で、そもそもこの配信はどのタイミングで実行されるのか。具体的に言えばUnityのUpdateやLateUpdateとどちらが早いのか。そしてその早さは毎回固定なのか、あるいはタッチしたタイミングによってUpdateより前になったり後になったりしうるのか。
というわけでググったらちゃんとタイミング系の記載もあったな。しかも公式の方にわかりやすく列挙されているか。
https://github.com/neuecc/UniRx?tab=readme-ov-file#framecount-based-time-operators
つまり、EveryUpdateはUpdateのタイミングで、EveryLateUpdateはLateUpdateのタイミングなんだろう。であれば、入力まわりはUpdate、それらを受け取った後の処理をLateUpdateで行えばちゃんと入力されたフレームで処理まで行われるはず。
というわけでひとまず統合してみてSubscribeの方には仮で統合後の入力をDebug.Logで表示するだけの処理を設定。正常にマージされたものが毎フレーム渡ってくることが確認できた。あとはこれをPresenterのどっかに保存しておいてLateUpdateで実際の移動処理とかを行えば良いはず。ただ、もう18時半を過ぎたので今日はここまでの方が良さげかな。短時間の作業ではあったがちゃんと得るものはあったし自分なりに考えてUniRxでのあれこれの構築が正常にできたのも良かった。あとは今の睡眠時間に身体が慣れてくれれば良いが、まぁ最速でも1週間、普通は2週間くらいはかかるかと思うので今月いっぱいかけてって感じかな。


・フロー2。
残りの時間はこちらを進めたいが、まぁ時間的にこちらも少し進める程度にはなるか。
とりあえず自分なりに「レタッチアートとはすなわち何をするものなのか」が多少はまとまってきた。レタッチアートそのものの定義というよりは、自分が行っているレタッチアートでは具体的にどういった変換が行われているのか?という部分。
要は「置き換え」だな。「何に置き換えるか」も重要だが「どこを置き換えるか」もまた重要な感じ。愛や危険といった「見えないもの」をハートやドクロの絵に置き換えるようなグラフィック独自の処理もあれば、女性や男性をチョコ(バレンタイン)やクッキー(ホワイトデー)で置き換えるようなアナロジーだか見立てだかそういうのもありうる。一枚絵として完成されたものがあったとして、その中の具体的な物体を置き換えるのか、あるいはそれらが表現しようとしている見えないものを置き換えるのか。なんかちょっと書き方がズレてしまってる感じはあるが、ともあれそこらへんの置き換え方に独自性が出るような感じはある。
というわけで当面は「置き換え方」に重点を置いて学習・検証・作成を進めていく感じになるかと思う。今日はもう残り時間的に学習あたりが限度かな。
とりあえず明日散策してもネタ出しができそうなところまではこれたか。まぁ実際にネタ出ししても良いししなくても良い。
さっきのやつを別な感じで書くと「男女が愛し合う」というのを表現したいとして、「男女」はそれぞれ普通に人間を用意できるとしても「愛し合う」というのは「具体的な行動・状態」で置き換える必要がある。さらにそこから「男女」を別のもので見立てて置き換えることも可能。今回は単純な例だったけどそれでも置き換えられる場所が2つあったりするし、その置き換え方、あるいは置き換えるかどうかで差異を作ることが可能な感じ。


・ポリコレ。
またちょっと見かけて思考が回ったりしたのでメモだけ。
たとえば性同一性障害というものがあるわけだけど、これって性別以外にも拡張できそうな概念ではあるよな。そこまで致命的ではなかったとしても、「黒人の中で育った白人」や「白人の中で育った黒人」に対して「お前は黒人(白人)だから云々」というのは性同一性障害者に対して「お前は女(男)だから云々」というのと変わらない暴力な気がする。ポリコレを振りかざす人は案外人種とかへのこだわりが大きくてこの手の暴力を振るってそうな印象。まぁ印象だけでちゃんと観察してはいないが。