【スーパープレイ】ディスプレイスメントマップのつくり方

以下、ディスプレイスメントマップの作成方法を日記形式でだらだら話す。

 

現在、魚をつくっており、鱗の凹凸はディスプレイスメントマップで再現しようとしている。

 

はじめ自分で2Dソフトをつかって鱗のディスプレイスメントマップテクスチャを描こうとした。が、すぐに非常にやりづらいことに気づいた。(高さ)レベルをグレイスケールで自分で描く必要があるわけだが、2Dソフトで描こうとするとレベルの調整や管理が難しい(扱う次元的に当たり前)。

 

そこで次に3Dモデル(鱗のみのほぼ平面に近い3Dモデル)をディスプレイスメントマップに変換してくれるソフトや機能を探したがなかった(※のちに見つかる)。

 

いろいろ考え、ベイクすればいいだけではないかと思い至る。

そこでblenderでベイクしようとしたが、ディスプレイスメントマップはベイク項目にない😲

ノーマルマップならばある。ベイクしてみたが上手くいかない(ベイク設定が詰められていないため。調べるのも億劫である)。

なぜノーマルマップをベイクしたかというと、このときはノーマルマップをディスプレイスメントマップに変換するのはなにかツールなどがあり簡単にできるのではと思ったため(実際にノーマルマップがディスプレイスメントマップに変換できるかは知らない。高さ方向のベクトルだけグレースケール変換すればよいように思うが、仕様をよく知らないため実際にできるのかは知らない)。

 

そうしてハマってしまったわけだが、そもそも論としてディスプレイスメントマップは一般にどうやって生成するのか?と疑問をもち、「displacement map generate」で検索するとズバリそのものが出てきた(これまで「3d model convert displacement map」などのように検索していた)。以下の動画である。これはblenderで(明文化された機能項目がないのに)ディスプレイスメントマップを生成するスーパープレイの動画である。

Bake PERFECT Displacement Maps (with blender) - YouTube

この動画の製作者には感服する。視聴回数もブン回っており、コメントも大量についている🤣みんな探している情報だったのだ。

 

↑試しに作ってみたもの。

やはり餅は餅屋、ディスプレイスメントマップの生成は3Dソフトである😉。