Terraon Lifestream


2010 3月 4th




PhysXInfo.com: Hi, Vadim. Please tell us about your PhysX SDK based application.

PhysXInfo.com: こんにちわ、 Vadim.君のPhysXSDKを基にしたアプリケーションについて教えてくれ。

Mir Vadim: Hi, RayFire Tool is 3ds Max destruction plugin. I have started development three years ago for my own purpose. I planned to create exciting reel with shooting, destructions, demolitions and a lot of other effects, but unfortunately default 3ds Max tools were unable to satisfy my needs, so I decided to create my own tool which will gather all abilities I want. Fortunately after few days I found video demonstration of Impact System Tool created by Daniel P. Ferreira at Blur Studio.

Mir Vadim :?やあ。RayFireは3dsmaxの破壊シミュレーション・プラグインで、3年前から開発を始めたものだ。ある時僕はエキサイティングな射撃や破壊、衝突を扱うシーンを計画したんだけど、3dsmaxのツールでは不可能だった。そこで僕の全スキルを駆使して開発してやろうと考えたんだ。幸運な事にそんな時、Blur StudioのDaniel P. Ferreiraの作成した素晴らしいツール(Impact System Tool)のデモに出会ったんだ。


Impact System Toolの使用された『Hell Gate』

This tool was able to create very realistic shooting effect in a seconds, but it was closed in-house tool, so I decided to create something similar for myself. After 2 weeks first build was ready to use and surprisingly for myself it was even slightly better than?Impact System Tool. Since it was based on ray intersection functions and it was created for shooting I named it?RayFire Tool. Before making it avaialble for public I asked permission from Daniel and Blur Studio to do so. So, I published first build and got very positive feedback from?CGTalk community.

あっという間にリアリスティックなシーンを制作できたんだけどImpact System Toolはインハウスだった。そこで二週間で最初のビルドを作成し実際に使ってみたんだ、自分でも驚いた事にImpact System Toolよりも素晴らしかった。それは”ray intersection functions(訳者注:計算の方法かな?)”に基いていて、shootingの為のプラグインであることから僕はそれをRayfireと名付けた。そして公開する前にブラースタジオやダニエルに相談して許可を貰った。それからCGTalk community.に投稿したんだ。

During next year I added ability to prefragment objects, simulate them using Reactor (default 3ds Max dynamic engine), quickly explode objects and a lot of other cool features for VFX artists. Even though?RayFire Tool was pretty popular it was simple free script with a lot of bugs, without help and proper support, so, after some time my friend?Anselm von Seherr gave me advice to make it more professional, fix bugs, create proper help, open website and start selling it. As you see I did so and after a half of the year finally added support for?PhysX engine, the reason why I am telling you all this story now.

翌年にかけて、Rayfireにreactorを利用したプリフラグメント・オブジェクトを加えた。それからたくさんの協力や幾度にもわたって友人であるAnselm von Seherrからのアドバイスを受けてRayfireはウェブサイトを開き販売を開始するまでになった。やがて遂にというべきか、PhysXエンジンのサポートも加え、こうして僕(Vadim)はここで話している訳だ。

First test with?PhysX using?RayFire in 3ds Max literally made me speechless for few minutes, I just couldn’t believe my eyes, it was magic, I simulated few hundreds of objects practically in real time. For me at that time it was like finding cure against cancer. For a week I couldn’t sleep at all, I didn’t stop working until version?1.4 with?PhysXengine support was released.

After that?RayFire became very popular in a few months. At that time it has very fast and useful shatter system, but with reactor it was pretty useless. With new?PhysX engine support these two parts, Fragmentation and Dynamic simulation multiplied usefulness of each other. It was possible to take a solid object, shatter it and dynamically break in less then a minute. It was huge update.


RayFireが有名になっても、Reactorはかなり使えない存在だった。そこに登場した新しいPhysXエンジンが、破砕と物理演算の双方を大幅に使えるものに引き上げた。結果として、ものの数分でSolid Objectを粉砕できるようになった、かなりのアップデートだったね。

