3DCGソフトウェアは、3次元コンピュータグラフィックス (3DCG) を制作するためのソフトウェアである。

3DCGは主に プリプロダクション(ストーリー/コンセプトアート/コンセプトモデリング/ストーリーボード/プレビズ/R&D) 映像素材作成(撮影/LiDARスキャン/フィルムスキャン/3Dトラッキング) 3Dスキャン/テクスチャスキャン (3D再構築/テクスチャ抽出/ライティング除去) アセット制作(モデリング/UV展開/テクスチャリング/Surfacing/シェーダー作成/シェーダー割り当て/リギング/キャラクターセットアップ) アセット配置(レイアウト) 動作付け(アニメーション/キャラクターFX/群集/エフェクト) ポストアニメーション(ショットスカルプト) 画像化(ライティング/レンダリング) 映像素材の下処理(フィルムクリーンアップ/ワイヤーリムーバブル/ステレオフッテージ修正/ロトスコープ) 画像合成及び調整(ペイントフィックス/コンポジット/マットペインティング/ポストエフェクト/カラーグレーディング) 2D-3D変換、ポストプロダクション(コンフォーム/フィニッシング/エンコード/オーサリング) の工程に分かれている。作業の基幹となり多くの工程の調整が行える統合型ソフトウェアの他に、個別の機能に特化したソフトウェアも存在する。モデリングが中心となっているソフトウェアは「モデラー」、レンダリングが中心となっているソフトウェアは「レンダラー」と呼ぶ。

各種工程における機能においては、破壊的なものと、非破壊的なものが存在する。非破壊的なものは過去の操作の修正がしやすく、パラメータにキーフレームやドリブンキー/IPOドライバを入れることでアニメーションさせることもできる。しかし、メモリやディスク容量を消費するため、メモリサイズの大きなものを扱ったり細かな編集を繰り返したりといったことは苦手である。互換性の問題もあるため、他のソフトウェアとのやりとりには破壊的な形式に直すことも多かったが、最近は非破壊的な交換形式というものが開発されてきている。

3次元CADソフトウェアについては「CAD」、3次元GISソフトウェアについては「地理情報システム」を、仮想地球儀については「仮想地球」を、3次元プラネタリウムソフトウェアについては「」を参照。

概要 3DCGが発案された当初は一部の用途にのみ用いられる技術であり、多くの処理能力に高価な高性能ワークステーションや専用のハードウェアが必要となることが多いために市場も小さく、ソフトウェアも高価であった。しかし、時代が進むにつれてコンピュータの性能が向上し、高性能なコンピュータが一般に普及することにより、3DCGの市場が拡大してソフトウェアの低価格化・高機能化が進んだ。

3DCGソフトウェアは、科学からエンターテイメント、純粋芸術までさまざまな用途に使われており、用途によって必要な機能、必要な品質、環境、納期などが異なるため、それに合わせて多くの種類が存在する。必要なレベルに達しているソフトウェアのことを「Production Ready」であると表現する。1つの用途を達成するために複数のソフトウェアが必要になることもあり、その場合にソフトウェア同士の連携が重要となる。

3DCGソフトウェアの主な用途としては、以下のものがある。

