プロジェクト設定
実単位
旧バージョン (R12より前) のCinema 4Dでは、測定の実単位には非対応でした。たとえば、「mm」という単位を入力することはできても、実質的には無意味でした。
しかし、R12ではこの点が変更されました。たとえば、1m = 100cm、1km = 1000mと認識されます。したがって、たとえば幅2mの立方体は、測定単位をmからcmに変更すると、幅200cmの立方体として表示されます。単位の自動換算オプションをオンにすれば、数値は自動変換されます。
(内部) 倍精度 (Cinema 4D R12では、数値を表現するためのビット数が32ビットから64ビットに増えました) を併用することにより、丸め誤差は起こらなくなりました。たとえば、幅2mmの細かな塵をモデル化し、単位をkmに切り替えてから、それを収めるための巨大な建物をモデル化する場合も、全く問題なく処理できます。
また、mm単位でモデル化されたオブジェクトを、m単位でモデル化されたオブジェクトを含むシーンに読み込むこともできます。この場合、単位は自動変換されます。
Cinema 4Dで用いる測定単位は、下記の各場所で定義できます。
一般設定メニュー:この設定内容は、シーンのパラメータには影響しません。各フィールドに表示される単位だけが変換されます。たとえば、あるフィールドで3cmと設定し、単位をmに切り替えると、そのフィールドには0.03m (または0.033yd)と表示されます。
プロジェクト設定画面:実際には、設定されている内容に応じて、シーンのスケールは変わります。たとえば、幅200cmの立方体 (ドキュメントのスケール:cm) は、単位をmに切り替えると、幅200mのそれに変わります。
ドキュメントをスケール
これは、測定単位に関する最も重要なパラメータです。これにより、ファイル内に保存されている数値が、実際にどう解釈されるか (たとえば、数値 3の単位は、3m、3km、3ヤードのいずれなのか) が決まります。何も含まれていない新規のシーンには、必ずプロジェクト設定におけるデフォルト値が適用されます。適用する測定単位は、プロジェクトの最初で決めてください。そのためには、3D空間内に作成しようとするオブジェクトの実際のスケールを確認してください。たとえば、家はm単位で、腕時計の内部構造はmm単位で、山脈はkm単位でそれぞれモデル化することになるでしょう。
R12より古いバージョンで作成したシーンをインポートする場合は、cm]がデフォルトの測定単位として適用されます。(スケールの設定で別の単位を指定した場合は、この限りではありません。) 単一のシーンにおいて扱うスケールが非常に大きい (または非常に小さい) 場合、ドキュメントをスケールの設定値は、もちろんいつでも変更できます。

