大学1年生の息子が履修した工学系の授業(図形科学)でCADとCGを勉強中とのことで、ノートPCで宿題の課題作品を制作していました。
ちょっと覗いてみると、高精細なパーツを組み合わせた時計の機構をCGでアニメーション化していてビックリ。
歯車や時計の針などの部品はInventorというCADソフトで制作し、そのデータを3ds Max 2020といCG制作ソフトに読み込んでレンダリングしているそう。
振り返ること30年ほど前、僕が大学1年生の時に入学祝いで買ってもらった当時最新鋭のパソコン、X-68000 Proとまだ珍しかったレイトレーシングのレンダラーソフト(サイクロン)でCGを制作していたことを懐かしく思い出しました。
3ds Max 2020で静物CGを作ってみる
息子が大学で使っているのはAutodesk社の3ds Max 2020というCG制作ソフト。学校指定の教科書がマニュアル代わりですが、本書は旧バージョンの2017をベースに記載されているため、メニューや機能が結構違っていて手こずります。
学生は無料でインストールして利用できるそうでありがたいですね。ちょっと貸してもらっていじってみることに。
想像していた以上に本格的なツールでメニューがありすぎてコツをつかむまで少し試行錯誤しましたが、慣れてくると良くできたソフトです。
CG制作の流れは30年前と変わらず、オーソドックスなもの。
- 物体を配置する(3dsでは球体や直方体のほか、ティーポット等のユニークな物体も選択可)
- 物体の性質を指定する(金属のような鏡面や御影石のような模様、色、反射の度合い等)
- 光源を設定する(太陽光やスポットライト等の種類、光源とターゲットの座標)
- カメラを設定する(どこから物体を眺めるか)
- CGを描画する
試しに板を置いて、その上に少し浮かんでいる状態でティーポットや球体等の物体を並べてみました。
物体の種類はデフォルトの設定から金、銀、アルミニウム、御影石、ニス塗りの木などを選択するだけで、それらしいテクスチュアを簡単に指定できます。
30年前はソフト上で設定をしてからCG描画実行を開始すると、左上から1ドットずつ光線と物体の反射を計算して描画している様子が見られるスピードでした。
1枚のCGを作成するのに最低でも数時間かかるため、寝る前に設定し、朝に起きるとどこまで描画できているかドキドキしながら確認したものでした。
それがCPUパワーが指数関数的に進化した結果、ずっと高精細でリアルなCG画像が今やノートPCのintel i5であっという間に描画完了するのを目の当たりにして感激。
頭ではムーアの法則を理解していましたが、こうして30年ぶりに体感すると震えますね。16KBのメインメモリ、256×192ドットの画面で頑張ってソフトを作っていたPC-6001がベース体験の僕としては、改めて平成時代におけるPCのハードの進化を思い知りました。
この3dsというソフトは建築の設計で用いられるパース図にも使えるようです。いつかこんなリアルなCGを作ってみたいなぁ。
ついでにCGアニメーションも作ってみる
30年前は1枚の画像を描画するのに数時間でしたので、個人がレイトレーシング画像のCGでアニメーションを作るというのは夢でした。
ただ、ポリゴンに色を塗った部品を簡易レンダリングして組み合わせて作成するCGアニメーションは大阪大学コンピュータクラブ(OUCC)や京大マイコンクラブ(KMC)等の共同プロジェクトとして発足したPROJECT TEAM DoGAによる「DoGA CGA System」がX-68000で動作したため、僕も本システムでちょっとした作品を作ってみたり、CGアニメコンテストに参加したりしていました(ちなみに、あの新海誠監督も2000年に開催されたCGアニメコンテストで「彼女と彼女の猫」という自主制作短編アニメーション作品でグランプリを受賞したそうです)。
そんな僕が30年ぶりに進化したCGソフトを見て、その高性能ぶりに驚くとともに、かつてのCGアニメーションへの憧れが蘇りました。
「負うた子に教えられ」状態でアニメーション機能の使い方は息子にポイントを教えてもらい、簡単なものを試しに作ってみたのがこちら。
静物CGで作った世界をベースに、その上空を旋回する楕円状の軌跡を3次元空間に設定し、ポットの蓋にカメラの視点を固定した上でその楕円軌跡上をカメラが移動しながら1周するというカメラワークでCGアニメーションを作りました。
こんな設定も慣れればソフト上でマウスをクリックするだけでデザインできてしまいます。テクノロジーの進化は恐るべし。
この13秒ほどの動画は、1秒間に30フレームを高速でパラパラ漫画のように展開するNTSC方式で、合計405フレームから構成されています。
つまり、たった13秒の動画のために、405枚のレイトレーシング画像をレンダリングする必要があるということ。それでも800×600ピクセルの精細で1枚あたり数秒、全405枚でも1時間弱で描画できました。
息子が宿題で制作したCGアニメーション
息子が宿題で制作したアニメーションはもう数段レベルが上でした。
まず、時計の機構を調べて、必要となる部品(歯車や針など)をゼロベースでCAD上でデザインし、そのデータをCGソフトに取り込みます。
そして、それらの部品が1つずつ組み上がっていって時計の針が動くまでをアニメーションで表現。更に、その様子を周回カメラがスプライン曲線上でなめるように撮影し、後半は歯車が噛み合って動く様子をズームで寄ってみせます。
正味2日間程度でゼロからソフトの使い方を理解してこれだけの作品を作成してしまったのには僕も驚きました。きっと僕のCGアニメーション魂が彼にも引き継がれているのでしょう。
ただ、この動画は1000×750ピクセル、全1600フレームからなる大作で、1枚のCGを作成するのに数十秒かかるケースも。夜通しフルパワーで計算し続けて、36時間ほどかかってようやく完成。
完成した作品はこちら。
秒、分、時の3本の針、そしてそれぞれに紐づく軸棒と歯車を3種類の素材で表現しています。
よく見ると影が2本あります。聞くと、機構の左右から2つの光源が照らしているそう。このおかげで3つの素材の異なる光の反射や映り込みの違いが際立っています。
CG初心者が2日間ほどで作ったとは思えない完成度の高さに驚きました。