作者別: chiyama

CG, KATANA

KATANA のカメラ操作

KATANA でカメラを作ってカメラから見たシーンの表示をしてみます。

KATANA 上ではカメラもプリミティブや Alembic キャッシュと同様、ノードから作ることができます。
使用するのは Camera Create ノードなので、Node Graph 上で Tab キーを押して作成します。
また、カメラから見ることのできるものを用意する必要があるので Alembic_In ノードを使って .abc ファイルを読み込みます。

そして、これらを一つのシーンとしてまとめるために Merge ノードに繋ぎます。

ただ、このままではカメラもオブジェクトも原点に存在するため、カメラを移動します。Node Graph 上で Merge ノードをダブルクリックで選んで Viewer 上でカメラオブジェクトを選び、w キーを押すとカメラを移動することができます。ちなみに回転は e 、スケールは r です。このあたりの操作は 3DCG ソフトに慣れていれば何となく直感的に使うことができます。

カメラを移動したときにカメラからどのように見えるのか確認するには Viewer 領域の下部にあるメニューから、表示するビューポートを選択します。

また、既存のビューポートは残しつつ新たにカメラ用のビューポートを作成したい場合、プルダウンメニューから Viewer(Hydra) を選んでタブを追加し、ビューポートを設定すればよいです。

そんなこんなでカメラからのビューを設定するとこのようになります。

CG, KATANA

KATANA で Merge ノードを使ってみる

今日は KATANA の機能のうちでも恐らく触ってみないと想像がつかない、でも触ってしまうとこれなしでは考えられないであろう機能、Merge についてです。

Merge を一言で言うと、3D シーンでコンポジットソフトの合成と同じことをおこなう機能です。。。と一言で済ませられるならいいんですが、これは実際に動いているものを見てみないとナンノコッチャ?という感想しか沸かないので試してみます。

まず、PrimitiveCreate を使って Sphere と Cube を作成します。それぞれ作成するパスは /root/world/geo/polysphere と /root/world/geo/cube です。同じ位置にあると結果がわかりづらいので translate に値を入れて位置をずらしておきます。

そして、この二つを Merge に入力します。するとどうなるでしょう。

/root/world/geo 直下に polysphere と cube が配置されました。こうして二つのツリーが一つに合成されたのです。こうすることで、たとえば別々に取った Alembic キャッシュを読み込んで一つのツリーにまとめることができるようになります。

更にすごいのは、Merge はノードベースで処理が行われているため、一つの KATANA シーンファイルの中で複数の異なるツリーを持つことができるのです。たとえば、今回作成した PrimitiveCreate, PrimitiveCreate1, Merge はそれぞれ別のツリーを持っていますし、Merge ノードをもう一つ増やして別の合成をするとそれも別のツリーとして存在します。これが一シーン中に一ツリーという既存の CG ソフトとの大きな違いです。

例えるなら、今まで 3DCG 制作と言えば一枚の紙にレイヤ情報も何もなく絵を描いていたところに、パーツ毎にレイヤを分けてレイヤを組み合わせながら作業を進めることができるようになった感じでしょうか。これはとても画期的です。

CG, KATANA

KATANA で .abc ファイルを読み込む

何をするにしてもアセットの読み込みができないと始まらない KATANA さん。ということで Alembic の読み込み。これくらいの基本機能だとさすが KATANA と言えど Google 先生にお伺いを立てればすぐに答えが見つかります。

Node Graph 内でおもむろに Tab キーを入力すると作成するノードの候補が表示されるので、”Alembic” と入力してくと Alembic_In が絞り込まれます。そこで Enter を押すとノードが作成されるのでダブルクリックもしくはノード右側の□をクリックしてパラメータを表示し、abcAsset に .abc ファイルへのパスを入力すれば OK。Scene Graph で root 右クリック→ Expand All でビューポートにもジオメトリが表示されます。

試しにアニメーション付きのファイルをロードしてみたところ、特に問題も無くサクッと読み込むことができました。きちんと読み込むためには fps なんかもちゃんとセットする必要があるようです。また、name でシーン中の階層名を指定することができます。今回は /root/world/geo/Zombie_on_Fire と指定しているため、読み込んだシーンのトップがそこになっています。

この名前を適切に指定しておくと、複数のシーンを読み込んで Merge でまとめた時に階層を適切に処理して一つにまとめてくれるようです。

CG, KATANA

KATANAのサンプルファイル

KATANA を触り始めるにあたってチュートリアルビデオを見ながらあれこれ試してみるのもいいんですが、とりあえずどんなことができるかサンプルを見てみたいッ!!って思うのが人情かと思います。