旧バージョンのCinema 4Dで作成したシーンや外部アプリケーションのオブジェクトをCinema 4Dにインポートすると、長さの単位が不適切だったり、まったく指定されていなかったりする状態によく遭遇します。このような場合にこのコマンドを用いると、適切なサイズにシーンを調整できます。
たとえば、IGESで作成した、サイズ不明の六角ボルトをインポートしたとします。もちろん、これはM6ボルトのはずであり、ドキュメントのサイズの単位はデフォルト値(cm: センチメートル )に設定されています。この場合は、六角ボルト上の相対する2つのポイントを選択し、その間隔を指定するだけで済みます。(値は座標マネージャで確認できます。)
2つのポイントの間隔を0.18cmとする場合、シーンのサイズを適切にするには、次の各値を入力する必要があります。
この値は、現在のドキュメントのフレームレートを定義するものです。このシーンで作成される全てのアニメーションに適用されます。
タイムスライダが現在置かれている時間 (フレーム) のことです。
アニメーショントラックの開始点を定義します。アニメーションを開始する前にパーティクルストリームを開始する場合などは、この値を負の値とすることもできます。
アニメーショントラックの終了時間を定義します。
これらの値は、アニメーションツールバー内のプレビュレンジの開始時間と終了時間を表します。上図に示した場所をダブルクリックすることによって変更できます。
この値は、特定の詳細レベルを選択可能な各シーンオブジェクトの表示方法に影響します。この種のオブジェクトとしては、全てのプリミティブ、メタボール、全てのジェネレータオブジェクトなどが挙げられます。
この詳細レベルは、個々のオブジェクトの詳細レベルとは無関係に、均一に低下させることができます。
この値を 100% に設定すると、全てのシーンオブジェクトは完全な詳細度 (オブジェクトのパラメータで定義した値による) で表示されます。
この値を 50% に減らすと、全てのシーンオブジェクトはビューポート内の半分の行数分だけ表示されます。
レンダリング設定 で定義した値が適用され、LOD で定義した値は無視されます。
これら4つのオプションの機能は、Cinema 4Dの こちらを参照してください。
内の各オプションと同じです。各機能の詳細については、このオプションをオフにすると、モーションシステムがオフになります。また、Cinema 4Dの メインメニューから モーションシステム をオフにすることもできます。
ここでは、マテリアルの割り当てられていない全てのオブジェクトに割り当てられる色を作成できます。80% グレーは、R12より前のバージョンのCinema 4Dで用いられていた色です。
作業のスケールは、非常に大きく (km単位など) することも、非常に小さく (nm単位など) することもできます。しかしこれにより、レンダリング後の表示状態には影響しませんが、表示状態は少し不自然に見えることがあります。(Zバッファでは、解像度か限られますし、どのポリゴンがどのポリゴンの後ろにあるのかを途中で識別できなくなります。その結果、画質が低下します。)
この場合は、クリッピング領域を設定します。この領域 (カメラの視点から計算されます) の外側は表示されなくなります。この領域の内側では、常に正しく表示されます。(ニアおよびファーの各値には大差ありません。)
領域の選択は、選択メニューからでも、手動 (ニアおよびファーの各値によって) でも可能です。
リニアワークフロー (ガンマ値を何度も調整する方法)
概説
ここ何年かで、リニアワークフロー (以下LWF) の概念は、奇跡をもたらすことが約束される神業であるかのように変貌を遂げています。実際のところ、LWFによって奇跡がもたらされることはありませんが、あまり手間をかけずに、すばやく画質を向上させることができます。
上図は、LWFの効果を示したものです。このシーンは、2乗に反比例を適用した光源を2つ用いて照らされています。LWFを用いると、右側の画像のように画質が劇的に向上します。
LWFには、下記の各メリットがあります。
- より調和のとれた状態で光が分散します。シーン全体がより明るく表示されます。
- 過度に露光される部分が少なくなります。
- より自然に近い配色になります。
つまり、光の分散状態がよりリアルになります。(ライトの減衰は、物理的に正確な2乗に反比例をお勧めします。)
なお、Cinema 4D内部のマテリアルの色やカラーグラデーションは全て、プレビュにおいて直ちに変更されます。これにより、混乱を招く可能性があります。たとえば、グレースケールグラデーションの表示が前のそれとは異なるからです。
通常のグレースケールグラデーションの中央における色値が (128, 128, 128) の場合、リニアワークフローオプションをオンにすると、色値はおおよそ (192, 192, 192) に変わります。これは正常な動作です。
LWFの方法と原理に興味をお持ちの方は、下記の内容もお読みください。そうでない方は、より美しい画像を得るためのレンダリングをすぐに始めてください。
詳説
ガンマ値とそれに対応するLWFについて説明が必要になるのは、レンダラーに起因しています。レンダラーでは、リニア (ガンマ値1) でレンダリングが実行されます。しかし、レンダラー側でこのガンマ値を期待しても、そこに入力される内容 (テクスチャ、シェーダなど) のガンマ値は異なります (MacOS X 10.6のからは通常2.2、前は1.8)。
このため、レンダリング結果は (物理的な正確性という意味で) 本来より不正確になります。
では過去10年間で得てきたレンダリング結果は、標準レベルに満たないものだったのでしょうか? この疑問に対し我々が自信を持って答えられることは、「イエスでありノーでもある」ということです。求めていたとおりのレンダリング結果だったのであれば、問題ありません。しかし、レンダラーの機能に慣れ、その欠点がわかったとしても、結局はその場しのぎで何とかしようとしてしまいがちです。たとえば、フィルライトを追加した結果、所々で配色が変わり、思いどおりの外観にならなかったとします。これは、LWFを用いていれば回避できたかもしれません。
一方、旧バージョンのCinema 4Dで作成したシーンに対してLWFを用いても、より良好に表示されるという保証はありません。この類のシーンは、LWFを用いず、良好な状態で得られるよう工夫されたものだからです。たとえば、旧バージョンのCinema 4Dで最適化されたライティングの設定内容をLWFで再利用するには、LWFに合うよう調整した方が良いでしょう。ただし、レンダリング結果が満足できるものであれば、その必要はありません。
ガンマ値が必要とされる背景
モニタのガンマ値はたいてい2.2です。画像編集プログラムでテクスチャをペイントすると、その画像はガンマ値2.2で表示され、それに応じて保存されます。ユーザーが作成する画像や、インターネットで公開されている画像は、ガンマ値が2.2であるものがほとんどです。
通常のモニタでは、この値でないと画像は良好に表示されません。これは、人間の目では、明るい部分よりも暗い部分の方がグラデーションを細かく認識できる、という事実と関係しています。一方、ビット深度が低め (8ビット、16ビット) の画像は、人間にとって見た目の良い、明るい部分が表示される状態で保存されます。

