お使いの環境はWebGLに対応していないため、3D演出を表示できません。
SAMPLE — LENS CUTAWAY
一本の単焦点レンズがスクロールで輪切りになり、内部のガラス構成・絞り・フォーカス機構までを断面図として見せるスクロールLP。設計そのものを語る製品の見せ方サンプル。
※文言・ブランドはすべて差し替え用のサンプルです(御社のコピーが入ります)
SCROLL
EXTERIOR
削り出しの鏡筒、細かく刻んだフォーカスリング、確実に嵌合するバヨネットマウント。触れる前から質感が伝わる外装のサンプル。
CROSS-SECTION
スクロールに合わせて鏡筒が切り開かれ、内部のガラス構成がそのまま断面図として立ち上がる。透けたガラスの一枚一枚を、そのまま見てほしい。
ANATOMY — 断面の各部
ONE PIECE
開いて見せた構造が、再び一本の鏡筒へ閉じていく。中身を知ってから見る外観は、もう違って見える。
CADデータまたは実測から製品を3D化し、断面カットで内部構造を語るスクロールLPに仕立てます。光学・精密機器・電子機器など、設計そのものが価値になる製品ほど、この見せ方が効きます。
generate.py
が15パーツ(鏡筒・フォーカスリング・フィルター枠・繰り出しスリーブ・9枚羽根絞り・
バヨネットマウント・電子接点・7枚のガラスエレメント)を光軸まわりの回転体として
プロシージャル生成する。各エレメントは前後2枚の球面からなる閉じたレンズ断面を
旋盤ロフト(add_lathe)で作り、
凸/凹/メニスカスを組み合わせた光学系にしている。Web側は Three.js の
renderer.localClippingEnabled
と1枚の
THREE.Plane
(法線=カメラ手前方向)でモデルを輪切りにし、スクロールで平面の位置 (plane.constant)を動かして
断面を掃引する。ただの切断だと中空に見えるため、各メッシュにステンシルバッファを
使った「キャップ(切断面の充填)」を生成している(back面で increment / front面で
decrement してステンシルを塗り、切断面に置いた板をステンシル!=0の領域だけ描く。 板の
stencilZPass=Replace
で次のパーツのために0へ戻す)。これで各パーツの断面が中実に見え、ガラスの
コーティング色ごとに塗り分けた「レンズ構成図」が立ち上がる。ガラスは
MeshPhysicalMaterial
の透過(transmission)で本物のガラスとして透け、断面では不透明の着色キャップが
手前に来るため透過とステンシルが競合しない。断面が開き切ったところで一度カメラを
止め(動きのホールド)、各部の名称と役割を引き出し線(DOMオーバーレイのSVGが
各部の3D座標を毎フレーム画面に投影して結線)で提示する。最後は再び鏡筒へ閉じる
ブックエンド構成。
plane.constant
をスクロールに割り当てるだけで掃引でき、キャップ色は各マテリアルの
color
を流用するのでモデル差し替えに強い。詳細は PLAYBOOK「断面カット
(クリッピング平面+ステンシルキャップ)の型」参照。