One and a half of the year has passed since that moment and now?RayFire Tool became a default plugin for artists who need to create dynamic simulation, demolition, explosions or just prebreak objects. A lot of famous companies purchased it and use now in their production: first one and it will be here always is?Blur Studio, among others areBlizzard, Disney, Fox, Electronic Arts, Rockstar, Ubisoft, Codemasters, Crytek, Rocksteady, Sega, Boeing and evenUS Military.

そして今に到るまで半年か一年が過ぎた頃にはRayfireは3Dエフェクトアーティストの標準的なプラグインとなっていた。多くの企業(Blur Studio, among others areBlizzard, Disney, Fox, Electronic Arts, Rockstar, Ubisoft, Codemasters, Crytek, Rocksteady, Sega, Boeing and evenUS Militaryなど)が既にRayFireを採用しているよ。


PhysXInfo.com: Initially, RayFire was using default physics engine in 3ds Max ? Reactor, but since v 1.4 PhysX solver option was added. How can you compare PhysX against Reactor ? Does RayFire have any PhysX specific features ?


Mir Vadim: To be honest I don’t even want to compare these two engines because Reactor engine in 3ds Max is very old. This is simply not fair to compare current Nvidia PhysX engine and Havok Reactor. PhysX is hundred times faster, it is much more friendly and allows to affect on simulation during simulation. Reactor is closed engine, if you start simulation you can’t affect on it anyhow until it will finish. It is hard to compare how much faster PhysX because with a lot of objects Reactor will freeze max. The only advantage of Reactor for now is the support for concave dynamic objects, but if You will decide to use such simulation geometry, Reactor will simulate even more slower.

Mir Vadim:正直にいってReactorは古いね。二つは比べるまでもない。100倍速いし、ユーザーフレンドリーだ。それにrectorの作業は閉鎖的。オブジェクトが多いとReactorはフリーズするでしょう。唯一の利点はConcave Object=凹面オブジェクトをサポートしているだけで、だけどそんな時もReactorの動作は大変にゆっくりだ。(訳者注:ここらちょと訳が怪しいです。)オートデスクが次のバージョンで大きくアップデートしてくれることを望むよ、でないといよいよ使い物にならなくなるだろうな。

Don’t get me wrong, Havok engine itself is very good physical engine, but its representation in 3ds Max is very old and not competitive for PhysX. I hope Autodesk will update it in next versions, otherwise it will become completely useless.


As I said PhysX engine is pretty friendly engine and that is why RayFire has a lot of unique PhysX features which Reactor doesn’t support. For instance, it is possible to deactivate objects, so they will behave like Static or Kinematic objects, but then, during simulation, activate them and make dynamic, you can do this by affecting them by some default max force helpers, like wind or bomb. Or You can activate them hovering mouse cursor over them which is in more artistic way to design your own dynamic simulation.

僕がいってるのはPhysXエンジンはreactorのサポートしていないたくさんの色々な形のオブジェクトに対応しているってことだ。分かりやすい例としては、それまで計算されていなかった止まったり動いたりするオブジェクトが、シミュレーション中にダイナミックに、3dsmaxのデフォルトの風や爆弾のようなフォースヘルパーに影響を受けたりすることが出来る”deactive object”も可能にしているということ。(訳者注:ここもちょと怪しい、でも使えば分かります◎)

Another awesome PhysX feature is Interactive Demolition System which tracks all collisions between objects during simulation and accordingly to their material, mass and collision force break them and continue simulation, each newly created fragment might be demolished further. So, you can start with only two objects and end with few thousands of tiny fragments.

もう一つの素晴らしい可能性の一つは、シミュレーション中の全てのオブジェクト間でのコリジョン(衝突)をマテリアルを保持したまま追跡するInteractive Demolition(破砕シミュレーション)で、粉砕によって生成された破片は更なる破片を作り出し、シミュレーション実行中もその莫大な破壊エネルギーを計算し続ける。したがってユーザーはたった二つのオブジェクトから数千の破片を作り出す事が出来るんだよ。

PhysXInfo.com: Have you encountered any issues with PhysX SDK during development ? Can you point to PhysXlimitations ?


