前回、64×64のLEDマトリクスを回転させて立体表示をする、回転立体ディスプレイの進捗とこれからやることをピックアップしたわけですが、その後の改良を経てようやく「完成」と呼べる状態になったので報告します。
前回からの変更点
LEDディスプレイを回転軸からずらす
前回はLEDディスプレイの中心を回転軸に合わせていたのですが、今回は中心から少しずらして取り付けました。
これによって回転の重心が安定し、10rps(1秒間に10回転)の高速回転が実現、チカチカ感の少ないより自然な見た目になりました(人間の目は0.1秒ほどは残像として感じるので)。副次的な効果として、前回言及した「正面位置の描画が暗くなる」現象も改善され、正面でもしっかり表示されるようになりました。一方でトレードオフもあって、中心軸周りに「ずらした距離を半径とする円柱状、そしてその後ろ側の描画できないエリア」が発生しています。(どういうことかは前回参照)
立体表示用のデータをUnityで作れるようにする
以下のブログ記事を参照。Unity空間にものを配置して立体表示用のデータにスキャンできるようになりました。動画としてスキャンすることもできます。
LEDディスプレイを裏表の2面に配置
同じLEDディスプレイを裏側にも配置して、表側から180°回転した位置の画像を表示しています。これによってチカチカ感を減らし、明るさを上げる効果を期待しています。ただ、3D表示自体には必須ではないのと、これによってディスプレイの表示面の軸からの距離が大きくなる(=真ん中の表示されないエリアが増える)ので、裏目に出ている可能性はあります。(裏面だけに)


その他、前回からの改良点
・ディスプレイの上側に回転軸を取り付けて回転を安定化
・操作パネルをM5Stack CoreからM5 Dialに変更
・ダイアルを回すことで表示位置(向き)を回転できるように

・アクリルカバーを取り付け

本体スペック
本体サイズ:(幅)x(奥行)x(高さ)=150mmx150mmx230mm
表示エリアサイズ:(幅)x(奥行)x(高さ)=128mmx128mmx128mm
解像度:(直径)x(高さ)x(回転方向)=64x64x192 (ピッチ:2mm/pixel)
回転速度:最大12rps(720rpm)
動画のフレームレート:10fps(回転速度10rps以上の時)
色深度:8色(=RGB3bit、 黒、白、赤、青、緑、黄、マゼンタ、シアン)
※LEDディスプレイは本来高速で点滅させることで細かい色を表現しているので、点滅しながら回転する(位置が変わる)仕組みだと複雑な色を表現するのが難しい。



実際の表示
裸眼では残像効果のおかげで少しチカチカする程度で自然に見えるのですが、カメラで普通に映すと見たようには映りません。そのため、カメラ設定をいじって露光時間を0.1sに伸ばしています。
球体アニメーション…6色の球体が円柱空間内を移動するアニメーション。
今日の進捗
— やまたい@ものつくり⚙️ (@yamatai_mk) September 2, 2026
アニメーションが表示できるようになった#3DPOV #立体ディスプレイ pic.twitter.com/TPtcCoBK5x
初音ミク(みくみくにしてあげる♪)…MMDからUnityにモデルとモーションを移植して、さらに周囲にオーディオスペクトラムを実装しています。音楽は後付けです。
自作の立体ディスプレイで、「みくみくにしてあげる♪」を表示
— やまたい@ものつくり⚙️ (@yamatai_mk) September 7, 2026
周りにオーディオスペクトラムを配置したら奥行きが出てよい感じ#3DPOV #立体ディスプレイ #VolumetricDisplay pic.twitter.com/BW7Z7LzEDK
その他画像



回転していないとき(3Dオブジェクトの断面が高速に推移している)
回さなくてもこれはこれで趣きがある pic.twitter.com/HD1Fuc6ZHH
— やまたい@ものつくり⚙️ (@yamatai_mk) August 30, 2026
映像コンテンツはUnityに配置すればいくらでも作れるので、もっと増やしたいですね
まとめ
ハード的な構成は今回でほぼ完成しています。次の検討として、パソコンからのリアルタイムレンダリングがあるのですが、今のTeensy4.1+M5Dial構成では不可能なので別のマイコンで作ることになるかと思います。
しばらくは3Dコンテンツを増やす方向で進めようかなと思います。




コメント