Blenderで作成したキャラクターがThree.jsで壊れた — 3Dキャラクター実装の回顧
fundaプロジェクトと個人ポートフォリオにThree.jsでキャラクターを導入する際に直面した問題の記録
コメント
入力したパスワードは秘密コメントの閲覧、修正、削除に使われます。
fundaプロジェクトと個人ポートフォリオにThree.jsでキャラクターを導入する際に直面した問題の記録
入力したパスワードは秘密コメントの閲覧、修正、削除に使われます。
エンジンの限界を理解する: Blenderで完璧に見える構造が、Three.jsでも最適解とは限らない。
結果志向のリギング: リギングは単なる「インポート」ではなく、エンジン向けの「実行可能データへ変換するプロセス」である。
設計の軸: すべての判断基準は「Webランタイム上でいかに効率的に動作するか」に置くべき。
FUNDAプロジェクトを進める中で、サービスのコア価値である「楽しさ」と「ゲーミフィケーション」を視覚的に体現する存在が必要でした。
単なる装飾ではなく、ユーザーと情緒的に結びつき、学習意欲を引き出すUXコンポーネントとしてキャラクターを設計しました。
以下の3つの基準でキャラクターを選定しました。
パンダ
可愛らしさは強いが、「知性」よりも「のんびりした印象」が強く保留
カワウソ
親しみやすく、アニメーション設計的にも扱いやすいため候補に残す
キツネ → ホッキョクギツネ(最終選択)
知性・学習イメージと親和性が高い
→ ブランドカラーとの衝突を避けるために決定
![]() | ![]() | ![]() |
|---|
3D制作に入る前に、キャラクターの印象とポーズを確定するために簡易的なスケッチと2D実装を行いました。
2Dのみでもサービス運用上は問題ありませんでしたが、
**「クオリティがもう一段欲しい」**というフィードバックを受けました。
結果として、
キャラクターがプロジェクトの成否を左右する要素である
と判断し、3D化へ踏み切りました。
人型キャラクターの制作経験をベースに進行。
デフォルメを繰り返し調整しながら精度を高めました。
| 1次ヘッド | 2次デフォルメ | 3次デフォルメ |
|---|---|---|
![]() | ![]() | ![]() |
Transmission + Glass BSDF による屈折表現→ この設計が後にThree.jsで問題を引き起こす
顔は以下で構成:
しかし:
Shape Key付きメッシュはSubdivisionが適用不可
→ プラグイン(SKKeeper)で強制適用
つまり:
Blenderの「操作系」はエクスポートされない
すべて正しく動いているが、画面に反映されない
Rigify構造はThree.jsで直接制御不可
Blender:
Three.js:
→ Web上でガラス表現を再構築
| 項目 | 制御方法 |
|---|---|
| Body | ベイクアニメーション |
| Expression | Morph Target |
問題:
対策:
Blender ≠ Three.js
→ 機能の持ち込みは成立しない
3Dキャラクター制作はモデリングではなく「実行環境設計」である
MeshPhysicalMaterial
- transmission: 1
- ior: 1.45
- thickness: 0.5
- roughness: 0frustumCulled = false
computeBoundingBox()
computeBoundingSphere()
morph 초기화オンボーディングの改善からインフラ監視、リアルタイム通信、그리고 3Dキャラクターの最適化まで、7週間にわたるグループプロジェクトの完走記録
OSCCA チャレンジ期間に Githru プロジェクトへ参加し、Issue 提案や初めての Pull Request を経験した記録。

6週間のグループスプリントを通じて学んだ設計の試行錯誤、協業のノウハウ、そしてシニアからのフィードバックによる成長の記録

fundaプロジェクトと個人ポートフォリオにThree.jsでキャラクターを導入する際に直面した問題の記録
ベーシックからグループプロジェクトまで、てCS知識を体得し、AIエンジニアリングと設計の本質を悟りながら成長した7ヶ月間の軌跡
オンボーディングの改善からインフラ監視、リアルタイム通信、그리고 3Dキャラクターの最適化まで、7週間にわたるグループプロジェクトの完走記録
アイデア選定からシニアフィードバックを経てMVP実装まで、プロジェクトの土台を築く過程で経験した試行錯誤と技術的挑戦の記録
ベクトルの長さを1にする「正規化」の本質を、ゲームの移動ロジックやBlenderの「Apply Scale」の事例から紐解きます。
6週間のグループスプリントを通じて学んだ設計の試行錯誤、協業のノウハウ、そしてシニアからのフィードバックによる成長の記録
Boostcampメンバーシップで経験した10週間の学習スプリントを振り返り、技術的な学び、設計の悩み、燃え尽き、そしてAI活用についてまとめた記録。
Boostcamp Challenge 期間の振り返り。毎日のミッション、CS学習、ピアフィードバック、チーム活動、そして AI と共に成長する学習方法についてまとめました。
함수형 프로그래밍과 객체 지향 프로그래밍의 장단점, 리액트에서 함수형을 선택한 이유에 대한 탐구에 대한 기록
ネイバー・ブーストキャンプ Web・Mobile 10期 Basic 受講と問題解決力テストの体験記。