そんな場合、KATANA のインストールディレクトリの demos 以下にサンプルファイルがあります。KATANA のシーンファイルは katana_files 以下にあるので、こちらを読んでみます。

こちらのファイルはとても丁寧にできていて、どんなサンプルなのか、どんな処理がされているのかという詳細なコメント付きです。まずはこれを開いてみて、よくわからないなりにフムフムナルホド。。。。とわかった風になってみるのもいいんじゃないでしょうか。。。というか、私はそれをやっています。笑。

CG, KATANA

KATANA のインストール

縁あって KATANA を触る機会ができたのでインストールをしてみました。とりあえず試したのは Windows 版です。

インストーラは Foundry のサイトからダウンロードすることができます(もしかしたらアカウントを作成してログインする必要があるかも?)。ライセンスが無い場合でも 30 日間のトライアル版があるので、そちらを使用することができます。

今回はネットワークライセンスを使用するようにしたので、ライセンスサーバーのセットアップもおこないます。ライセンスサーバーのセットアップに関しては本家のドキュメントも充実していますし、FAQ もあります。また、代理店のサイトでも詳しく記述されているので(例1)(例2)そちらを参考にすれば基本的に問題になることはないかとおもいます。

ライセンスサーバーのセットアップ後、ファイアウォールの設定を忘れないようにします。デフォルトでは 4101 番ポートを使用するので外部からここに接続できるようにします。また、4102 番ポートにアクセスするとライセンスの情報が取得できます。ライセンスサーバーを立ち上げたマシンで http://localhost:4102/ にアクセスしてみてください。

今回一つハマった点があって、ライセンスサーバーを仮想マシン上で動かす場合は通常のライセンスとは別に VM Enable license が必要となります

ライセンス周りで何か問題があった場合、前述の URL やログファイルを確認します。ログファイルはライセンスファイルと同じ場所に格納されているようなので、Foundry License Utility(FLU) の Diagnostics を使ってパスを確認できます。私の環境では C:\ProgramData\The Foundry\RLM\log\foundry.log にありました。

これらの設定ができれば、KATANA を立ち上げてライセンスサーバー情報を入力すれば無事に動かすことができます。

スクリーンショットを見ても非常に簡素な造りで、最近のゴテゴテピカピカな CG ソフトに見慣れると物足りなく感じるかもしれません。私はこっちの方が好きなんですけどね。あと、慣れない人はシンプルすぎて最初にどこから手をつけたらいいのかわからなくて戸惑ってしまいそうです。

私は Gaffer を触っているおかげで何をやらなければいけないのかはイメージできるのですが、実際のオペレーションに関しては右も左もわからないのでチュートリアル(たとえばこことか?)や COLOSSUS さんの記事を見ながら勉強を進めていくようにします。このあたりは Gaffer に比べたらとても豊富なので心強いです。

CG, Gaffer

Gaffer でのバッチレンダリング

CGWorld.jp の連載、”痴山紘史の日本CG見聞録 第5回:Gafferによるルックデヴ&ライティング” でファイルへのレンダリングをおこなう方法について正しいかどうか確信が持てないと書いていましたが、やっぱりこれは正しくなかったようです。

正しくは、Output ノードで出力先を指定し、その出力を ArnoldRender ノードに繋げるということでした。Output ノードでファイルの出力先が指定されていれば、InteractiveArnoldRenderer ノードを使ってインタラクティブに結果を確認している間もファイルに出力されるようです。このあたりの理解が不足していました。すみません。

このようにして、ArnoldRender ノードで Execute をすることでファイルへのレンダリングをすることができます。

Output1 の上の ArnoldOptions は、本番レンダリングのためのレンダリングクオリティの設定をおこなっています。プレビューしているものと同等の品質のもので良ければこれも必要ありません。

Programming, コンピュータ

Redmine の Workflow 定義を直感的におこなう

Redmine では、マトリックスにチェックを入れることで Workflow を定義します。

慣れればこれはこれでいいのですが、直感的ではないですし、編集した結果どのようになるのかもわかりづらいです。

ちょっと調べたところ、Google chart API を使って図にするプラグイン redmine_workflow_viz が見つかったものの古くて最近の Redmine で動かないようです。また、グラフを見るためには Save をしなければいけないため、やっぱりちょっと不便です。

そこで、編集中の Workflow の状態をリアルタイムに見ることのできるプラグイン、workflow_graph を作りました。ブラウザ上で描画をおこなっているため、チェックのオンオフに連動して表示が更新されますしレイアウトも好きに調整できます。

