|
|
||||||||||||||
|
|
|
|
|
|
||||||||||
トコちゃんの修行日誌 2026年3月 |
|
お仕事中デスクトップ
|
3月22日 蝶、チューリップ共存
植物は移植が難しいかと諦めていたのですが、意外とそのまま動きました。スケールが未調整で馬鹿でかいチューリップです。 キャラクターの顔が大きくデフォルメされているので、蝶が小さく見えます。 移植を機会にプログラム整理をしようと考えて、作業途中で整理していたのですが、それが移植を難しくしていました。いったん元の形にもどして、なるべくプログラムをそのままの形で動かすことにして、なんとかできました。 最近はコーディング(プログラムを書く作業)をAIまかせなので、きれいなプログラムばかりです。ひさしぶりに、自分の書いた昔のプログラムを見ると恥ずかしい。全部書き直したい、AIにまかせて。 3月21日 ガチョウ共存
一日がかりでガチョウ、なんとか動いています。水鳥は空を飛んだり、歩いたり、泳いだり、水陸両用なのでデバッグに最適です。 当初は魚だけ移植して、釣りのプログラムをする予定だったのですが、あまり変更せずに移植ができそうなので、昆虫までテストしてみることにしました。 3月20日 魚共存
地面の情報の取得を修正したら、意外とすんなり泳いでくれました。 元のプログラムが大変複雑で必要のない処理は削除したい気もしているのですが、なるべくそのまま最低限の修正にして、全体を整えようかと思います。魚だけでなく、昆虫や鳥にも対応しているので、一通り動かしながら修正とデバッグをしてみます。 3月19日 無停電電源UPS購入
デカい、重い。 電気が30Aの契約で、グリルで天ぷらを温めなおしていて、電子レンジを使ったらブレーカーが落ちました。 復旧してパソコンの電源が戻ったのにモニターに映らない。(立ち上げに時間がかかっていたのか)電源長押し、など試していたら、BIOSのリセットがかかってしまい、ビットロッカーの入力、Pinの再設定、Outlookの再設定などなど。 慌てました。無事に起動して動いています。 普通なら40Aへの切替を考えるのですが、無停電電源USPを購入してみました。2万円ほど。 1万円ほどのもう一段小容量のを検討していてCopilotに相談したら、デスクトップパソコンでGPUボード搭載なので、これがおすすめだそうです。 APC 無停電電源装置 UPS 550VA/330W BR550S-JP 3月18日 魚泳ぐ
表示、泳ぐ(ボーンアニメーション)の移植は順調です。動いているだけですが。一安心。 今まで作ってきた魚はマップ上の大量表示用なので、いわゆる物理演算ではありません。水に流される様子も、流れに沿ってそれらしく移動しているだけです。加速度という意味では、ジャンプして落下する時だけ計算しています。 移植中の魚は本格的ではありませんが、重さ、加速、抵抗などの要素が入っています。違和感なく切替ができるか、少し心配なところです。 渓流釣りは、竿の取りまわしが重要なので、マップ上で拡大縮小せずに操作して、魚が掛かった時点で合わせ、フックしたら切替。 フナ釣りは、そっとキャストして待ちなので、水中の仕掛け拡大で切替。 ルアーロッドは、着水したら、水中の仕掛け拡大で切替。 こんな感じかな。 3月17日 魚の移植
以前に作成した魚のデータ、表示プログラム、ボーンアニメーションの移植を始めました。 プログラムをコピーすると、移植の事を考えて作っていないのでエラーが出まくり。ほとんどは参照が見つからないのが原因です。原因の数は10個ぐらいなのですが、とりあえずほぼ全部をコメントにして、プログラムを空の状態にしてから作業を開始。 ファイルの読み込みから順を追って、メッシュの作成、表示関連、アニメーションなど、コメントを外しながら問題を解決していき、やっと絵がでました。 絵が出ると安心します。なんとかなりそうですね。 3月17日 球クリッピング、その2まだ、ごにょごにょクリッピング問題をやっていました。
これは水面だけ補正して、地面はそのままです。 頂点を平面へ引き上げる補正なので、水面とは相性がいいんです。 傾きの上方に引き上げる補正も試してみたのですが、頂点の交差が増えてうまくいかず、地面に補正を掛けると緩斜面はきれいなのですが、急斜面で補正が効かなかった場所がかえって目立ってしまいます。 今朝、急に思いつき水面だけ補正することにしたら、良い感じです。よく見ると水面のクリップ面と地面のクリップ面の交差するあたり、浅瀬の三角形の頂点あたりが多少ポリゴンが欠けていますが、まずまずな感じです。
潜水探検、楽しい! 3月16日 球クリッピング
円柱クリッピングで進めていたのですが、球クリッピングに変更することにしました。 球は円柱より上下に見える範囲が狭くなるので、なるべく見える範囲が広い方が良いだろう円柱にしていたのですが、これが弊害にもなります。 水底はすり鉢状な事が多く、円柱だと地面に隠れてしまい水底が隠れてしまいます。水中を見るには球クリッピングの方がいいみたいです。 地下は球、地上は円柱クリッピングでも良いかな。 もう一つ四面体が基本のポリゴン構成なので、球の斜めの表面と相性が良い感じもあります。若干ですがギザギザが目立たないかな。 思いつきで改良し始めたクリッピング改良、まだまだ問題は山積みですが、本筋のプロトタイプ作成に戻ります。 3月15日 クリッピング改良、問題発生
クリップ面はCPUクリッピングと同等の結果になりました。良い感じですが、問題が発生しました。 頂点を無理やり水面まで持ち上げているので、下の頂点が上のポリゴンに重なってしまうことがあります。水面の半透明の描画では2度描画するので、そのポリゴンが濃く描画されてしまいます。 AIにも相談しましたが、解決が難しそうです。 シェーダで不透明背景を取得して水面のようなエフェクトをかけて不当目で描画すれば解決はできるのですが、その画面に滝・泡・透明エフェクトを重ねると不自然になりやすいとのアドバイスです。幸いクリップ面の水面だけなので、この方法にしてみようかな。 その他の問題として、上方にどのくらいまで調べるかで結果が変わってきます。距離が短いと急斜面でガタガタになります。あまり距離が長いと不正確になります。 追記
シェーダで不透明背景を取得する方法で解決してみました。地面のガタガタはこんな感じです。 3月14日 クリッピング改良クリッピングの縁、未処理の状態
GPUクリッピング、昨年12月にプログラム
縁を地面水面の位置まで補正、今回の改良
頂点の細かな処理をまだしていないので分かりにくいですが、形状はきれいになったみたいです。方法はクリップされた面の頂点から上方向に地面水面があるかどうか調べ、その位置まで頂点を移動しています。 アイデアをAIに丸投げして20行ほどのプログラムで出来ています。ただ、以前にもありましたが+−の符号が逆で半日原因が分かるまで悩みました。バーストコンパイルのパラレルジョブだとブレークポイントで止めてデバッグとか出来なくて、とほほ・・・。 この方法で進めてみます。GPUクリッピングがきれいですが、色々と面倒な面や制限もあって自由度が少なくなってしまうので。 3月13日 ヨシノボリ
水底をピョコピョコ泳ぐヨシノボリ。水中、水底の処理はできたので、魚はこれで大丈夫です。 動物や水鳥などに対応するなら、地上、空中、水面の動きや物理演算を追加することになります。魚が水中から飛び出した時用に、簡単な内容で作って対応してはいます。 最初にGPTに作ってもらった400行のプログラムは2500行に膨れ上がっています。 いろんな処理が複雑にからみあって、バグに苦しみました。 なるべく、魚毎の設定が複雑にならないように工夫はしたつもりです。 プロトタイプとしては、魚のボーンアニメーションの移植、釣り上げるまでの流れを作る予定です。いちばん美味しいところが最後に残ったような感じですが、一筋縄ではいかなそうです。問題が山積みになりそうです。 3月7日 渓流魚群れに続いて、渓流魚の泳ぎをプログラムしました。流れに逆らって泳ぎ、縄張りを持っています。
大きな魚は深場を縄張りにしています。定位置にとどまらせるのが難しい。流れもあって、不自然にぐるぐる回ったり、陸に乗り上げたり。 もう少し、デバッグと調整。 |