日別アーカイブ: 2025/12/28

phpを使ったFitBitデータの取得 進捗2

前回、睡眠に関する指標を閲覧できるようにした。
睡眠に引っ張られすぎていたがそもそもHRVを測りたいのだ。(安静時心拍もあるといいかも)
ということで、今回はHRVの取得と各条件の実験期間である14日間のデータをまとめてとれるようにすることを目的とした。
14日分のデータを簡単に見れるようにすることはできた。
ただ、サイトの細かいところを直していたら

Fitbit API error (HTTP 429): { “error”: { “code”: 429, “message”: “Resource has been exhausted (e.g. check quota).”, “status”: “RESOURCE_EXHAUSTED” } }

とかいうエラーが出てきやがった。どうやらデータの取得数には上限(1日の上限?と短期間取得の上限?)があるらしく頻繁な更新はあまりよくないようだ。ほかのユーザーのものも併せて見れないとしたら非常に不便なため、1日1日データを取得するのではなく14日間のデータを範囲取得することにした。

いいじゃんいいじゃん
日付ごとにしっかりと数値が出ている。それと、一日分のデータもこのサイトだけで見れるようにした。日付のボタンを押すと前回作った一日分のデータの表示の仕方で一日のデータが細かく見れるようにもできた。(超いい感じ)
ダッシュボード(今後はメインメニューと呼ぶ)ももう少し見やすくしてみた。

全部日本語にしてやったぜ!一日分のデータのみを見れるものも一応全部作ってみた。それとcsvファイルを取得することもできるようにした。期間指定ができると便利なので追加した。何回かファイルをダウンロードしたところ30日以上のデータを取得しようとするとエラー?を吐いた。連続してデータ取得できるのは30日間が限界かも(この辺もChatGPTに聞いたら改善できるかも?)

いよいよ次は自動でログインできるようにするフェーズに移ろう。cronについてはいまだに未知数なことが多い、しかもサーバーの管理画面から登録する必要があるとか。この辺は全部先生に聞かなければいけないなぁ。まぁ大丈夫だろう年明けに聞いて授業開始日までに仕上げられれば実験が1月中に開始できるぞ(被験者が集まれば)。
作ってて楽しくなってきたのでちょこちょこできそうなことをやってFitBitからとれるデータ以外にももっといろんなものが見れるようにしよう(先生がやってた食事の写真から解析するやつとか)。食事の写真を撮って大まかなカロリーとか出せたら(chatGPTで)管理しやすそうだけどできんのかな?要検証だ。

AnimationRigging

Unity公式の説明サイト わかるかいこんなもんで。
かめくめさんのサイトはわかりやすいなぁ。。。
Rig Builder・・・キャラクタのTopにつける。エフェクタが設定できるようになる。
Rig・・・スケルトンと同階層にObject作ってアタッチする。それをRig Builderに登録する。
Bone Renderer・・・Topにつけるらしいが,ボーン表示されん。あ,Transformに表示したいボーン入れなきゃいけないのね。表示された。
Rig Transform・・・なるほど,これをつけるとRigの親になるのね。
Blend Constraint・・・ややこし。しかし確かに動く。この配置が基本ということね。
ChainIKConstraint・・・なにに使うんだ,鎖?ヒモ?
Damped Transform・・・揺れるものに?DynamicBoneに類似。なるほど確かにぃ

Multi Aim Constraint・・・何に使うかわからんなぁ
Multi Parent Constraint、Multi Position Constraint、Multi Rotation Constraintと続くが使い所がちょっと。。。
Override Transform・・・ソースのTransformをターゲットに反映させる。これはちょっと使えそうだね。
Twist Collection・・・2022.3.32で延々動かない。何故だぁ!2023.2.20にするとあっさり動くのであった。なるほどね。まぁたしかにね。

DAZモデルでも試すべくイケメンを作り直す。が、動かない。DAZは上腕や前腕に、TwistBoneが入っているがそれが原因か?と思ったが、そうではなく「モデルにも髪の毛にもheadがあり、IKを解決できない」というエラーで髪の毛側の名前を変えると無事動いた。名前が大事らしい。改めてよく見るとDAZには顔ボーンが山程入っている・・・。これ動かせば表情モーフ不要なのでは。ボーン制御にすると何かいいことあるのかなぁ?モデルで共通制御にできるか。

ここまではまぁ順調。姿勢と目線IKがほしいよなぁ。あれ!?かめくめさんのサンプル終わっちゃった。ということは。。。ほいだらこれ(「Animation Riggingでキャラがターゲットを見続け上半身も連動する挙動を実装する」)行こうか。目線のコントロールにはMultiAimConstraintを使うのか・・。なるほど、肩に手を添えると「俺たち友達だろ?」みたいに見えなくもない。Chestにも反映させて胴から回すこともできる。体の向きごと変わると、「なぁ、友達だろ!?金貸せよ。」「やめてよ・・」みたいな雰囲気も出てくる。これはCGキャラクタに反映されるノンバーバルコミュニケーションの研究とも言える(?)。その際、Rigの構成順序は、Chest→Head→HandとしないとターゲットへのIKが適切に処理できなくなる(手の位置がズレるなど)。Rigは入れ込む順序が大事

・・このニィちゃんのなで肩が気になる。これもMultiAimConstraintで直せる。設定のUpAxisが回転の軸の上方向、AimAxisはターゲットの方向と思われる。ターゲットボーンの方向は、キャラクタ読み込み画面のRig>Configureで表示される。lCollar(左肩)の場合、緑(Y)がUpAxis、赤(-X)がAimAxisとして適切であろう。肩が上がって正常な絵面になった。こうしてみると前の絵は肩が下がりすぎて不気味だ。しかし今度は肩を上げた後遺症で拳位置が変わってしまった。

これは肩と上腕にMulti-RotationConstraintをつけて、Sourceで角度を制御するのが良さそうであった。肩で上げた角度を上腕で戻すのだが、基本角度指定上書き扱いなので、上腕側の手のフリがなくならないようにAxesをZのみにするのが良いようだ(ややこし)。ようやくまともな感じになってきたような。いろいろやって、HumanBodyBone制御とは両立せず、AnimationRiggingで姿勢を整えたほうが確実らしい事が理解できた。まぁTwoeBoneIKとMultiAimConstraintで大抵の動作はイケそうである。