workflow_graph from JCGS on Vimeo.

参考にしたサイト:

未分類

Windows10 で Alt-Tab を押したときにサムネイル表示をしないようにする

Windows10 で Alt-Tab を押してアクティブなウィンドウを切り替えようとすると、ウィンドウのサムネイル表示をするようになっています。これ、一見するとカッコよくてウィンドウの中身も見えるため切り替えがしやすそうなんですが、実際に触ってみると情報過多で見づらい上に、Alt-Tabを押してからウィンドウ一覧を表示するまでコンマ数秒の遅れが発生します。

ウィンドウの切り替えは頻繁かつ無意識に行う操作なので、このホンの少しの遅れが大きなストレスとなります。そのような場合、以下のコマンドを管理者権限つきのコマンドプロンプトから実行した後にエクスプローラを再起動すると従来の通りアイコン表示に切り替わります。

reg add HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer /v AltTabSettings /t REG_DWORD /reg:32 /d 1

コンピュータ

ネットワークトラブル(現在進行形)

去年末に Intel Core i7 8700K が出たタイミングでこれまで使用していたサーバーをリプレースしたのですが、ネットワーク周りのトラブルがずっと続いていてホトホト困っているので対応の履歴を残してみます。

起こっている現象

ある日突然(数時間おきの場合もあれば一週間以上大丈夫な場合もある)社内ネットワークが落ちてしまい、外部接続はおろか内部も接続が切れてしまう。

調べてみると HUB が死んでいるようで、その HUB に繋がっている計算機が接続できなくなっている。

さらに調べてみると、ファイルサーバーや Web サーバーなどを兼務している計算機で NIC が死んでいることがわかった。この計算機の OS は下記のような感じ。Ubuntu 16.04。

neo@matrix2:~$ uname -a
Linux matrix2.XXXX.co.jp 4.13.0-32-generic #35~16.04.1-Ubuntu SMP Thu Jan 25 10:13:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
neo@matrix2:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION=”Ubuntu 16.04.3 LTS”
neo@matrix2:~$

ログを確認すると NIC がリセットされていることがわかる

Feb 6 13:13:11 matrix2 kernel: [80014.946129] e1000e 0000:00:1f.6 enp0s31f6: Reset adapter unexpectedly
Feb 6 13:13:11 matrix2 kernel: [80014.946287] br0: port 1(enp0s31f6) entered disabled state
Feb 6 13:13:15 matrix2 kernel: [80018.988532] e1000e: enp0s31f6 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
Feb 6 13:13:15 matrix2 kernel: [80018.988605] br0: port 1(enp0s31f6) entered blocking state
Feb 6 13:13:15 matrix2 kernel: [80018.988614] br0: port 1(enp0s31f6) entered forwarding state
Feb 6 13:13:52 matrix2 kernel: [80055.906251] e1000e 0000:00:1f.6 enp0s31f6: Reset adapter unexpectedly
Feb 6 13:13:52 matrix2 kernel: [80055.906522] br0: port 1(enp0s31f6) entered disabled state
Feb 6 13:13:56 matrix2 kernel: [80059.956583] e1000e: enp0s31f6 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
Feb 6 13:13:56 matrix2 kernel: [80059.956662] br0: port 1(enp0s31f6) entered blocking state
Feb 6 13:13:56 matrix2 kernel: [80059.956670] br0: port 1(enp0s31f6) entered forwarding state
Feb 6 13:14:46 matrix2 kernel: [80109.922310] e1000e 0000:00:1f.6 enp0s31f6: Reset adapter unexpectedly
Feb 6 13:14:46 matrix2 kernel: [80109.922620] br0: port 1(enp0s31f6) entered disabled state
Feb 6 13:14:50 matrix2 kernel: [80113.984597] e1000e: enp0s31f6 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
Feb 6 13:14:50 matrix2 kernel: [80113.984657] br0: port 1(enp0s31f6) entered blocking state
Feb 6 13:14:50 matrix2 kernel: [80113.984660] br0: port 1(enp0s31f6) entered forwarding state

こういった内容が延々続いている。また、ルーターと ping で疎通確認をすると、最初に Reset adapter unexpectedly が起きた時点で接続が切れているらしいことがわかる。

現時点での解決策

以下の手順を踏むと、しばらくの間症状が出なくなる

  • 問題が起きている PC の電源を完全に落とし、電源ケーブルも抜いて数十秒待った後に起動
  • HUB の電源も一度切って入れなおす