これに対してレンダラー (Cinema 4Dのレンダラーなど) は、内部的にリニアスペース (ガンマ値1 – 一般的なアルゴリズムで定められている) で機能し、表示対象 (テクスチャ、シェーダなど) にも同じことを期待します。しかし従来、事はそれほど単純ではありませんでした。レンダラー側で期待されるガンマ値が1であっても、実際にそこへ入力される内容のガンマ値は2.2だからです。その結果、当然ですが、物理的な正確性との矛盾が生じます。
レンダラーによる処理の終了直後には、レンダリング済み画像の色と明るさの各度合を弱める必要があります。それと同時に、モニタ上で画像が良好に表示されるよう、ガンマ値2.2を適用する必要があります。(32ビットで画像をレンダリングする場合は、ガンマ値を調整したうえで、画像が保存されます。)
では、以上のことにLWFをどう当てはめればよいのでしょうか?実は簡単です。LWFを有効にすれば、レンダリング処理に関するあらゆる要素 (テクスチャ、シェーダなど) が、レンダラーの求めるガンマ値1の要素としてレンダラーに認識されるよう、直ちに再計算されます。この修正レンダリングの実行後、レンダラーではガンマ値1の画像が内部的に作成されます。この画像のガンマ値は、モニタに合わせて変換する必要があります。(ほとんどの場合、モニタのガンマ値は2.2です。)
以上、LWFの背景について簡単に説明しました。さらに詳しく知りたい方は、『Be Gamma Correct!』(Martin Breidt著) をお読みください。大変参考になります。また、Web上でダウンロード可能なPDFファイルとして無料公開されているので、検索エンジンを通じて簡単に見つかります。この資料に出てくる3DアプリケーションはCinema 4Dではないので、混乱するかもしれませんが、本質的な内容は同じです。
LWFの設定項目には、sRGBというカラースペースが含まれています。これは、いわば上記のガンマ値2.2に相当します。つまり、この値で保存した画像は、たいていsRGB値を反映しています。
カラーマネジメント
概要
このトピックについては既に多くの書籍で論じられており、誰もが一度は耳にしたことがあるでしょう。しかし、その実体はほとんど知られていません。ここでは、色の再現性の問題について簡単に紹介します。
自分のモニタ上で申し分なく (まさに望みどおりに色が表示され、明るさやコントラストなども完璧な状態で) 表示される画像の効果は当然熟知しているとしても、同僚のモニタ上で同じ画像を表示したり、印刷したりすると、それは (たいてい悪い意味で) 別物のように見えることがあります。
これはなぜ起こるのでしょうか?
同僚Aが、自身のモニタ上での表示状態を基に、画像編集プログラムで画像を作成·保存しました。しかし、問題はここからです。画像編集プログラムでは、再現可能な色定義、つまりカラープロファイル (たいていはRGB) によって画像を保存する必要があります。(たいていは、表示装置に対応するカラープロファイルが選択されます。たとえば、モニタの場合はたいていsRGBであり、プリンタの場合はCMYKです。)
つまり、同僚Aのモニタにおける赤の値は、画像ファイル内のRGB値に対応していなければなりません。同僚Aのモニタに表示される画像の色が、画像処理プログラムで処理されるRGB値へ正確に反映されることが必要です。そのためには、同僚Aのモニタに対する正確なキャリブレーションが必ず求められます。モニタのカラー表示の状態は時間と共に変わるので、実際のカラープロファイルを扱うために用いる場合は、理論的には4週間ごとにキャリブレーションを行うことが望ましいです。また、キャリブレーションの定期的な実施は、あらゆる入出力装置 (モニタ、プリンタ、スキャナなど) に必要です。
同僚Aのモニタに表示されていた画像のプリントアウトをスキャナから取り込む場合、全てが正確に計算されれば、当該画像は同僚Cのモニタ上で正確に再現されるはずです。この再現性がどの程度かは、実際に試してみれば誰でも証明できます。(現実には、完全に再現されることはあり得ません。全ての装置でカラープロファイルがロスなく変換されるわけではないからです。それでも、キャリブレーションを正確に行っていれば、さまざまなモニタでほぼ完全に再現することが可能です。
以上、正確なカラーマネジメントに関する問題について、簡単に説明しました。本質的に必要なのは、画像の編集からその最終出力に至る作成プロセスの中で、矛盾なく明確に定義されたカラープロファイルです。
Cinema 4Dにおけるカラーマネジメント
まずは朗報からです。カラーマネジメントについて全く聞いたことがない場合や、いつも要件以上のレンダリング結果を得られている場合は、このパラメータを無視して構いません。(その場合、調整可能なカラープロファイルの設定項目は、全てデフォルトモードsRGBのままとしてください。) 端的に言えば、経験の非常に豊富なアーティストでないと、正確なカラーマネジメントによって作成した画像と、アバウトな方法で作成した画像との違いを判別するのは困難だということです。
sRGBは、他のカラープロファイルを特に定義しない限り、何年も用いられてきたカラープロファイルです。このため、このカラープロファイルは、インターネット上のほぼあらゆる画像にデフォルトとして含まれています。R12より前のバージョンのCinema 4Dでも、画像を保存するときはもっぱらsRGBが適用されていました。
Cinema 4Dでは、次に示す場所でカラープロファイルを設定できます。
ご覧のとおり、Cinema 4Dとの間には、カラープロファイル (またはハードウェアプロファイル) を解析できる「インターフェイス」が3つあります。
テクスチャ:ご存じのとおり、ビットマップ画像はさまざまなマテリアルチャンネルに読み込むことができます。インポートしたカラープロファイルを扱うか否か、および扱う場合の方法は、プロジェクト設定で設定できます。また、専用のカラープロファイルがビットマップ画像に埋め込まれていない場合に用いるカラープロファイルを決めることもできます。さらに、個々のチャンネルについて (ビットマップシェーダごとに)、リニアまたはsRGBのいずれを用いるかを決めることもできます。
なお、BodyPaint 3Dのレイアウトにも、カラープロファイルを変更するための場所やコマンドがいくつか含まれています (ビットマップレイヤー、プロファイルを変換...など)。
モニタ:ここではモニタ (キャリブレーション済みであることが望ましい) について、カスタムハードウェアプロファイルを設定できます。モニタ上のCinema 4D (つまり色選択フィールド、ビューポート、画像ビューアーウインドウなどに表示されるもの) のカラー表示は、このプロファイルによって決まります。Cinema 4Dで色を選択する頻度を考慮するのであれば、必ずしも無視してよいわけではありません。
ファイル:レンダリング済みのビットマップ画像です。(カラープロファイルは、Cinema 4Dでレンダリングされたムービーには追加できません。)ここでは、ファイルで保存され、レンダリング済み画像をPhotoshopで開く場合に用いられる出力カラープロファイルを設定できます。
付録には、カラープロファイルを用いるための画像フォーマットのリストがあります。
詳しくは、カラーマネジメントを参照してください。(たいていはsRGBが適切です。)
ここでは、下記の3つについて決められます。
- テクスチャに埋め込まれているカラープロファイルを用いるか否か
- カラープロファイルが埋め込まれていない場合は、テクスチャに対しどのカラープロファイルを用いるか
- アプリケーションの画面中の選択フィールドやグラデーションなどに対し、どのカラープロファイルによって色をつけるか
このフィールドでは、下記オプションを選択できます。
テクスチャにカラープロファイルが埋め込まれている場合は、これらのオプションによって、Cinema 4Dにおける色選択フィールドやグラデーションなどのカラー表示が決まります。sRGBは、最もよく用いられている表示モードです。(自信のないときは、このモードを選択してください。)リニアは、簡単に扱えるモードではなく、あまり用いられていません。
このモードを選択すると、テクスチャに埋め込まれているカラープロファイルは加味されません。代りに、sRGBカラープロファイルが適用されます。また、リニアワークフローオプションをオフにした状態で このモードを選択すると、R12より前のバージョンで用いられていたモードが反映されます。
プロジェクトの一般設定メニューには、フレームレート、キー補間、ダイナミックタクティングなど重要なパラメータがあるため、この中でも最も重要なパラメータをプリセットとして保存し、例えば、新しいプロジェクトを作成する時などに読み込むことができます。
プリセットは、コンテンツブラウザのプリセット / User/プロジェクト一般設定プリセットライブラリに保存されます(対応するユーザーディレクトリのuser.lib4d。その他のほとんどのプリセットもここに保存されます)。
プリセットの保存コマンドが選択されると、小さなダイアログウインドウが開き、プリセットの名称や他の情報を指定することができます。プリセットの読み込みコマンドが選択されると、小さなダイアログウインドウが開き、プリセットの選択、読み込みができるようになります。
以下のタブのプロジェクト一般設定がプロジェクト一般設定プリセットに保存されます。
プロジェクト一般設定
ダイナミクス(キャッシュ以外の全てのタブ)
キー補間