Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Andrew Linden's Havok4 Talk @ SL Views

Francis Chung
This sentence no verb.
Join date: 22 Sep 2003
Posts: 918
10-01-2007 17:24
Hi guys :)

A couple weeks Andrew Linden gave a talk on how Havok 4 works at SL Views. The following are my notes. If you have trouble deciphering them, post here and I'll try and answer.

The formatting might be a bit funny also - the forumware messed up my formatting and I'm trying to fix it. (Hey LL, can we we fix forums please?)

Anyways, my notes:

Andrew's Talk:
Tasks=prims
New Physics API: Can connect to havok4 or havok1 (or whatever) back end

- per prim callback currently broken
- volume detect broke
- plan to roll out havok4 on some sims first
- main goal: fix deep thinks
- goal: run-time choice on which physics engine to use (maybe not exposed to
residents)
- avatar walk/run speed may be different
- spheres actually now spheres
- llGetMass() will return the same, but underneath, everything's mass actually increased
Hopefully script energy unaffected, rez times unaffected
- New linking model - what things can link into 1 object (hopefully more consistent)
(Old one more dependent on rotation, the new one uses bounding spheres?)
- better colliding sculpties in the future (unknown time)
- TBD: objects/parcel collision test, fixing problems of people rezzing stuff that
overhangs into neighboring parcel
- no increase in #prims/physical object
- blue sky:
- - Havok has a built-in vehicle engine (SL doesn't use it - problems with UI, how to
select wheels, etc)
- targetomega could have been fixed, but chose not to because of griefing

- distance between prims? (.1m on old havok, havok4 is .1m still, but spheres
will note have a collision tolerance) "collision tolerance"
- - collisions where things are not interpenetrating are CPU cheaper
- partial phantom?
- - Hopefully eventually a way to allow you to specify your physics box (collision hints)
- - - specify that your concave object collides like a convex object
- - some phantom hopefully
- - low hanging fruit
- joints disappearing
- - Maybe come back in the future (andrew prefers to solve heirarchy first)
- Way to find out which havok?
- - Lindens can do that, we can't (in the future...)
- megaprims?
- - preview currently has anti-megaprim code
- - continued to be supported in semi-broken state
- - no >256m
- affect sim crossings?
- - no
- if physics in sim slows down, it will lower physics LOD (concave objects become convex
objects)
- - Each prim in a link set will be individually boxified
- collisions different how?
- - vehicles (esp. ground vehicles affected - friction too high, catching its nose)
- - bouncing between seams worse in havok4
- - hack fix in SL: If collision normals unusual, stick in the cached normal
- - hack fix in SL: de-rotate if detects a nose-dive
- pushobject behaves different (fixed kinda) in havok4
- - objects at a distance if you ask for astronomical amount of push
- flexiprims remain as they are (maybe do something after heirarchical stuff done)
- havok1, volume detect used the box around the object, havok4 uses the real object
- there's a tool that shows what's been LOD's (boxed), but only exposed to Lindens
(bandwidth constraints - it feeds collision data through ethernet)
- avatar stuck? Why?
- - because the avatar getting up animation would look stupid if you were still sliding
down the hill
- - feature request, independent, probably not happening
- no sim scheduler changes (45 fps)
- Everything internally broken up into triangles and spheres?
havok1: triangles & boxes
havok4: triangles, boxes, spheres, convex meshes, etc
- New optimization rules? convex better than concave etc prims better? Spheres faster
than cubes?
- - spheres cheaper than boxes now cheaper than cylinders
- No new materials now, maybe later
- - probably per-prim friction & restitution setting (sliders)
- Building limit from 768m to 1024m
- - shooting a bullet straight up - it might hit the "ceiling" and come back down
- convex hull viewer would be nice
- what's the mop?
- - A MOP is like a collection of prims into a single object, in some data
structure (like a BSP tree or a quad tree) that orders the sub-prims in a
way that it is intelligent to parse with havok. Objects with >=5 prims are
converted into MOPs

Questions I didn't get around to asking
- broadphase/narrowphase collision detection?
- floating point precision?
- universal speed limit?

Edit: s/convex/concave/
Edit: New link:
Andrew talks about simulation islands, broadphase, narrowphase collision detection here:
http://blog.secondlife.com/2007/10/04/second-life-havok4-beta-preview-temporarily-offline/#comment-491528
_____________________
--
~If you lived here, you would be home by now~
Aaron Edelweiss
Registered User
Join date: 16 Nov 2006
Posts: 115
10-01-2007 17:34
/me cries
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
10-02-2007 07:37
TY for typing this up! Some interesting stuff in there!

From: Francis Chung
- if physics in sim slows down, it will lower physics LOD (concave objects become concave objects)

/me is not sure she sees how that helps.. :)
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Francis Chung
This sentence no verb.
Join date: 22 Sep 2003
Posts: 918
10-02-2007 12:08
From: Meade Paravane
TY for typing this up! Some interesting stuff in there!


/me is not sure she sees how that helps.. :)


Whoops! Good catch, I meant "concave objects become convex objects"
_____________________
--
~If you lived here, you would be home by now~