HUB の電源オンオフやマシンの再起動でも一時的には治るが、大抵すぐに同じ問題が起きる。

これは到底解決策とは言えないので、根本的な原因の調査と対応をおこなう必要がある。

調査内容

まずは HUB, NIC, ネットワークケーブルそれぞれの不調を疑ったので、ひとつづつ交換してみる。

  • HUB → 別のメーカー・型番のものに交換しても同じ症状が起きる
  • ネットワークケーブル → 交換しても同じ症状が起きる
  • NIC はオンボードなので、BIOS で殺したうえで USB 接続タイプの NIC を使用してみる → 同じ症状が起きる

次に、マザーボードの不調を疑ったので新たに別のメーカー、型番のものを調達して交換したものの症状は変わらず。

GRUB での ASPM 無効化

カーネルオプションで ASPM を無効化するとよいという内容が見つかったので、GRUB で ASPM を無効化

/etc/default/grub で設定

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash pcie_aspm=off”

→ 解決せず。

BIOS での ASPM 無効化

BIOS で ASPM を無効化

→ 解決せず。

TSO 無効化

Reset adapter unexpectedly で Google 先生に聞いてみるといくつかのサイトが引っかかる。

TSO 無効化をするとなおると書いているので試す。

/sbin/ethtool -K enp0s31f6 gso off gro off tso off

起動時に毎回実行する必要があるので、/etc/rc.local にも記述しておく。

→ 解決せず。

NIC のドライバの更新

NIC のドライバを更新してみる。

更新後の環境は以下の通り

neo@matrix2:~/tmp$ ethtool -i enp0s31f6
driver: e1000e
version: 3.2.6-k
firmware-version: 0.2-4
expansion-rom-version:
bus-info: 0000:00:1f.6
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
neo@matrix2:~/tmp$

→ 解決せず。ただ、ドライバが最新になっていないかも?要確認。

(ToDo)disabling enhanced C1 power saving state (C1E) in the BIOS settings

https://superuser.com/questions/1270723/how-to-fix-eth0-detected-hardware-unit-hang-in-debian-9

(ToDo)Update Firmware

neo@matrix2:~/tmp$ lspci -nn -s 00:1f.6 -v
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-V [8086:15b8]
Subsystem: ASUSTeK Computer Inc. Ethernet Connection (2) I219-V [1043:8672]
Flags: bus master, fast devsel, latency 0, IRQ 134
Memory at df300000 (32-bit, non-prefetchable) [size=128K]
Capabilities:
Kernel driver in use: e1000e
Kernel modules: e1000e

neo@matrix2:~/tmp$

もしかして解決?

再度問題が発生し、サーバーを再起動するとシステムディスクにエラーが発生して正常に起動できない。
コンソールに以下のようなメッセージが延々と出力される。EXT4-fs error ということなのでファイルシステムがおかしいようだが、fsck をしても正常だと言われてしまう。

結局いろいろ試してもこの問題は解決しなかった。ただ、このままだとサーバーが止まったままになってしまうので手持ちの HDD に dd でイメージをコピーしてそちらから起動したところ、何の問題もなく動作するようになった。

システムディスクに使用していた SSD が壊れていたのかもしれないが、ストレージの問題ならイメージのコピー中にエラーが出たりコピーしたイメージが壊れるなど何か問題が起きるような気がするのだがそんな様子もない。(dd の場合、エラーも含めてコピーしてしまうという話はありそう。。。)

この SSD はサーバーリプレース時に新規購入したものなのでまさかこれが壊れるとは思っていなかった。心当たりとしては、システム更新時に最初に使用していたマザーボードを電源周りのトラブル(煙を吹いた!)で交換しているので、その時に SSD にまで何か影響を及ぼしたのかもしれない。

いろいろと釈然としない部分はあるが、ひとまず現在の環境で様子見をしてみる。

コンピュータ

Windows10 上で、タスクバーのサムネイル表示をおこなわないようにする

マウスカーソルをタスクバーのアプリケーションのところに持っていくと、ウィンドウのサムネイルが表示されます。
でも、、、正直サムネイルの中身って似たような内容なので判別できないよっ!!意味ないよっ!!

ってことで、サムネイル表示しないでウィンドウタイトルがリスト表示されるようにします。

以下の二つのコマンドを管理者モードで立ち上げたコマンドプロンプトから実行するだけ。

reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband /v NumThumbnails /t REG_DWORD /reg:32 /d 0
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ExtendedUIHoverTime /t REG_DWORD /reg:32 /d 36000