Mir Vadim: The only PhysX limitation for now is unavailability to simulate concave objects. For now PhysX engine converts all simulated objects into simplified convex versions and simulate them. It supports concave geometry only for static objects, so, you can fill some cup with some objects, but only if cup is static, otherwise objects will lay on invisibly side of convex version of cup.

Mir Vadim:凹面オブジェクトを計算できないってことくらいかな。今は単純に凸に変換して計算してしまうでしょ。カップにオブジェクトを満たせるように、静止しているオブジェクトでなら凹面計算もサポートしている、そうでなければ不可視の凸面バージョンのカップオブジェクトの横にそっと置かれるだろうね。

PhysXInfo.com: We’ve heard, that certain features of previous PhysX 3ds-Max plug-in were added under your influence, specific for RayFire ? is that true ? Have you kept such relations with new dev. team (PhysX 2.0 plug-in) ?

ちょっと聞いた話なんだけど、PhysXの3dsMaxプラグインがRayFire専用にあなたの影響下におかれるって聞いたんだけど…本当?PhysX 2.0 plug-inのデベロッパーチームからそういう話が来たりしてるの?

Mir Vadim: Well, yes, that is true, not too much features, but there were few. Don’t want to say that they added them only thanks to me, maybe they had plans to add them later, but when I asked to add support for sleeping objects development team added it in a few days. Very friendly development team I can say so far. Having such opportunity want to say Thanks to Gavin Kistner and Jun Ma Jack for their work. PhysX 2.0 developing the same team and this is very good for all of us.

Mir Vadim: …そうだ、本当。そんなに遠くない未来に少数だけど、そうなる。僕にありがとうなんて言って欲しくないんだけど、彼らには開発に加えるプランがあったみたいで、sleeping objectsを近々加えて欲しいと頼んだ時には開発チームはそれをほどなく追加してくれたよ。PhysX 2.0の発展は僕たち皆にとって良い知らせだ。

PhysXInfo.com: Is RayFire taking advantage of GPU PhysX acceleration, or is it calculating physics on CPU ?


Mir Vadim: First of all I want to mention that there is no big advantage in simulation speed for Rigid Bodysimulation.
GPU PhysX acceleration is mostly needed for cloth, fluids and soft body PhysX simulations, so because RayFiresupports only Rigid Body dynamic simulation it will not use GPU PhysX acceleration advantage. Previous PhysXplugin version was 100% software, but current version 2.0, as I know, has GPU PhysX acceleration support, unfortunately there is no cloth, fluid and soft body support in it for now, but they will be added later.

Mir Vadim: とりあえず注意点としては、GPUアクセレーションはリジットボディ(固形物)の計算においてはそんなにアドバンテージはないってことだ。

PhysXInfo.com: In what direction are you planning to evolve RayFire ? Advanced particle system ? Deformable geometry ?

今後RayFireはどういう展開をしていくんだい?パーティクル?Deformable geometry?

Mir Vadim: To be honest I don’t want to evolve RayFire continuously, otherwise it will became a big, slow and hard to learn tool.
During whole development my main goal was to keep it as easy to use and learn as possible. So even newbies will be able to spend a hour for tutorials and next hour to create some cool demolition simulation. With current deadlines it is very important to finish your job in time and that is why I tried to make RayFire as simple as it could be.
So, if there will be a ways to add more features keeping it as easy and fast as now I will do this.

Mir Vadim:正直いって、いつまでも開発し続けるつもりはないんだ。大きくなれば、開発はゆっくりに、より難しくなる。今の目標は学習も使用もシンプルであることだ。覚えてであっても1時間勉強すれば、次の1時間でクールなシミュレーションが出来るような。差し迫った納期の中でも作業をフィニッシュさせられる事が重要だ。それが僕がRayFireをできる限りシンプルにとどめておきたい重要な所だよ。だから、(学習も使用もシンプルであり続ける)拡張のやり方が見つかれば、勿論僕はそうするだろうね。


Filed under CG
« 前ページへ
Recent work (Just a hobby!!) - on Vimeo