Kezdőlap Egyéb A Havok fizikai motor és a hullák

A Havok fizikai motor és a hullák


Múlt héten nyilatkozott Julian, a technikai fejlesztőcsoport vezetője és Bashiok, a Havok fizikai motor működéséről. Mint már korábban említették a hullák eltűnése  bizonyos idő eltelte után fog megtörténni. A hulla eltűnéséhez jelenleg körülbelül 20 különböző tényező megváltozása szükséges. A tárgyak mérete nem ilyen faktor. Ilyen faktorok pl. egy levágott fej, egy csontváz etc., olyan dolgok, melyek a környezetre hatással vannak. Azt próbálják kiküszöbölni, hogy pl. egy összetört asztal az instában nehogy eltüntesse  a hullát a nagyobb csatá közepén. Jelenleg két módszer, a tárgyak  száma és azok elévülése, ill. a tárgy eltűnik “n” másodperc után módszert próbálják összhangolni, mikor melyik módszer bizonyul a leghasznosabbnak.

Bashiok bluepost…
Bashiok: Our lead tech artist Julian and I talked a bit yesterday about some of the effects and fading, and he gave me some more insight as to how they're working and being changed. We also went in to some of the questions you've all brought up, and so I'll hit some specific points too (with quotes!).

Q u o t e:
or just disconnecting corpses from the physics engine when they come to rest, and have them fade out

Bashiok: Aside from my previous comment of this not being nearly as fun (it would also look/feel kind of lame), Havok already knows when an object has come to rest and so they already have a lower cost when they're still. Additionally with the proposed method there is no reliable way to determine when or even if a body will come to rest. In a single player game with a class that maybe doesn't use a ton of skills that interact with corpses in a significant way this could work, but in a multiplayer game there could potentially be hundreds of corpses piling up as they've never come to rest due to all of the player skills firing off.

We're also taking extra care to minimize the ability of a player to impact the performance of another player, as was sometimes maliciously done in Diablo II.

Q u o t e:
I am wondering why you just use an object's age and don't specify a complexity and priority attribute for each object. By combining these two with the age method you would be able to fade out highly complex physics and low priority (tiny) objects earlier.

BashiokI'm just going to quote Julian from an e-mail at this point so I'm not rewriting his words and acting like I know what I'm talking about here – “Because most objects in the game that use the age method aren't different enough in anatomical complexity for this to yield significant benefits. The size of objects generally isn't a factor. It is the number of unseen physics meshes that the technical artists add to these things that matters and they tend to be pretty similar from actor to actor. This is largely due to the anatomical similarity of living things in nature…”

Most things have appendages, a back bone, head, etc.

Julian also made the point that while we have our new system for determining the number and age of a physics actors, we still have the old tried and true “disappear after n seconds” method. We can actually choose which actors use which system, so our intent is to make sure that a destroyed table won't make a corpse disappear, for instance. The corpse probably being the more important of the two to keep around.

Quite a few of you were discussing options, sliders, ways to control how long something takes to disappear, etc. and that may be a possibility. The current setting, which is around 20, is just our initial implementation. There's always the possibility for that number to change, or for it to potentially be variable by the player. We do want to keep the game options uncluttered and consistent as much as possible though.”