Baku Hashimoto

橋本 麦

August 25, 2016


Making of “depthcope” (EN)



Below is quick technical note.


This video is originally made for the Japanese TV Show, “TECHNE – The Visual Workshop“. The every episode introduces one visual technique such as stop-motion, then challenges creators to produce a short video using that tequniques. I’ve called to appear on the program as a video artist, and my theme in this ep is to use “rotoscope”. I had been thinking about how to extend the notion of rotoscope, and finally came up with this “3D rotoscope” technique.

To explain it briefly, I made the 3d previs for rotoscoping in Cinema4D at first. It includes a 3d-scanned face with Kinect and geometrical forms which are not usual as a motif of clay animation. Then I rendered them as “depth map”, which represents a distance from the reference surface, such like a topographical terrain map.

Next, I set a pair of Kinect and projector right above the rotating black table(referred as ‘disc’). I made the app which enables to display whether heights of each point on a surface of the clay is higher or lower comparing with the depth map with colored dots. If higher, it represented as red. The lower one is blue. It becomes green when it gets nearly right. Therefore, the form of the clay almost corresponds with the previs if all of the dots turn into green.

I mean we can trace the 3d previs with a clay by repeating this more than 500 times. Generally speaking, clay animations tend to be more handmade-looks, and an analog one. However using such this workflow, I thought clays will move and metamorphose precisely like CG. In addition, I want to combine the highly automated system with such an old-style and laborious technique.


I used Dragonframe and EOS 7D for shooting stop-motion, openFrameworks for creating the shooting app. I adopt a Kinect V2, which partially works on mac.

Integration of Dragonframe and openFrameworks

Dragonframe only can send events by calling shell script with parameters, so I wrote the script which sends as OSC with Node.js.

baku89/dragonframe-osc – GitHub

Kinect-Projector Calibration

I used ofxKinectProjectorToolkitV2 for transformation from 3D Kinect coord to 2D projector coord. I calibrated with this sample in the addon. It exports calibration.xml which includes some coefficients.

The implementation of a transformation using the coefficients appears to be written ofxKinectProjectorToolkitV2::getProjectedPoint(), and I referenced it and rewrote as the shader program to make it more efficient.

Converting to the disc coord

I realized a need for converting between the disc coord (whose origin is positioned at the center of the disc) and the Kinect coord (at IR camera) so I implemented the system to set an X-axis and Y-axis on the disc, like below gif:


It was so tiring😭



I made the mount for the projector and Kinect. Modeled with Fusion 360, and cut the parts from MDF with my CNC milling machine. Honestly, it was most exciting time than any other processes lol

As you can see, I had planned to control also the rotating table, but it was failed because of a shortage of torque of a stepper motor 😨 I have to study about mechanic more.

Incidentally, I wanted to mix iron sand and a glitter into the clay to make it more variant texture. Below picture is the experiment for it.

And I also found the problem that the measurement of depth is interferred by a man who stands very close to a Kinect. Not to wiggle the measured heights, we have to go on standing the same position. After all, we had referenced the guides and contours which rendered with Cinema4D additinally. I’d like to find a smarter way.

Although there’s many reflection points, it was so interesting to make such an experimental work with experimental workflow.

I think Kinect community should be hotter. Until a few years ago there’s so many digital arts using Kinect whose visual looks like “Minority Report”, and it had got out of date. Many creative coders are now working on VR or deep learning field. However, I think there should be a lot of undiscovered ways to use a depth camera, whether using its depth image to visualize directly or not. So I’d like to go on digging it.

And I really don’t want to touch a clay anymore, at least 10 years lol

Making of “depthcope”

English version is here.




NHK Eテレで放送中の「テクネ -映像の教室-」という番組内で、ある映像の技法をテーマに、映像作家がショートムービーを作るというコーナーがあります。今回は僕が依頼を受けたのは「ロトスコープ」でした。ドローイングも下手くそなことですし、いっそ開き直って普通に「実写映像の輪郭線を鉛筆でなぞる」のではなく、「立体の表面の高さを粘土でなぞる」ことに挑戦しました。いわば、3Dロトスコープです。