実写合成映像 (VFX) 映画 CM・企業VP ドラマ ミュージック・ビデオ 3Dアニメーション 映画 CM アニメ ミュージック・ビデオ ゲームのムービーシーン パチンコ・パチスロ機のCG 3Dモーショングラフィックス(#モーショングラフィクス) CM・企業VP キネティック・タイポグラフィ タイトルCG テレビ番組のオープニングCG/ジングルCG 3Dアニメーションロゴ リアルタイム実写合成 テレビ番組のバーチャルセット(#バーチャルセット) 拡張現実 (AR)(#インタラクティブVR/拡張現実 (AR)/複合現実 (MR)) ビジュアライゼーション/ビジュアルコミュニケーション 製品ビジュアライゼーション テクニカルイラストレーション 建築パース/ウォークスルー(#ビジュアライゼーション向け) エクステリア インテリア 映像撮影のプレビジュアライゼーション 演劇舞台のデザイン

地理情報システム ニュース番組の再現CG/解説CG ドーム映像(#ドーム動画作成) プラネタリウム インタラクティブコンテンツ(#ゲーム及びインタラクティブコンテンツ作成) ゲーム バーチャルリアリティ (VR) - VR動画(#VR動画)およびインタラクティブVR(#インタラクティブVR/拡張現実 (AR)/複合現実 (MR)) 博物館の展示物The Field Museum Elumenati 仮想遊園地・仮想水族館 フライト/鉄道/ドライビングシミュレータ鉄道業界初!ヘッドマウントディスプレイを用いた運転シミュレータを開発 東急電鉄 2015年4月10日 手術シミュレータ 防災シミュレータ

インタラクティブウォークスルー インタラクティブ3Dコミュニケーション Web3D 出版物 (DTP) 商業ポスター 挿絵CG 漫画の背景CG 純粋芸術 アブストラクトアート/フラクタルアート(#アブストラクト) デスクトップ壁紙/スクリーンセーバー 3D印刷 シェーダーアート CG画集 キャラクター/バーチャルアイドル 写真集 ダンスCG デジタルフィギュア 3D印刷によるフィギュア作成(#3Dプリンタ出力) その他 ゲームのMOD コンセプトデザイン 犯罪捜査 CGによる囮捜査大手柄。児童買春1000人の囮に使われたバーチャル娘スウィーティー(動画あり) GIZMODO 2013年11月5日 法廷アニメーション(#法廷アニメーション向け) 3Dエフェクト 3Dトランジション

歴史

ソフトウェア毎の差異 OS及びプラットフォーム 歴史的経緯により、建築業界や機械業界ではWindowsの使用が(SolidWorksやInventorやAutoCAD、3ds Maxなど)、グラフィックデザイン業界ではmacOSの使用が多い。映像業界ではWindowsだけでなくmacOSもよく使われており、ポストプロダクション会社ではUnix系ワークステーションも使われている(Autodesk Flameなど)。日本のアニメ業界ではWindowsの使用が多い。ゲーム業界では、プラットフォームによってOpenGL/Vulkan/DirectX/その他の独自APIが使われており、複数APIに対応することも多く、開発ではWindowsの使用が増えている。macOS/iOS用ゲームの開発ではmacOSも使われている。映画業界ではワークステーションや巨大なレンダーファームを必要としており、スケーラビリティの高いUnix系のOSの使用が多い。かつてはSGI IRIXが、現在はLinuxが主流となっている。業界によって使われるOSが異なるため、3DCGソフトウェアはマルチプラットフォームに対応したものが多い。例えば映画向けのハイエンド・ソフトウェアではLinux版が作られたあと、他のOSに移植されている(例えば3D-EqualizerやMARI、Autodesk Flameなど)。

また視覚効果協会 (VES) の協力によってソフトウェア間の互換性を高めるための複数OS対応共通プラットフォーム「VFX Reference Platform」が定められておりVFX Reference Platform、3DCGソフトウェアではその規定にあるプログラミング環境およびライブラリの使用が一般的となっている。この VFX Reference Platform は複数のソフトウェアにまたがる製作パイプラインの構築を簡単にするほか、レンダリング共通API「Hydra Render Delegate」での連携時の互換性確保にも重要となっているVFX Reference Platform 2023-2024 Blender Foundation 2022年9月27日。

なおデスクトップ/ラップトップの3DグラフィックスAPIは長らくマルチプラットフォームで使えるOpenGLを採用したものが多く、今もその後継のVulkanがマルチプラットフォームで使えるものとして存在しているものの、WindowsはDirect3D APIを、AppleのmacOSはMetal APIを重視するようになっており(AppleのOpenGL対応は4.1止まりで非推奨OpenGL Capabilities Tables Apple DeveloperApple Deprecates OpenGL & OpenCL Phoronix 2018年6月4日)、それぞれのAPIに対応するソフトウェアも増えている。一方、モバイルデバイスの3DグラフィックスAPIは長らくOpenGLの簡易版であるOpenGL ESが標準となっていたものの、その後継ではデスクトップ同様Vulkanが使われるようになったほか、AppleのiOSでもデスクトップ同様のMetal APIが使われるようになっている。

また3DCGに使われる異種汎用計算のAPIではホストとゲストの分かれた汎用のOpenCLがだんだん使われなくなり、ホストとゲストの連携の密なCUDA/HIP/Intel oneAPI SYCLの使用が広がっている。なおAppleはその領域でもMetal APIを推し進めている(OpenCLは非推奨化され、CUDAはmacOS対応を終了したNvidia drops macOS support for CUDA CG Channel 2019年11月22日)。

デスクトップ/ラップトップのCPUではx64アーキテクチャが、モバイルデバイスのCPUではARMアーキテクチャが一般的となっており、CPUアーキテクチャによる分断も存在した。しかしながら2012年にはMicrosoft Surfaceと共にARM版Windowsが登場し、また2020年にはAppleがデスクトップ向けCPUにもARMアーキテクチャを採用し、非モバイル向けソフトウェアでもARMアーキテクチャにネイティブで対応するものが増えていったWhich CG applications support Apple’s new M1 chips? CG Channel 2020年11月13日。

OS間の進む分断化によってmacOS版の提供を取りやめるソフトウェアも登場しているAutodesk dropping support for Alias and VRED in macOS Mojave over OpenGL deprecation Quiller Media 2018年7月28日一方、モバイルデバイスがデスクトップに近づくにつれてモバイルデバイスに対応するデスクトップソフトウェアも登場しているDaVinci Resolve and Octane X coming to iPad this year CG Channel 2022年10月19日。

用語 ソフトウェアによって用語の違いが存在する。アメリカ英語とイギリス英語の違い(ColorとColourなど)をはじめ、訳語の違い(ノーマルと法線、シームと継ぎ目など)や、呼び方が違うもの(カラーランプ〈Rampは傾斜〉とグラデーション、モーフとモーフィングとブレンドシェイプとShape InterpとモーフターゲットとシェイプキーBlend Shape deformer - Maya LT - Autodesk Knowledge Network Autodesk 2014年12月12日『Blender For Dummies』 Jason van Gumster 2011年5月3日 - Chapter 11、エクスプレッションとドライバ、ShellとSolidifyとThickness、BMesh(Maya SoUP) とSkin Modifier(Blender) とアーマチャー (Metasequoia)、マグネットとAffect RegionとProportional Editなど)がある。

また、同じ用語でもソフトウェアによって意味するものが異なる場合(例えば、3ds MaxのSkin ModifierとBlenderのSkin Modifier、Maya SoUPのBMeshとBlenderのBMesh、BlenderのArmatureとMetasequoiaのアーマチャーなど)がある。

UI ソフトウェアによってUIやショートカットは異なるが、共通点も多い。

画面 用途 操作 備考 ツリービューリストビュー アウトライナ、アセット管理、ファイル表示 2Dビュー レンダリング表示、画像編集、2Dペイント、UV編集、マスク編集、リグ選択、フリップブック 2.5Dビュー 2.5Dペイント 3Dビュー オブジェクト編集、スカルプト、3Dペイント、リギング、スキニング、オブジェクト配置、アニメーション付け、シミュレーション表示 ドープシート アニメーション編集、コンポジット タイミング調整 グラフエディタ (カーブエディタ) アニメーション編集、コンポジット 補完設定 シーケンサー ノンリニアアニメーション、カメラシーケンサ、ノンリニア動画編集 トラック複製、オーバーラップ制御 スタックリストノードエディタ ヒストリ保存、非破壊編集、コンストレイント、ソルバー制御、コンポジット、ゲームロジック 上流の編集、グループ化による再利用、焼き付け・フリーズによる軽量化 スプレッドシート データインスペクタ、データ編集 テキストエディタ スクリプト編集、シェーダー編集 ブラウザ ヘルプ閲覧、イントラネット閲覧 Softimage Netview、Maya 8.0以前List of Former Mozilla-Based Applications Mozilla Developer Network、Cinema 4D、Houdini 14以降、Modo 901以降などが組み込みブラウザを持っている。

3Dビューの視点の操作では、ポインティングデバイスとキーボードが使われている。ポインティングデバイス用UIでは、Autodesk製品が3DCG/3D CAD/3D GISの共通UIとして「ViewCube」を採用している (3ds Max、Maya 2008以降『Introducing Maya 2008』 P.46 Dariush Derakhshani 2007年11月 、Softimage 2011 SAP以降Softimage 2011 SubscriptionAdvantagePack 新機能紹介 ボーンデジタル、Mudbox 2013以降、MotionBuilder 2009以降、Inventor 2009以降、Revit 2009以降、Autodesk Fusion、InfraWorks 360など)。

ショートカットキー(ホットキー)は基本操作を含めソフトウェアによって大きく異なっていた。基本操作の移動-回転-拡大縮小だけでも、Mayaや3ds MaxやModoではW-E-R、SoftimageではV-C-X 、BlenderではG-R-S、LightWaveではT-Y-H、Cinema 4DではE-R-T、HoudiniではT-R-Eというように、それぞれ異なるキーが使われている。ゲームエンジンなどでは他のソフトウェアのショートカットに似せることが多く (Unity『Unity 4 Fundamentals: Get Started at Making Games with Unity』 P.25 Alan Thorn 2013年11月22日 、UNIGINEEditor Hotkeys UNIGINEなど)、Blenderも2.8で業界互換のキーマップが追加された Blender developers meeting notes: 15 April 2019 BlenderNation 2019年4月16日。

コンテキストメニューは、円形メニューを採用するものが増えている (Maya、Modo、Blender 2.81以降、Houdini 16以降など)。

なお、UIの配色は、3DCG寄りのソフトウェアでは標準で暗い色が基調にされること多く (Maya 2011以降、3ds Max 2011以降、LightWave 10以降など)、CAD寄りのソフトウェアでは標準で明るい色が基調にされることが多い (SketchUpやRhinocerosなど)。近年ではOSにも標準でダークテーマとライトテーマの両方が搭載されるようになってきている (macOS Mojave以降macOS Mojave: What is Dark Mode and how to use it Macworld 2018年9月25日、Windows 10 May 2019 Update以降“ライト”モードを導入 ~シェルの改善 Impress 2019年5月1日など)。

座標系 共通の3D APIが登場する前にソフトウェアが発展したという歴史的な経緯により、ソフトウェアによって使われる座標系が異なっている。3DCGでは、主に空間を前提に考えた右手系Z-upや左手系Z-upと、視点を前提に考えた右手系Y-upや左手系Y-upが使われている。なお、空間の座標系がZ-upのソフトウェアであっても、スクリーン座標系においては奥行きにZが使われている。

Z-upとY-upを変換するにはX軸で90度回転する必要があり、右手系と左手系を変換をするには負のスケールを使って一軸を反転する必要がある。 座標系(前方) グラフィクスAPIの既定値 3DオーディオAPIの既定値 統合ソフトウェアの既定値 統合ソフトウェアの代替値 コンポジット ゲームエンジン 備考 右手系Z‑up(Y Forward) 3ds Max『More iPhone Cool Projects: Cool Developers Reveal the Details of Their Cooler Apps and Discuss Their iPad Development Experiences』 P.68 Danton Chin、Claus Hofele、Ben Kazez、Saul Mora、Leon Palm 2010年5月31日 , Carrara, Blender Maya3D 座標 Autodesk, Houdini, modo CryEngineCCamera Crytek 工業/工学で良く使われている『Essential Skills for 3D Modeling, Rendering, and Animation』 P.2 Nicholas Bernhardt Zeman 2014年11月6日 『In Silico: 3D Animation and Simulation of Cell Biology with Maya and MEL』 P.92 Jason Sharpe、Charles John Lumsden、Nicholas Woolridge 2008年6月30日 右手系Y‑up(‑Z Forward) OpenGL, WebGLGet started with WebGL Microsoft, Java 3DJava 3D API Specification Scene Graph Superstructure Oracle, XNAWhat are Vectors, Matrices, and Quaternions? Microsoft, WPF 3DIntroduction to WPF 3D Christian Moser OpenALSound.OpenAL.AL Haskell,Oculus Audio SDKTrack Parameters Oculus VR MayaFbxAxisSystem Class Reference - enum EPreDefinedAxisSystem Autodesk, SoftimageSoftimage User's Guide: Cartesian Coordinates Autodesk, HoudiniHoudini Preferences - 3D Viewports, Shade3Dツールごとのシーン単位変換 Shade3D, modoAdvanced Ergonomics MODO JAPAN GROUP Nuke OGRE 左手系Z‑up(‑Y Forward) Unreal EngineOverview - Leap Motion Unreal SDK v2.3 documentation Leap Motion 左手系Y‑up(Z Forward) Direct3DCoordinate Systems (Direct3D 9) Microsoft, Stage3D, RendermanAbout the RenderMan Interface Pixar DirectSound3D,XAudio2Coordinates of 3D Space Microsoft LightWave, Cinema 4D After Effects Unity, Irrlicht Engine ゲーム業界で良く使われている

また、ボーンの座標系(ボーンの長さ軸/主軸(Primary Axis)/ボーンの方向(Direction)、及び補助軸(Secondary Axis)/ボーンの軸(Axis))もソフトウェアによって異なる (modoやMayaは自由に指定可能、3ds Maxは主軸がX axisもしくはZ axis、Softimageは主軸がX axisもしくはY axisもしくはZ axis、Blenderは主軸がY axis)。

法線マップにおいては、画像の緑チャンネルを+Yにマッピングしたソフトウェアと、-Yにマッピングしたソフトウェアが存在し、緑チャンネルの反転が必要になる場合がある。接線空間法線マップの標準としては、MikkTspace (Mikk tangent space)が存在し、modo 901以降New features The Foundry、Blender 2.57以降Normal Maps Knald Technologies、Xnormal 3.17.5以降xNormal 3.17.5 Santiago Orgaz & co 2011年5月19日、Unreal Engine 4.7以降Unreal Engine 4.7 Release Notes Epic Games、Unity 5.3以降Unity 5.3 Unity Technologies 2015年12月、Knald、Substance Painter 1.3以降Allegorithmic unveils Substance Painter 1.3 CG Channel 2015年2月20日、3D-Coat、Marmoset ToolbagToolbag Version History Marmoset LLC、3ds Max 2021以降Autodesk ships 3ds Max 2021 CG Channel 2020年3月25日、Maya 2024以降Autodesk unveils Maya 2024 CG Channel 2023年3月29日、Houdini用プラグインのCompute Tangents SOPなどが採用している。

画像座標/スクリーン空間座標 画像の座標は、DirectXやGDIが左上原点、OpenGLやCore Graphicsが左下原点となっているため、3DCGソフトウェア及びそれに関連した2DCGソフトウェアにおいても、画像座標は統一されていない。

スクリーン空間の座標も基本的に画像座標と同じものの、DirectX 9以前には半ピクセルオフセットがあったDirectly Mapping Texels to Pixels (Direct3D 9) Microsoftため、古いシェーダーやDirectX 9以前のシステム等で互換問題の起きることがある。また、スクリーン空間のZ座標は、手前から奥にかけて、DirectXならば0.0~1.0に、OpenGLならば-1.0~1.0にマップすることが標準となっている。現在、深度の精度を改善するため、手前から奥にかけて1.0~0.0にマップするReversed-Zが普及してきている (Unreal Engine 4、Unity 5.5以降Upgrading to Unity 5.5 Unity Technologies、CRYENGINE 3.8.1以降EaaS 3.8.1 Crytek 2015年6月19日など)。

頂点順序 レンダリング高速化のための背面カリングにおいて、ポリゴンの表面は頂点順序によって決定されるが、ソフトウェアによって表面の指定が右回りと左回りで異なる。また、ファイル形式においても、法線方向が頂点順序によって決定されるものが多い。そのため、この方向の違いによって、モデルのやりとりで法線の反転する問題が発生する場合がある。

表面の方向 (カリングの方向) API 統合ソフトウェア ゲームエンジン 備考 右回り (左回り) DirectX (標準), OpenGL (GL_CW) 左回り (右回り) OpenGL (標準), DirectX (D3DCULL_CW)

長さの単位 3DCGにおいては、CADに比べて長さの正確性があまり必要とされてこなかった。しかし、物理演算や物理ベースのレンダリング、実写合成などが普及し、正確な長さの必要な場合が増えている。また、座標が浮動小数点数で表されるため、設定された単位と単位スケールによって表せる範囲や精度が異なり、それがモデリングやシーン配置にも影響を与えうる。そのため、多くのソフトウェアでは長さの単位と単位スケールが設定できるようになっている。

3DCGソフトウェアではそれぞれ汎用単位を持っており、Generic Unit (GU)と呼ばれる。独自の名前が付いているGeneric Unitも存在する (XSIのSI unit (SoftImage Unit)、BlenderのBU (Blender Unit)、PoserのPNU (Poser Native Unit)、Unreal EngineのUU (Unreal Units)など)。汎用単位の標準の単位設定はソフトウェアによってバラバラに異なっている。

一つの単位と単位スケールだけでは表現できるシーン範囲に限界があるため、オープンワールドのゲームなど広い地形を必要する場合にはタイル化された地形を動的に読み込むという手法が用いられる。

精度 内部計算に単精度を採用するソフトウェア (3ds Max『Getting Started in 3D with 3ds Max: Model, Texture, Rig, Animate, and Render in 3ds Max』 P.105 Ted Boardman 2013年 やBlenderWorking Limits Blender Foundationなど)と、倍精度を採用するソフトウェア(CINEMA 4D v12以降New in CINEMA 4D Studio Release 12 MAXONなど)が存在する。両方に対応するソフトウェアも存在する (UNIGINEEDITIONS OF UNIGINE 2 SDK UNIGINE Corp.など)。単精度は高速だが、巨大なデータを扱う場合に問題が起きる。演算のアクセラレーションを行うGPUは、ゲーム用に単精度で速いもの(GeForceシリーズ)と、業務用で倍精度が得意なもの(Quadroシリーズ)に分かれている。