BLOG

RECENT ENTRY

ARCHIVES

カテゴリー別 : 社内イベント

自動遠隔再起動システムについて

何となく暑さのピークが過ぎたように感じるこの頃。
(とはいえ、まだまだ暑いですが…💦)
皆さまいかがお過ごしでしょうか?

アニマではテレワークを開始して1年半が過ぎ、
Parsecを使ったリモートでの作業が8割以上となっています。
※Parsecに関する記事はこちら

先日、ParsecがUnityに買収されるというビッグニュースを知り、
いよいよ本格的に世の中の働き方が変わってきたことを感じています。
個人的には、写真を添付して「このキーを使いたい!」とParsecのCEO宛に
送っていたころが懐かしい…。(キーボードの特定キーが動かなかったため)

そんなリモートデスクトップでのテレワークですが、
リモート先(会社)のPCが何らかのトラブルで応答しなくなった場合は
物理的に現場で操作しなければならないという問題があります。

アニマでも毎日5%程度のPCに何らかのトラブルが発生しており、
再起動を行うためにシステムのメンバーが出社をしています。
(もちろん再起動以外にも仕事はあります!)

今年の春頃まではスタッフから再起動のリクエストを受けて
システムメンバーが物理的もしくはコマンドで再起動を行っていましたが、
この方法はあまり生産的とは言えないので、
ユーザー自身が手軽に遠隔から再起動をかけられる仕組みを作りました。

遠隔からPCを再起動する方法はいくつかありますが、
操作方法や権限、物理構成などハードルもあるため
今回は普段使っているチャットツール(RocketChat)から
Botを使って再起動する手段で開発しました。

スタッフは”restart”か”cancel”のどちらかを打つだけなので、
誰でも簡単に利用することができます。

実際の画面↓

この機能を使っているのは1日平均5回程なので
さほど多くはありません。
ただ、これまではトラブルが起こる度にシステムメンバーへ連絡し
対処してもらうまでの待ち時間があったことや、システムメンバーの
毎度の手間を考えると互いに利便性が高く非常に便利です◎

ちなみに、このシステムでは解決できないトラブルも
1日1回位あるので、そこは現時点では物理的に対応しています。
(実際、この場合は直接確認した方が良いトラブルがほとんどです)

現状の感染状況をみるとまだまだテレワークが続きそうなので、
今後も必要に応じて開発やアップデートを行っていこうと思います💻

それでは、また更新します*

エフェクト勉強会

来週から9月に入りますが、
まだまだ暑い日が続いていますね☀
今年の暑さも長引きそうな気配を感じます…💦

さて、今回はFX Departmentで取り組んでいる勉強会についてご紹介します!
この勉強会は、個々のアーティストが過去プロジェクトで使った技術の共有
新人アーティストに向けたアドバイスHoudiniやNukeのTipsなどを
教え合うことを目的に実施しています。

最近の勉強会では、基礎的なCopy to Pontsを使って
2つの軸を元にした回転を行いました。

例えば、基本的に回転は2つの軸を定義することでもう1つの軸が決まるので、
その2軸をY軸方向に@upベクターとZ軸方向に@Nまたは@vに定義します。


————————————————————-
v@N = set(0,0,1); or v@v = set(0,1,1);
v@up = set(0,1,0);
————————————————————-
上で定義したupベクターをVEXファンクションのRotateを使って回転させてみます。


————————————————————-
matrix m=ident();
float angle=radians(@Frame);
vector axis=set(0,0,1);
rotate(m,angle,axis);
v@up *= m;
————————————————————-
まず、Matrixを定義し、角度と回転軸を指定します。その回転の情報を最初に作った
Matrixに乗算し、最終的に@upベクターに対してかけると回転させることができます。
角度は値をラジアンに変換し、1フレーム1度回転させています。

次は回転軸を変えて行ってみます。


————————————————————-
matrix m=ident();
float angle=radians(@Frame);
vector axis=sample_sphere_uniform(rand(@ptnum,ch(“seed”)));
rotate(m,angle,axis);
v@N *= m;
v@up *= m;
————————————————————-

先ほどは回転軸をz軸にしていましたが、今回は軸をランダムな値にしています。
3軸を正しく回転させるためには2軸を定義する必要があるので、
upベクターだけでなくNormalに対しても同じ回転の情報を入れます。

最後に、モデルを複数配置してそれぞれランダムな回転を加えた例も紹介します。
sphere上にモデルをコピーし、今回はこのSphereが持っているNormalを使用します。


————————————————————-
v@up=sample_sphere_shell_uniform(rand(@ptnum),1);
————————————————————-
まず、ランダムなupベクターを作成します。


————————————————————-
v@cross = cross(@up,@N);
v@up = cross(@N,@cross);
matrix m=ident();
float angle=radians(@Frame);
vector axis=normalize(@up);
rotate(m,angle,axis);
v@N *= m;
————————————————————-
モデルのY軸方向を軸にキャラを回転させたいため、
作成したupベクターとNormalのCrossをとり、さらにNormalと
再度Crossの計算をし直します。
これで、3つの軸を直交させることができ、正しい回転処理を行うことができます。

いかがでしたか?
今回の内容は一例なので、今後もエフェクトチームの勉強会の内容を
定期的にご紹介しようと思います!

それでは、次回の投稿もお楽しみに*

Shot Division ~LC Departmentのご紹介~

毎日暑いですね💦
外にいる時だけでなく、家の中でも熱中症に気を付けましょう☀

さて、今回の記事は入社2年目を迎える筆者が所属する
Lighting&Composite Department(以下、LC)をご紹介します!
就職を考えている方はぜひ参考にしてください:)

まず、LCでは、キャラクターや背景のライティング作業と
出来上がった素材を組み合わせるコンポジット作業を担当しています。

>業務内容
映像内に登場するAsset(キャラクターや背景)のライティング作業を行い、
エフェクト等と併せてコンポジット作業を行うのが主な業務内容です。
現在は15名のアーティストが所属しており、ライティングではMayaと3dsMAX、
コンポジットではAfter EffectsとNUKEをメインツールとしています。

>スケジュール ※あくまで一例です
—————————————————————————
11:00  業務開始
12:00  定例会/月曜のみ:業務内容の報告と連絡会
13:00~ 昼食 ※決まっている訳ではなく、休憩に入る人が多い時間
19:00  勉強会/金曜のみ:毎回異なる内容のテーマを議題に話合います
20:00~ 業務終了
—————————————————————————

ちなみに、LCも現在はほとんどのスタッフがテレワークです。
アニマ全体でもバーチャルオフィスのシステムを導入していますが、
LCではバーチャルオフィス以外にもNewworkというアプリを導入し、
必要に応じて気軽に都度相談ができるようにしています。

Newworkの画面↓

>LCの雰囲気
皆さん穏やかで、業務の指示も丁寧で優しい方が多いです。
テレワークになったばかりの頃はコミュニケーションの取り方に
難しさを感じていましたが、先輩方が気にかけてくださるおかげで
今は支障を感じることはほとんどありません。

>業務外の活動
LCでは、毎週金曜日の業務終了後にNewwork上で集まり、
毎回テーマを決めて交流しています。
内容は、業務で使うリファレンス集めや自主制作の発表、
各自が今興味を持っていることなど様々…✨
会社外でもコミュニケーションを取ることが難しい中で
こういう場があるのは個人的にはとてもありがたいです。

今回はここまで!
少しでもLCのことが伝われば幸いです◎

それでは、次回の更新もお楽しみに*