[数学] 数学は風化しない:エンジニアが最後に辿り着く武器
プログラミング言語もフレームワークも常に変化するが、ベクトル・行列・三角関数・クォータニオンなどの数学は一生使える普遍的な知識。Three.jsとUnityの実装経験から導いた「数学は風化しない」という結論を解説する。
プログラミング言語もフレームワークも常に変化するが、ベクトル・行列・三角関数・クォータニオンなどの数学は一生使える普遍的な知識。Three.jsとUnityの実装経験から導いた「数学は風化しない」という結論を解説する。
2025年5月のブログ開設から現在までの技術的変遷を総括。ChatGPTからGeminiへの移行を決意させた、開発現場のリアルな葛藤についても記録。
Three.jsで“動き”を作るとき最初に覚えるべき sin/cos パターンを、振幅・周波数・オフセットの考え方から、位置/回転/色への適用例まで短くまとめた。
Unity 2022 LTSでStarter AssetsのThirdPersonControllerとVRMモデル、OpenXRのVR環境を同一シーンに統合し、PCモードとVRモードを自動判定して切り替える完全な手順とハマりどころの解説。PlatformSwitcherによる自動切替方式、カメラ・AudioListener競合排除、VR初期化待機のノウハウをまとめた記事。
Shader 入門シリーズ最終回。VR / WebXR / Unity XR でシェーダーを書く際の注意点を、ステレオレンダリングの構造、透明描画の破綻、multipass や SSR の罠、パフォーマンス最適化、頂点アニメーションの重要性など、実制作で役立つ視点から解説する。WebXR 経験を持つ開発者がそのまま XR で強くなれる知識をまとめた。
Unity 開発中に遭遇した3日間連続のトラブルについて、ChatGPT-5.2 と Gemini 3 の対応を比較した実戦レポート。6000系プロジェクト破壊、2022.3 の XR プレハブ破損、Android モジュール再構築失敗など、現場の地獄を通して“どのAIが何に強いか”が明確になった。実装・数学はChatGPT、環境構築・修復はGeminiという役割分担が必要であると結論づける。
Unity 2022.3 LTS環境で、XR Interaction Toolkitを使用してVRスティック移動とPCキーボード操作を共存させる実装ガイド。トラブル時のモジュール再インストール手順も網羅。
Shader入門第5回。水面・炎・発光という“ゲームで一番使う表現”を、sin / noise / depth / Fresnel の4本柱で作る。Three.jsのRawShaderMaterial(GLSL)とUnity URPのShaderLab/HLSLを横並びで比較し、SimpleWater等の実装が読めるレベルまで分解して理解する。
最新版の罠を回避し、安定版Unity 2022.3 LTSを使用してMeta Quest 2向けのVR開発環境を一から構築する手順を解説します。
GLSL と HLSL の違いは文法より“受け渡しの作法”。Three.js と Unity のシェーダー構造を横並びで比較し、attribute→appdata、varying→v2f、time/UV/normal、model/view/projection 行列の対応(modelMatrix ↔ unity_ObjectToWorld 等)を整理。どちらでも同じ表現を再現できる“二刀流の脳”を完成させる。
Unity(URP)で SimpleWater の最小実装を進める過程で、XR/Project Settings の変更を引き金に PlayerArmature(VRM)と Prefab/Scene のリンクが破綻。Overrides → Revert All による破壊、Prefab Overrides の無限ズレ、Library 再生成や Animator 再設定の無効、さらに Git ロールバックが meta/GUID/インポート順依存で機能しなかった経緯を、再発防止のために技術的に記録する。
UnityのShaderLab構造(Properties/SubShader/Pass/Tags)を押さえつつ、HLSL最小サンプルで頂点をsin波で揺らし、時間で色を変える。Three.js/GLSLとの共通点と相違点、初心者の罠(URPタグ、座標変換、Time、前方宣言)を潰す。