コンテンツにスキップ

環境変数を理解する

テクニカルアーティストを始めようとした場合に、まず最初にハマるのは
おそらく環境構築、そしてコマンドプロンプトを使用したコマンドラインツールの使い方
なのではないかと思います。

初回の エディタの設定の回で Python の設定をする際に
「環境変数」を指定するという部分で軽く触れましたが
今回はこの「環境変数」とはどういうもので、どういう風に使うのか。
チームで同じ環境を作る場合などでの基本部分を解説していこうと思います。

環境変数とは?

環境変数とは、オペレーティングシステム(OS)
いわゆる Windows や Linux が提供する機能の1つで、
OS 上で動作する各種アプリケーションがデータを共有する仕組みのことです。

参考
https://ja.wikipedia.org/wiki/%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0

たとえば、3DCG だと「Maya」や「Houdini」「Blender」といった
さまざまなツールが存在していますが、
作業フォルダーのルートディレクトリ だったり、各種ライブラリのディレクトリだったり
ソフトウェアにかかわらず同じ設定を使用したい場合はよくあります。
そういった場合、個々のソフトウェアごとに設定するのではなく
一律で、共通の情報として設定をしたい場合などに使用します。

また、自分で指定する以外にも
各ツールごとに用意された環境変数、特定の動作をさせるといった使用方法もあります。

たとえば、Maya の場合だと、MAYA_UI_LANGUAGE といったように
環境変数を指定することで、Maya の言語を英語にする といった設定も
この環境変数を使用することで設定できます。

Houdini の環境変数
Maya の環境変数

Houdini と Maya で設定できる環境変数は、上記のページにまとめたります。
これらの設定を設定することで、チームで同じ環境を作るなどが可能になります。

PATH について

そういった環境変数の中で、重要になるのが  PATH  です。
PATH というのはなにかというと、コマンドプロンプトなどから実行するときに
相対パスで記述された場合に、指定のファイルや実行ファイルを検索をしに行く
フォルダーを指定するための環境変数です。

例として、Python をコマンドプロンプトから実行したい場合や
.py ファイルをダブルクリックで実行しようとした場合

1
python sample.py

多くの解説サイトではこのように python とだけ書かれていることが多いかと思います。
この時に使用している「python」というコマンドは、
環境変数を指定していない場合、正しく動作しません。
なぜかというと、 python だけだと「どの python.exe か」というのを
見つけることができないからです。
環境変数で、実行したい Python のバージョンの python.exe があるフォルダーを指定すると
そのフォルダー以下にある python.exe が使用されるので
python.exe をフルパス指定しなくても、 python だけで実行ができるようになります。

python を例として説明しましたが
それ以外の各種 exe やスクリプトファイルを実行する場合も
PATH に検索対象のフォルダーを設定することで
PATH からの相対パスでコマンドを実行できるようになります。

実際の環境構築での使用方法

Windows では、

コントロールパネル以下にあるシステム環境変数の編集(検索で探すと出てくる)
から変更できます。
(変更方法は検索すると出てくるのでここでは割愛)

ですが、Windows の環境変数の編集から編集すると大きな問題があります。
それは

  1. 各 PC それぞれ個別に設定しなければいけない
  2. 環境を切り替えるごとに、Windows の設定を都度変えなければいけない

ということです。
CG の現場では、多くの場合複数のプロジェクトが動いていて
そのプロジェクトによって各ツールの設定がかわってきます。
そういった場合、Windows の環境変数に設定してしまうと
設定を意図した形に管理することが非常に困難になります。

例えば、PYTHONPATH という環境変数を使用する場合。
Maya2022 以前だと Python2 ですがそれ以降だと 3 になります。
ので、それぞれの起動ごとに適切な Python バージョンのコードがある場所を
指定する必要があります。
なので、CG の環境づくりにおいては Windows の環境変数に指定するのではなく
Batch ファイルなどを経由して実行したり
専用のランチャーを作成したりすることで
この環境変数を指定します。

1
2
set PATH=C:\Users\remir\AppData\Local\Programs\Python\Python37;%PATH%
cmd /k

シンプルな例として、Python37 を Path にセットしてコマンドプロンプトを起動した例。
この Batch ファイルで起動した場合、Windows の環境変数設定で指定してなくても
python を実行できるようになります。

Batch を使用して設定したい場合は

1
set 環境変数名=設定する値

このように設定します。
PATH に追加する場合のように、既存の設定に足す場合は

1
set 環境変数名=追加する値;%環境変数名%

%環境変数名% このように % ではさむと、すでに設定されている値に置換されるので
これを利用して、追加できます。

このように、Batch ファイルに環境変数の指定を書いて起動することで
プロジェクトごとに設定を分けたりすることが可能になります。

まとめ

テクニカルアーティストとして、社内の環境を用意する場合の一番基本となるのが
この環境変数の指定になります。
複数人でプロジェクトを進める場合、どのように環境をつくり
同じ環境で作業をできるようにするか これは、非常に重要なポイントです。

この基本を理解して、Batch ファイル起動からランチャーツールを作るようにする
などステップアップするのが良いです。