株式会社デジタル・フロンティア-Digital Frontier

Header

Main

CGメドレー

2011/4/25

Tag: ,,,,

※English Translation below

こんにちはDF開発室の吉田と申します。AKAタック(tak)です。
Massiveメインで仕事をさせてもらっています。

東京はどこに行っても地震や原発の話題でもちきりですね。心配が多い中、みんな頑張って仕事を続けています。
地震当日、私は弊社キャプチャー・スタジオでMassiveのキャプチャーを行っていました。地震が起こった時、最初はみんな苦笑いだったのですが、揺れが大きくなるにつれ、どんどんと恐怖の顔に変わっていきました。
地震の後半をビデオに収めました。

ところで最近、家の環境にMariの体験版を入れて試してました。
最初は大きいTextureが表示出来るというだけで何が良いのか分からなかったのですが、Jack Greasley がMariワークショップで来日した際の彼の説明を聞いて、テストしてみたくなりました。

Mariの長所:
1.Mari最大の長所と言えば大きいTextureが読み込めることです。モデルによっては100個以上の4Kテクスチャが読み込めます。
2.マスク機能:プロジェクション・ベースのペイントなので、エッジ部分(ビューに正対していない部分)のTextureがどうしても伸びるのですが、Edgeマスクを使う事で簡単に防げます。他にも様々なマスク機能を持っていて、間単に設定出来るようになってます。

3.Texture変形ツール:モデルに沿ってペイントするための変形ツールが用意されています。

4.アニメーションしているオブジェクトをペイント出来ます。たとえば、泥で汚れていくキャラをフレーム単位でペイント出来ます。再生しながらペイントが問題ないか確認できますし、キャラが動く場合はその動きの中でのTextureの伸び具合も確認出来ます。
5.複数モデルの同時ペイント機能。
6.Python対応。

では本番に入りたいと思います。そう、Massiveです(^ ^)
今回は、以前Siggraph Asiaの群集コースで説明した内容の1部を紹介します。
「敵を探す方法」と「Crowd Dynamics」について説明します。

MassiveはFuzzy Logicを使ったノード・ベースの群集ツールです。
キャラクターはAgentと呼ばれますが、Agentのブレイン(脳)にルールを適用することで、シチュエーションにあった行動をとらせる事が出来ます。(必要なモーションがそろっている事を仮定しています。)
細かいブレインだと、5,000ノード以上になる事もあります。

≪敵を探す方法≫
「敵を探す方法」のルール(これが絶対ではないので、必要に応じてカスタマイズしてください)
1.敵は誰か?
2.どの敵が1番近いか?
3.自分の前にいるか?
4.こっちを向いているか?

4番は要らないと思う方がいらっしゃるかもしれませんが、敵が自分に向いているほど危険性が上がるために入れてるルールです。向いていない人はおそらく攻撃してこないという事ですね。

このルールで作った動画が以下です。

攻撃に関しては話が長くなるため、割愛します。
頑張ってバトル出来るキャラを作ってください。

≪Crowd Dynamics≫
シミレーションはCharacterの数が増えるほど不安定になります。
MassiveでDynamicsを行う場合はちょっとした工夫が必要となります。
重い群集シミレーションがクラシュすると本当にショックです。
時間が掛かっただけではなく、途中からシミレーションをやり直す事は不可能なので…。
不安定なシーンに遭遇した場合は、以下のような設定を行うとシミレーション出来るようになるかもしれません。
1.シミレーションを分ける。
2.キャラ同士のCollisionをoff にする。
3.カメラビューから出たキャラは計算しない。
4.キャラが地面に落ちて動かなくなったらdynamicsをoffにする。
5.クラシュしたシーンを修正して自動的にシミレーションし直すスクリプトを使う。

とりあえず、サンプルムービーです:

Massiveなのでキャラを複製:

以上になります。Massiveに興味のある方はこちらのリンクもどうぞ。
 


Hello,

My name is Takashi Yoshida (AKA tak). I am part of the R&D Division at Digital Frontier.
My main responsibility is supervising Crowds, currently done using Massive.

Everywhere you go in Tokyo or probably in Japan, there is someone talk about the earthquake or the nuclear power plant. Even though everyone is concerned, they continue to go to work everyday. Amazing. The day of the earthquake, I was at our companies capture studio directing some Massive capture. When the earthquake hit at first, everyone had a bitter smile on their face, but as it got bigger, their faces changed to fear. I was able to capture the last half the earthquake at the studio.

Lately, I have had the opportunity to test Mari texturing software by the Foundry.
My interest sparked when I went to a Mari Workshop in Japan. Speaker of the session was not only the Foundry’s Jack Greasly. My initial thought was “It can read in large textures. What is the big deal?” After the session, I came to realize how nice this software is and gave it a spin on the 15 day trail.

Strong Points:
1. Of course, the ability to read in large textures. Well over a 100 textures at 4K.
Masking Capability: Projection based texture painting is prone to stretching along the edges (surfaces not facing the projection). With Mari, masking out portions of the model that do not require painting is easy, in this case the edge. Other masking capabilities are shown below.

3.Texture Warping Tools: Paint along surfaces that flow along a curve.

4.Painting of animated objects. For instance, painting a character that gradually gets dirty. Play through the sequence to check if textures are ok and paint frame to frame. Also, when a character moves, the textures may stretch. The ability to check for stretched textures and fix on the fly.
5.Paint on multiple models at the same time.
6.Python is also supported.

Getting to my main talk of the day. Yes, about Massive:)
I had the pleasure of being a part of a course at Siggraph Asia about crowds.
This is a small portion of that session.
I will be covering “Targeting” & “Crowd Dynamics”.

Massive is a Fuzzy Logic based node application for generating crowds.
Characters are called “agents”. Rules can be applied to the agent’s brains, so they can deal with most situations. (This assumes that all the motion for the character has been taken.)
The number of nodes in a brain can vary. A complex brain can easily reach over 5,000 nodes.

Targeting
Rules (There are no set rules for this, so change them to fit your needs)
1.Who is the enemy?
2. Which enemy is the closest?
3.Is the enemy in front of your agent?
4.Is the enemy facing your agent?

Is number 4 needed?
The enemy is more likely to attack if facing your agent, so more of a threat.
These rules have been applied in the following movie:

I will be skipping the fighting rules in this talk.
Have fun trying to create a battle agent.

Crowd Dynamics
The larger the simulation, the more chances the simulation will become unstable.
Care should be taken when dealing with dynamics in Massive.
It is shocking to find out a heavy crowd simulation has crashed.
Not only do these simulations take time, dynamic simulations cannot be re-simmed at the point of the crash.
If you come across an unstable simulation, here are some processes to try to solve the problem.
1. Split the simulation in several smaller simulations
2. Turn off collisions between agents
3. Turn off agents that left the camera frustum
4. Turn off agents after they hit the ground and stabilize
5. Automatic editing of the dynamic problem and auto re-simming.

Anyways, here is a sample.

Since we are using Massive, replicate!!

*No samurai were hurt in the making of these movies.
If you have more interest in DF & Massive, please follow the link here.
*Sorry, Japanese only.

Pocket

コメント

コメントはありません

コメントフォーム

コメントは承認制ですので、即時に反映されません。ご了承ください。

*