コマ撮りソフトにはDragonframeを使用。撮影は7D。システム周りは全部openFrameworksで作りました。Kinect V2をMacで動かしてます。



baku89/dragonframe-osc – GitHub










プロジェクターとKinectのマウンターを自作しました。むしろ本編より頑張った。Fusion 360を使って設計し、フライス盤でMDFボードを切削。

見ての通り、回転台も自動制御する予定でしたが、トルクが足りず失敗😨 電子工作とメカニックしゃんと勉強したい。






ジェネレーティブになにかする時, なんとなく意識すること

After Effectsに求めること (妄想)



普通のコンポジションから, 再利用性を一切抜いたもの. 特定のコンポの中に, 一度のみ使われる.
TCも親コンポに同期していて, プロジェクトパネル上でも親コンポの子要素として表示される. フォルダ機能にも近く, 親コンポのレイヤーパネルの中で, Finderのツリー表示よろしく展開することもできる.


普通のコンポジションは再利用性がある一方, 再利用先のコンポ内でそれぞれに別の見え方になるような設定を個別にできなかった. クラスコンポジションは, よりコンポジションを抽象化することで, そういった問題を解決する. コンポジション自体に, カスタムプロパティを設定できる. 「コントロールエフェクト」をコンポジションに追加できるイメージ. そのプロパティはエクスプレッションを用いてコンポ内のレイヤーのプロパティとひも付けることができる. 再利用先の親コンポから, クラスコンポジションのカスタムプロパティを設定することで, クラスプロパティ内のレイヤーを再利用先から間接的に制御できるようになり, ある種のカプセル化が可能になる.


こういうのって全然説明されないから, 学生で制作バイトしてる時困ったよねってやつ. 今でも結構分からないの多くて困るのでメモ. 一般的な技術用語というより, 特殊な使われ方をしている業界用語のみ. 個人的に聞いた意味合いでしかない.

完パケ / パケる

納品すること, くらいの意味合いで使われてる.
完パケ – Wikipedia


編集室で別途テロップを載せるなどするなどの理由で, 文字情報を外した状態で書きだした編集後の映像データ.

QT / モブ / mov

大体拡張子が .mov のファイルをゆるく指してる. mov自体はただのコンテナフォーマットなので, 実際にどういうコーデックで欲しいか確認しないといけないんだけど, 8割方ProResを指してたりもする.

パカチェック / ハーディングテスト / パカる

ポケモンフラッシュの二の舞いになんないかチェックするやつ. 時々, MVの背景セットとかにあるLEDディスプレイに出す映像すらパカチェックかけられたりする. 規格がオープン化されないのとか, (Webでする方法もあるけど)編集室入んないとチェックできないのとか本当アホ臭いのでみんな嫌ってる. 詳細


原義をたどればこういう違いなのだけど, ほぼオンライン編集(編集室入っての最終調整)の前段階の事をゆるく指してたり, 納品前の「チェック映像」のことを指してることすらある.


ハイ(High)スピード(Speed)で撮影すること. つまり, スローモーションのシーン撮りたいときは, HSで撮る. イメージと逆. 対義語は 微速度撮影 (=タイムラプス撮影)


ビデオコンテなんだけど, 案件によって色々作り込み具合が違う. プレビズ映像の事を指すこともあれば, コンテを並べただけのこともある. 時々, vimeoの映像つなげただけのしょうもないやつもある.


= スケジュール表


「製作」との対比としての「制作」って使われ方と,「 制作進行をする人」「制作会社」って意味での使われ方の2パターンあったりする.

ロケハン / プレロケハン

ロケハンは, 撮影現場を事前にディレクターや撮影監督, 照明部とかで下見すること. プレロケハンは, その場所が決まる以前にディレクターと制作さんとで色々ロケ場所候補回ったりする.


“Pre Production Meeting”. 撮影前の最終打ち合わせ.


= フォーカスが合ってない. ディレクターによってはこういう風に言う.


なんかカラリストに指示だす時に, 撮影監督が言っててかっこいいと思った. ハイ(明部)の黄色を抑え気味にする, って意味っぽい.

June 18, 2016

メディアアートやcreative codingは, ワークフローや技術へのニッチな興味・研究をファッションライクに表現する捌け口になっている側面もある気がするので, コードをコードとして, 論文を論文として発表出来る人は個人的に煩悩を断ち切っていてかっこいい気がする.



スリットスキャンをAEの時間置き換えでやるとこうなりがちなんだけど, もう少し滑らかにするメモ. 質問があったので.

  1. 無理してHSで撮らずとも, Twixtorでfpsを強制的に上げればOK.
  2. AEのbit深度を16, 32にする. 大体の場合16bitで十分.
  3. AEのコンポジション設定のfps上限が99である事に気をつける. (pre-composeしてるとトラブルの原因に)

(3)は, HS素材をフッテージの変換から解釈するfpsを変換しやればOK. 半分とか. その分再生時にスローなるので注意ですが.

ビット深度は, マットレイヤーに変なマッハバンドが出ていない限り実はそんな関係なくて, Twixtorでfps上げるのが一番効果的. PhotoBoothで撮った30fpsの動画でも, 上記の設定しゃんとするとこんな感じになる.

(30fps→90fps, 16bit)

Making of “Olga Bell – ATA”

I made the video for “ATA”, taken from Olga Bell‘s LP.

Although there are many hidden concept and context we had discussed, however, it doesn’t need to be explained. I’d like to write only a few technical note for me, or perhaps someone who want to know such a niche techniques.

3D Matte Painting

Although the video perhaps looks like 3d scanned like this, or this, I actually modeled all the object by hand with using a basic technique called “3D matte painting”. I simply projected the photos taken by Josh Wool to the whole scene, and modeled an object so that its perspective bends weirdly against a rule of thumb. I used Cinema4D and X-particles plugin for modeling, and Photoshop for decomposing into layers. (Just applied the “content aware fill” for backside of the layer lol) FYI, I inspired by reverse perspective paintings, Felice Varini’s works, and some topological shape like Calabi-yau manifold.

Melting the Texture using oF

I’ve experimented generating an abstract gradient with bending daily taken photos, which I personally call the method “Feedback Displacement“. It repeatedly warps an input image a little and then makes a pattern like a hand marbled silk. I had performed it as Vjing few times in this year, and I’ve wanted to introduce this technique to normal video-production.

I built the simple system to integrate C4D with openFrameworks which enables to use oF as a sort of external renderer of C4D. The oF app exports sequence images syncing frame with C4D, and it can be set as animated texture in C4D. The flow is below:

  1. C4D sends a frame number and current parameters (warping speed, angle, and opacity) via OSC
  2. oF receives the message then applies a displacement effect to the current frame.
  3. Save frame as needed.
  4. oF sends back a message “just done rendering” with frame number via OSC.
  5. When receiving above message, C4D increments the frame then returns to (1)

The advantage is you can cherry-pick advantages of both timeline based app and generative approach. C4D and some general video-production software are not good at a kind of “difference equation”, which increments a difference to a previous result repeatedly. It is because such an app needs to be capable of multi-thread rendering for a tremendous amount of calculation. So any frames not allowed to depend on another frame’s status as long as baking the result for each frame. But creative coding approach realizes it very easily.

On the contrary, code-oriented tools are not good at timeline based processing like making a music video. Although part of digital artists uses VEZÉR or Ableton Live as a sequencer, I decided to do with C4D directly since it’s the most simple way I guess. Incidentally, this idea originally comes from Satoru Higa‘s experiment.

I uploaded the sources and project file. I think they’re pretty tangled, though.

baku89/ATA: Tools for “Olga Bell – ATA”

I’ve been always curious about “making new ways to make” as much as an artistic or visual aspect. This quoted from Masashi Kawamura‘s word about his concept making (and originally comes from Masahiko Sato). However, for me, as a designer and coder, it is “designing new workflow and tools to make”. Even I don’t know what I want to mean myself lol but I want to continue experimenting.