User:Andrew Linden/Office Hours/2008 01 31
Jump to navigation
Jump to search
Transcript of Andrew Linden's office hours:
[17:01] | Teravus Ousley: | well, I imagine the List processing will be much smoother |
[17:01] | Kitto Flora: | Rocky does magic soapbox have Mono? |
[17:01] | Kitto Flora: | Now? |
[17:01] | Teravus Ousley: | Hello Andrew |
[17:02] | Ryozu Yamamoto: | I actually thought list stuff wouldn't benefit at all |
[17:02] | Rocky Merosi: | I dont believe so. I am going to look into getting it though and what I have to do |
[17:02] | Andrew Linden: | Hi everybody. |
[17:02] | Kitto Flora: | Hi Andrew |
[17:02] | Rocky Merosi: | we are already havok4 |
[17:02] | Arutha Scofield: | hello :) |
[17:02] | Rex Cronon: | hi andrew |
[17:02] | Teravus Ousley: | Andrew, would you know what stat 25 and 26 are? |
[17:02] | Andrew Linden: | You can't yet have Havok4 and MONO together |
[17:02] | Seifert Surface: | right now when you copy a list it does so by reference... not sure thats a benefit ;) |
[17:02] | Andrew Linden: | both are on separate branches |
[17:02] | Andrew Linden: | that is, separate code branches that follow the trunk codebase |
[17:02] | Rocky Merosi: | darn :P |
[17:03] | Rocky Merosi: | well I am happy with havok4 so I will stick there :) |
[17:03] | Seifert Surface: | presumably they're reasonably well separated? |
[17:03] | Kitto Flora: | Well its puzling enough with them separate :) |
[17:03] | Andrew Linden: | When one of the projects is done and merged back into the trunk, then the other project will pick it up from a merge |
[17:03] | Seifert Surface: | right |
[17:04] | Andrew Linden: | stat 25 and 26? |
[17:04] | Teravus Ousley: | Yes, I notice them on Havok4 sims only |
[17:04] | Teravus Ousley: | previous sims have 24 stats |
[17:04] | Andrew Linden: | Are you talking about the CTRL+SHIFT +1 stats? |
[17:04] | Teravus Ousley: | yes |
[17:04] | Teravus Ousley: | .. in the simulator section |
[17:05] | Teravus Ousley: | but there is no client processing for it currently |
[17:05] | Teravus Ousley: | the client wonders what it is. |
[17:05] | Ryozu Yamamoto: | I believe they added one for RCCS |
[17:05] | Ryozu Yamamoto: | Not sure what the other would be |
[17:05] | Simon Linden: | They are both for the RCCS |
[17:05] | Ryozu Yamamoto: | Ah |
[17:05] | Andrew Linden: | Yeah, I think Kelly added some stats that provide some insight in what the RCCS is doing. |
[17:05] | Gaius Goodliffe: | Ah yes... Ctrl-Shift-4 reveals an unhappy client... |
[17:05] | Andrew Linden: | Ah, Simon is here and knows. |
[17:05] | Teravus Ousley: | ahh :D |
[17:05] | Ryozu Yamamoto: | My 1.18.5(3) client just fills my console with errors all day ;) |
[17:05] | Simon Linden: | One is objects that have lower level-of-detail |
[17:06] | Simon Linden: | The other is number of frozen objects |
[17:06] | Teravus Ousley: | cool. :D |
[17:06] | Andrew Linden: | RCCS = Runtime Collision Control System |
[17:06] | Andrew Linden: | which switches the collision Level of Detail (LOD) of some objects |
[17:06] | Creem Pye: | frozen by... hitting a sim boundary? |
[17:07] | Simon Linden: | Frozen because the sim is getting really slow, so we just freeze a physical object in place. It only kicks in when then sim gets really slow |
[17:07] | Gaius Goodliffe: | Some objects just need a time-out. :p |
[17:07] | Andrew Linden: | The RCCS has a few tricks up its sleeves. In addition to changing the LOD of shapes |
[17:07] | Simon Linden: | The RCCS is the system that throttles physics and collision in an attempt to keep the sim going when it's bogged down |
[17:08] | Creem Pye: | I see, thanks |
[17:08] | Andrew Linden: | it also will pull pin in place (set keyframed) some objects. |
[17:08] | Andrew Linden: | And may even set some objects as "fixed" which has a different meaning in Havok parlance. |
[17:09] | Andrew Linden: | this is all under the hood... the STATUS_PHYSICS reported by the UI and LSL will not change |
[17:09] | Andrew Linden: | but the objects may cease to move dynamically |
[17:09] | Andrew Linden: | "fixed" in Havok means it cannot move at all, even by keyframed motion |
[17:10] | Andrew Linden: | fixed objects fit into a big collision pool that is wrapped in a MOPP (memory optimized partial polytope)... similar to a spatial parton |
[17:10] | Andrew Linden: | partition |
[17:10] | Teravus Ousley: | It has a collidable geometry.. but no rigid body.. essentially? |
[17:10] | Andrew Linden: | yes |
[17:10] | Andrew Linden: | keyframed objects can actually move |
[17:10] | Arawn Spitteler wonders if an item to unphysicise itself, by detecting Physics slows, before RCCS does the shutdown | |
[17:11] | Andrew Linden: | in our case we use keyframed for most static SL geometry |
[17:11] | Andrew Linden: | so this table for instance, would be keyframed with velocities set to zero |
[17:11] | Andrew Linden: | which makes it cheap to move... should it be scripted for movement |
[17:11] | Ryozu Yamamoto: | Arawn: I'd suggest a new call at a later time, since pinning would be different than not actually being set dynamic |
[17:11] | Andrew Linden: | or should someone select it and start moving it around |
[17:12] | Andrew Linden: | There are performance gains to be had if we were to move most static objects from keyframed to fixed |
[17:12] | Andrew Linden: | and Kelly Linden may investigate that possibility |
[17:12] | Teravus Ousley: | :D |
[17:12] | Ryozu Yamamoto: | A more "hardcore" version of the "locked" checkbox XD |
[17:13] | Andrew Linden: | the tradeoff is that it is costly to move the objects from keyframed to fixed and back again |
[17:13] | Andrew Linden: | since a new MOPP must be computed in each case |
[17:13] | Arawn Spitteler: | An Anti-Griefing Vehicle would operate by llSetPos. is that Fixed or Keyframed? |
[17:13] | Ryozu Yamamoto: | Keyframed |
[17:13] | Andrew Linden: | well, my recomendation to Kelly was that scripted objects should NOT be put in the fixed pool |
[17:14] | Ryozu Yamamoto: | Makes sense |
[17:14] | Andrew Linden: | but most objects aren't scripted, so it is probably a Win for most regions |
[17:14] | Creem Pye: | I suppose an object would need to be keyframed to allow any child primitive to move or rotate as well, right? |
[17:14] | Gaius Goodliffe: | Possibly there could be a library call, llNeverMoves(bool) or something to that effect? |
[17:15] | Andrew Linden: | Well... at the moment we rebuild the entire RigidBody should a child prim move. |
[17:15] | Andrew Linden: | So yes, in the fixed case we'd have to also rebuild the MOPP |
[17:15] | Andrew Linden: | In Havok1 we used to recycle most of the RigidBody |
[17:15] | Teravus Ousley: | :P |
[17:16] | Andrew Linden: | but this simplifies the code in Havok4, to just rebuild |
[17:16] | Simon Linden: | Gaius - It might be a prim property, but would be best if it could all work under-the-hood. If it's exposed, it can be a griefer issue as it's misused |
[17:16] | Ryozu Yamamoto: | I think the best performance tradeoff would be a simple "fixed" checkbox that can only be used on non-scripted non-dynamic objects as a whole. |
[17:16] | Andrew Linden: | hrm... such a script call could be done. It would be a promise to never move via LSL... so attempted moves would fail. |
[17:16] | Creem Pye: | well the compiler could always check to see if there are any position/rotation/physics calls in the prim and set a flag accordingly |
[17:17] | Andrew Linden: | However, that might provide confusion. |
[17:17] | Teravus Ousley: | hmm.. parhaps an event to fire when the RCCS system says 'fixed' |
[17:17] | Andrew Linden: | I like the idea of allowing content creators to provide more hints for how to treat the collisions of objects |
[17:17] | Ryozu Yamamoto: | Teravus: Dunno about that... Only use case I think of to know that RCCS has kicked in already is to try and counter-act it |
[17:17] | Andrew Linden: | and post Havok4 I'd like to work on some of those features. |
[17:18] | Gaius Goodliffe: | Cool. |
[17:18] | Ryozu Yamamoto: | Sidewinder late today? |
[17:18] | Andrew Linden: | Before I forget, lemme give a little summary of the latest development in Havok4... |
[17:18] | Teravus Ousley: | you've got a point Ryozu.. if it's working and not affecting the use.. there's no need |
[17:18] | Teravus Ousley: | yep, *listens to the summery* |
[17:18] | Andrew Linden: | Sidewinder will hopefully arrive before the end of the hour. |
[17:18] | Creem Pye: | hm how about reaction to touches? Vehicles seem to lose momentum if you touch them, even if they don't have a touch event =\ |
[17:18] | Andrew Linden: | He was is en-route for home atm. |
[17:19] | Ryozu Yamamoto: | Creem: SetStatus block grab ;) |
[17:19] | Rex Cronon: | so, u could say, even though this object is a square i want the physics engine to treat it as if it was a sphere? |
[17:19] | Andrew Linden: | Yes Rex, hints such as that. |
[17:19] | Creem Pye: | hm I think I have that set already, but I guess I'll check that after this meeting <Rex |
[17:19] | Andrew Linden: | The main hint I'd like to do is "treat this collection of prims as a convex hull" |
[17:19] | Ryozu Yamamoto: | Creem: block grab wont' affect things like right-clicking it however |
[17:20] | Ryozu Yamamoto: | Andrew: might have to explain what that means though ;) |
[17:20] | Andrew Linden: | Lessee... I think our next update just passed QA |
[17:20] | Andrew Linden: | however... we fixed the "large crowds of avatars sometimes fall through the floor" problem |
[17:21] | Teravus Ousley thinks it means that the geometries get put together into a single geometry that is convex | |
[17:21] | Andrew Linden: | and so I think we're going to make another quick QA pass to get a few bugs, that one in particular, in the next update. |
[17:21] | Teravus Ousley: | :D |
[17:21] | Andrew Linden: | yes, a convex hull is a shape that is like a wrapper... only covering the outside vertices of the object |
[17:21] | Andrew Linden: | so if you had a torus... its convex hull would be a rounded cylinder |
[17:21] | Gaius Goodliffe: | If setting convex would prevent getting caught up on little bits, that'd be really cool. :) |
[17:22] | Kitto Flora: | Hi Sidewinder |
[17:22] | Andrew Linden: | the convex hull fills in the concavities |
[17:22] | Gaius Goodliffe: | That *would* be a very nice feature to have.. |
[17:22] | Teravus Ousley: | concavities eat CPU time :D |
[17:22] | Rex Cronon: | something like that could be used for sculpties |
[17:22] | Andrew Linden: | so... you might make a somewhat complicated vehicle with concave parts, but it would collide like the envelope of its shape |
[17:23] | Saijanai Kuhn: | are there plans to change that at some point? |
[17:23] | Sidewinder Linden: | /thanks kitto |
[17:23] | Teravus Ousley: | Heya Sidewinder |
[17:23] | Ryozu Yamamoto: | Have a seat guys, there's plenty |
[17:23] | Sidewinder Linden: | hi guys... sorry to be late... |
[17:23] | Andrew Linden: | That is my favorite hint that I want to open up, but I think there were others I was kicking around... can't remember what they are right now |
[17:23] | Rex Cronon: | hi sidewinder |
[17:23] | Arutha Scofield: | greetings |
[17:23] | Ordinal Malaprop: | Good morning all! |
[17:24] | Rex Cronon: | hi ordinal |
[17:24] | Andrew Linden: | Saijnia, plansto change what? |
[17:24] | Ordinal Malaprop: | Oi. |
[17:24] | Ryozu Yamamoto: | Haha, whoops |
[17:24] | Sidewinder Linden: | <- thinks he'll wait for "table lag" before sitting down :) |
[17:24] | Arutha Scofield: | :) |
[17:24] | Rex Cronon: | what is happening with the table? |
[17:25] | Ryozu Yamamoto: | Think I'm going to have to optimize that a bit |
[17:25] | Teravus Ousley: | heh |
[17:25] | Saijanai Kuhn: | I broke it |
[17:25] | Andrew Linden: | Ryozu, perhaps it should have some hysteresis when getting smaller |
[17:25] | Creem Pye: | hm it woulds be nice to have a way to know if something's in your convex hull - right now I'm just using a simplified ellipsoid created by the bounding box corners to get a much rougher estimate =)( |
[17:25] | Teravus Ousley: | total frame time is 3.x ms .. so.. according to the stats.. it isn't a time issue. |
[17:25] | Andrew Linden: | that would probably solve most of the bounciness |
[17:26] | Ryozu Yamamoto: | I need to go through the routines and make sure they're actually getting queued like I had planned.. there's supposed to be a half second wait before processing while any further changes go through |
[17:26] | Andrew Linden: | the convex hull hint would require some UI features... a way to visuallize what the convex hull would be |
[17:27] | Andrew Linden: | Ok, back to the summmary of Havok4 dev... |
[17:27] | Andrew Linden: | Sidewinder, do you know if we'll be trying to do another quick QA pass to get the "falling through the floor" bug? |
[17:28] | Andrew Linden: | before we actually deploy an update? |
[17:28] | Sidewinder Linden: | i'd liketo includethat and the few others before we deploy...should only cost a couple of days and it will make a LOT of folks happy to have them in there... |
[17:28] | Sidewinder Linden: | so thatmay push the rollout of this new code until later in the week or monday at latest i *hope*... |
[17:29] | Sidewinder Linden: | btw the "falling through floor" bug is seen in highloadsettings with lots of avatars |
[17:29] | Sidewinder Linden: | (apologies for my funky spacebar) |
[17:29] | Sidewinder Linden: | and when that happens, all the avatars on a stage or platform fall through as if it was phantom, then it solidifies... |
[17:30] | Sidewinder Linden: | pretty annoying to folks in that environment, and i'd like tohave that out asap, and not push two updates three days apart...does that sound like a reasonable plan? |
[17:30] | Saijanai Kuhn: | kool |
[17:30] | Rocky Merosi: | sounds good to me |
[17:31] | Sidewinder Linden: | iirc the llTargetOmega problems should also mostly be included with that drop, right andrew? |
[17:31] | Andrew Linden: | The main problem is that our QA testers are overloaded and are getting poached by other projects. |
[17:31] | Teravus Ousley: | heh |
[17:31] | Rocky Merosi: | Hire more? :P |
[17:31] | Ordinal Malaprop: | The "flight assist" bugs? |
[17:31] | Andrew Linden: | That is, why it would push it out a few days instead of one. |
[17:31] | Ordinal Malaprop: | Those are the ones that are hitting me most personally. |
[17:31] | Sidewinder Linden: | well there is that... if that looks like it would hold us off a week, thenmaybe we switch strategies and push this update now and the rest for next week, but if it's not a long wait i'd like to combine them |
[17:31] | Simon Linden: | We have open headcount - send in those resumes :) |
[17:32] | Rocky Merosi: | I already did :P |
[17:32] | Rex Cronon: | for qa? |
[17:32] | Ryozu Yamamoto: | pff |
[17:32] | Teravus Ousley: | yeah. had a recruiting party yesterday :D |
[17:32] | Ryozu Yamamoto: | Convince HR to make Kentucky a Tax Nexus |
[17:32] | Ryozu Yamamoto: | ;_; |
[17:32] | Andrew Linden: | Yes well... there are also limitations as to where we can hire people. Things work best if you live near a pre-existing LL office. |
[17:32] | Ryozu Yamamoto: | Heh |
[17:33] | Rocky Merosi: | hmmmm how about an 8 hour drive? or a 3 hour flight? |
[17:33] | Rocky Merosi: | :P |
[17:33] | Sidewinder Linden: | heh |
[17:33] | Ordinal Malaprop: | Anybody with a flight assist seems to drift upwards in any Havok 4 sim |
[17:33] | Creem Pye: | would you fly somebody over for an interview at least? =) |
[17:33] | Ryozu Yamamoto: | Have you guys looked at Set Status rotate issues since last thursday? |
[17:33] | Ordinal Malaprop: | which is critical really. |
[17:33] | Ordinal Malaprop: | Because everybody has one. |
[17:33] | Sidewinder Linden: | umm andrew... am i remembering right that we'll also have a bit of vehicle performance optimization in this build (sorry if you've already covered the updates expected) |
[17:34] | Ordinal Malaprop: | SVC-1195 I think is the open one. |
[17:34] | Simon Linden: | Ordinal - there should be flight assist fixes in the next version we push out |
[17:34] | Andrew Linden: | Yeah, but I mentioned that last time. |
[17:34] | Ordinal Malaprop nods | |
[17:34] | Andrew Linden: | Er... last office hour. |
[17:34] | Simon Linden: | I'll check that task... |
[17:34] | Ordinal Malaprop: | Andrew: it would be useful if we could know precisely what the function that was affected was |
[17:34] | Ordinal Malaprop: | as that would would help with any future bug reports. |
[17:35] | Ryozu Yamamoto: | Ordinal: Is there a particular flight assist you're using? |
[17:35] | Andrew Linden: | No, I don't think we've looked at that llSetStatus(ROTATE*) bug |
[17:35] | Kitto Flora: | Have there been any recent changes that may change the physics sim cpu load? |
[17:35] | Ryozu Yamamoto: | Ouch, debug channel spam |
[17:35] | Ordinal Malaprop: | Ryozu: I haven't tested it exhaustively myself, but it affects Cyberflight and my own assist and apparently others. |
[17:35] | Simon Linden: | Ordinal - SVC-1195 is fixed internally |
[17:35] | Andrew Linden: | Sorry Ordinal, what do you mean by "precisely what the function" was? |
[17:35] | Sidewinder Linden: | /simon - i think we have some internals that dup 1195,right? |
[17:35] | Andrew Linden: | More context please. |
[17:36] | Ordinal Malaprop: | @Andrew I mean "what broke?" |
[17:36] | Arutha Scofield: | it affects the one used by myti tool as well |
[17:36] | Simon Linden: | I fixed that one and used MystiTool as the reference |
[17:36] | Ryozu Yamamoto: | Ordinal: I think it's a slightly complex problem. A matter of changing the flight ceiling to be a steady height instead of ground based |
[17:36] | Arutha Scofield: | :) |
[17:36] | Ryozu Yamamoto: | Dunno though |
[17:36] | Ordinal Malaprop: | It could have been a number of things. |
[17:37] | Simon Linden: | It was a conflict between the assist using llSetBuoyancy() and our code trying to get the AV down to the proper flight level |
[17:37] | Ordinal Malaprop: | Height detection? llApplyImpulse? Change in the way the negative impulses work? |
[17:37] | Gaius Goodliffe: | wait, what? Flight ceiling doesn't vary with ground level? |
[17:37] | Seifert Surface: | related to this damping factor on velocity? |
[17:37] | Ryozu Yamamoto: | Gaius: I could be mistaken, but I think that's part of the plan? |
[17:38] | Ordinal Malaprop: | You know, just saying "this is how this works" would be a little helpful here. |
[17:38] | Ryozu Yamamoto: | As for the Set Status rotate* false issues, I've done some testing with that |
[17:38] | Ordinal Malaprop: | Rather than having to reverse-engineer the whole thing, which I had to do myself. |
[17:38] | Andrew Linden: | Unfortunately the "this is how it works" is kinda complicated. |
[17:38] | Ordinal Malaprop: | I can cope. |
[17:38] | Andrew Linden: | Quite messy, as it turns out. Much of the mess is to maintain legacy motion behavior |
[17:38] | Ryozu Yamamoto: | If I run a script that sets physical, then sets all rotations status to false, while I have the object selected, it breaks and will still rotate |
[17:38] | Ordinal Malaprop: | I'm durable. |
[17:39] | Ryozu Yamamoto: | If I do not have the object selected with edit tools, the function works and rotation is locked |
[17:39] | Ryozu Yamamoto: | If after being locked, I edit the object to change it's position or rotation, it remains locked |
[17:39] | Ryozu Yamamoto: | If I resize it, the lock breaks |
[17:39] | Sidewinder Linden: | hmmm |
[17:39] | Seifert Surface: | i think this is part of the general desire to have certain bits of code documented, or at least released, so that those who want to get into the nitty gritty can do |
[17:40] | Sidewinder Linden: | is that a new bug (ie new jira) or clarification on one of the existing ones, ryozu |
[17:40] | Andrew Linden: | Ok Ryozu those are good hints as to where things are breaking |
[17:40] | Ordinal Malaprop: | I think that this is an excellent opportunity to have things documented really. |
[17:40] | Ordinal Malaprop: | Or at least noted. |
[17:40] | Ordinal Malaprop: | When they are changed. |
[17:40] | Sidewinder Linden: | agreed ordinal - anything like that w/r/t linkage rules is already on the wiki |
[17:40] | Ryozu Yamamoto: | Some observations I made last week that I haven't documented yet, just wanted to throw them out and get ideas on where to refine the search to |
[17:41] | Sidewinder Linden: | if there are particular topics that make sense to update that way, maybe im me and we'll work on putting something together? |
[17:41] | Ordinal Malaprop: | Well, it's hard to say as we don't know what has changed. |
[17:41] | Ordinal Malaprop: | If it's changed, it should be documented. |
[17:41] | Sidewinder Linden: | actually... every deploy lists the specific bugs fixed and changes on the blog... |
[17:41] | Rocky Merosi: | for the rotation one there is http://jira.secondlife.com/browse/SVC-1248 right now. feel free to update it |
[17:42] | Seifert Surface: | if it hasnt changed and someone previously had to trial and error it, it should be documented |
[17:42] | Andrew Linden: | When you change an object's scale we rebuild the RigidBody |
[17:42] | Seifert Surface: | but, sounds reasonable to me sidewinder |
[17:42] | Sidewinder Linden: | how about this for an idea... |
[17:42] | Andrew Linden: | and recompute the mass properties of the objects -- mass, center of mass, and inertia tensor |
[17:42] | Ryozu Yamamoto: | Sounds like that rebuild is skipping the status flags |
[17:42] | Andrew Linden: | the llSetStatus(ROTATE*, FALSE) feature is a HACK on the inverse inertia tensor of the object |
[17:43] | Sidewinder Linden: | what if i create a "known changes"page on the project wiki, so that we can all tag things that need doc, and that way ppl can even tosstogether their own notes when something is figured out? |
[17:43] | Ordinal Malaprop nods | |
[17:43] | Andrew Linden: | so yes, sounds like the RigidBody rebuild is not properly detecting that the inv inertia tensor needs to be hacked |
[17:43] | Sidewinder Linden: | because i'm guessing that you will find someimplications of changes that we didn't see... |
[17:43] | Ordinal Malaprop: | We will :) |
[17:43] | Ryozu Yamamoto: | Sidewinder: I like that idea |
[17:43] | Ordinal Malaprop: | No offence. |
[17:44] | Teravus Ousley: | :D |
[17:44] | Seifert Surface: | oh, i noticed recently, testing energy, that there seems to be a pretty large entirely random factor in there |
[17:44] | Sidewinder Linden: | no offense taken... it's the way things work :) |
[17:44] | Seifert Surface: | is that the case or? |
[17:45] | Ordinal Malaprop: | Energy to be honest is one of those things that could _really_ do with some documentation. |
[17:45] | Seifert Surface: | give an identical push repeatedly, and the energy expended goes down by some amount |
[17:45] | Seifert Surface: | which can fluctuate 10% easily |
[17:46] | Teravus Ousley: | parhaps it fluctuates based on physpfs? |
[17:46] | Seifert Surface: | i guess thats possible |
[17:46] | Creem Pye: | also push is scaled with distance^-3 |
[17:46] | Andrew Linden: | Seifert, which push call are you using exactly:? |
[17:46] | Seifert Surface: | llpushobject |
[17:46] | Ryozu Yamamoto: | Seifert: Could there be an issue of the energy being replenished in time slices shorter than you can detect? Fall on one side of the time slice and get a different reading than on the other? |
[17:46] | Ordinal Malaprop: | Does nobody _know_? |
[17:46] | Andrew Linden: | And is it an attachment pushing the avatar? |
[17:46] | Seifert Surface: | i measure energy before and after |
[17:46] | Seifert Surface: | before its 1 |
[17:46] | Teravus Ousley: | energy stipends are time based.. is it not? |
[17:47] | Andrew Linden: | Or an object pushing another? |
[17:47] | Seifert Surface: | after its, around .6 |
[17:47] | Seifert Surface: | im standing inside a phantom prim |
[17:47] | Seifert Surface: | getting it to push me |
[17:47] | Seifert Surface: | down onto the ground, so i dont actually move |
[17:47] | Seifert Surface: | although that was just for being able to test quickly |
[17:48] | Ryozu Yamamoto: | Might want to wear something that lets you know if you moved, just to make sure you're really not moving |
[17:48] | Rex Cronon: | btw, how come a phatom object can push, it should have no mass, and if has no mass, it shouldn't have any energy |
[17:48] | Andrew Linden: | Phantom objects have mass... but do not collide |
[17:48] | Ryozu Yamamoto: | Rex: Phantom and mass aren't connected |
[17:48] | Seifert Surface: | its not dynamic either |
[17:49] | Andrew Linden: | Seifert, the llPushObject() pseudo code is published on the wiki. Have you seen it? |
[17:49] | Andrew Linden: | This is the pseudo code you were asking for. |
[17:49] | Seifert Surface: | im not sure i have... |
[17:49] | Andrew Linden: | Well, actually is is a bit more than pseudo. |
[17:49] | Andrew Linden: | It is cleaned up C++ code |
[17:49] | Seifert Surface: | ill go check it out |
[17:50] | Andrew Linden: | I think there is a link on my wiki page: http://wiki.secondlife.com/wiki/User:Andrew_Linden |
[17:50] | Seifert Surface: | thanks |
[17:50] | Sidewinder Linden: | /i think we may have an answer to the updates page... on the project wiki page https://wiki.secondlife.com/wiki/Havok_4_Beta_Home there is already a section titled " New experiences that are normal"... with a few sections describing changes... how about we just collectively add to this page, and organize the results into some more compact form once we're ready for the real release? |
[17:50] | Seifert Surface: | aha awesome |
[17:50] | Andrew Linden: | Seifert, the strenght of the push is modulated by the "energy" .... if the push would require more energy than is available |
[17:51] | 2696625b-b695-2f6b-e5fd-31b732b4561a: Hello, Avatar! | |
[17:51] | Andrew Linden: | so... if you're making small regular pushes with a very large object then you should get uniform pushes |
[17:51] | Seifert Surface: | right, i dont think that was it |
[17:51] | Andrew Linden: | well... not quite... |
[17:51] | Seifert Surface: | it was 1 before, .6ish afterwards |
[17:51] | Seifert Surface: | many times, but not consistently |
[17:52] | Andrew Linden: | the energy regeneration is uniform (does not depend on the object size) but its energy tank does scale with mass (up to some max) |
[17:52] | Seifert Surface: | right, i scaled some things up to get a better tank :) |
[17:52] | Andrew Linden: | The cost of the push depends greatly on the distance between the center of the pusher and that of the pushee |
[17:53] | Ordinal Malaprop: | How? |
[17:53] | Ordinal Malaprop: | Inverse cube? |
[17:53] | Rex Cronon: | lets say we have 253 megaprims linked toghether. than that objects energy should be quite big? |
[17:53] | Creem Pye: | how close is the Havok4 mass of an object to the value returned by llGetMass()? |
[17:53] | Creem Pye: | yeah inverse cube |
[17:53] | Teravus Ousley: | lol |
[17:53] | Ordinal Malaprop: | Ssh, I'm asking Andrew :) |
[17:53] | Andrew Linden: | Unfortunately the cost as a function of distance is very flawed, but cannot be changed now that it has been in use for so long |
[17:53] | Andrew Linden: | it is NOT inverse cube |
[17:53] | Andrew Linden: | it has an additive term that scales with the cube |
[17:54] | Andrew Linden: | which is different, and very wrong |
[17:54] | Andrew Linden: | but as I said... it cannot be changed now |
[17:54] | Andrew Linden: | (and I didn't write the original formula) |
[17:54] | Ordinal Malaprop: | Well, nobody knows what the original formula was |
[17:54] | Seifert Surface: | unless you change in some way that is uniformly more relaxed than the previous presumably |
[17:54] | Ordinal Malaprop: | and nobody knows what it is now |
[17:54] | Gaius Goodliffe: | It would be nice if future scripts could flag they want "correct" behaviour rather than "backwards-compatible" behavior. |
[17:55] | Teravus Ousley laughed at the combined energy of 254 megaprim | |
[17:55] | Andrew Linden: | the formula is in the "pseudo code" in the wiki |
[17:55] | Ordinal Malaprop: | The one that nobody knows? |
[17:55] | Rex Cronon: | that is the max link nr u can have:) |
[17:56] | Ordinal Malaprop: | Existing scripts are based on interpreted behaviour. |
[17:56] | Rocky Merosi: | crud Igotta go. work calls. Thanks everyone |
[17:56] | Andrew Linden: | the llPushObject() pseudo code is here: http://wiki.secondlife.com/wiki/LlPushObject/Havok4Implementation |
[17:56] | Rex Cronon: | bye rocky |
[17:56] | Ordinal Malaprop: | Cheerio! |
[17:57] | Andrew Linden: | The office hour is almost up. Any other topics? |
[17:57] | Kitto Flora: | Have there been any recent changes that may change the physics sim cpu load? |
[17:58] | Andrew Linden: | Kitto, only the ones I mentioned in the last hour... a 2x performance boost in some vehicle cases |
[17:58] | Andrew Linden: | however, you report a 4x loss... so it is not yet all recovered |
[17:58] | Seifert Surface: | ah ok, i can see how the energy might not always be the same from this |
[17:59] | Kitto Flora: | OK. I was rising engine+ 2 cars in Wish a day or so back. |
[17:59] | Kitto Flora: | Thats better than it was... may be why |
[17:59] | Rex Cronon: | what is the value for max_push_impulse_length |
[17:59] | Rex Cronon: | ? |
[18:00] | Andrew Linden: | Rex, that is a good question. I'll try to update that code to clear that p. |
[18:01] | Andrew Linden: | up. |
[18:01] | Rex Cronon: | is it max int or max double(hopefully):) |
[18:01] | Teravus Ousley: | :D |
[18:01] | Andrew Linden: | Hehe, definitely not. |
[18:01] | Rex Cronon: | ok that might be too much:) |
[18:01] | Gaius Goodliffe: | double? in SL? :p |
[18:01] | Andrew Linden: | I'll make it 1.0, how's that? |
[18:02] | Rex Cronon: | i mean float |
[18:02] | Gaius Goodliffe: | 32 bits ought to be enough for everyone. ;) |
[18:03] | Andrew Linden: | I've got someone IMing me claiming he's getting wrong inertia tensors for some objects. |
[18:03] | Andrew Linden: | Good to know we have intrepid residents who will compute the theoretical inertia tensors. |
[18:03] | Ryozu Yamamoto chuckles | |
[18:04] | Andrew Linden: | Ok, well if there are no more questions I guess we'll end the hour. |
[18:04] | Teravus Ousley: | :D Thanks for having us |
[18:04] | Gaius Goodliffe: | Thank you gentlemen. |
[18:04] | Seifert Surface: | thanks |
[18:04] | Kitto Flora: | Ty Andrew, Sidewinder, Simon... |
[18:04] | Andrew Linden: | Thank you for coming. These hours are usually fun. |
[18:05] | Arawn Spitteler makes a polite noise, to show up on the transcript: So the rezer problem, that's been fixed as a return problem, will be fixed in the Monday release? | |
[18:05] | Seifert Surface votes for a llpushobjectcorrec t | |
[18:05] | Creem Pye: | thanks for your time; if you have any questions about my vehicle problem, feel free to ask anytime =P |
[18:05] | Sidewinder Linden: | thanks... hope to have a new release in the air soon. |
[18:05] | Teravus Ousley: | lol |
[18:05] | Simon Linden: | Arawan - you mean stuff getting returned to you that shouldn't? |
[18:05] | Andrew Linden: | Seifert. Write the pseudo code and submit it ;-) |
[18:06] | Teravus Ousley: | :D |
[18:06] | Seifert Surface: | ill take that as a challenge |
[18:06] | Arawn Spitteler: | It's getting returned to someone else |
[18:06] | Ryozu Yamamoto: | O_o |
[18:06] | Arawn Spitteler: | And messed up her housewarming |
[18:06] | Ryozu Yamamoto: | No why would my big box be using 1.0 energy to push the little box at a force of <1.0, 0.0, 0.0>? |
[18:06] | Andrew Linden: | I'll certainly look it over. Try to avoid unbounded grief modes. |
[18:07] | Rex Cronon: | The permission / owner bug on Havok 4 seems to STILL be unfixed. We just had an object change owner without it being for sale... |
[18:07] | Rex Cronon: | alsmost forgot about that |
[18:07] | Simon Linden: | I'm not sure about that one - we found a bug in the last version when we pushed some Havok4 sims out to the production grid that were returning a bunch of objects when the sim re-booted. That's been fixed |
[18:07] | Sidewinder Linden: | rex - is that one narrowed down to a case that we can reproduce? |
[18:07] | Teravus Ousley: | :D |
[18:07] | Andrew Linden: | I'm unfamiliar with that particular perms/ownership bug. |
[18:07] | Rex Cronon: | Squirrel Wood knows more about it |
[18:07] | Andrew Linden: | Oh that one. |
[18:08] | Andrew Linden: | Someone closed it for "working as intended". |
[18:08] | 2696625b-b695-2f6b-e5fd-31b732b4561a: Hello, Avatar! | |
[18:08] | Rex Cronon: | from him i heard that |
[18:08] | Andrew Linden: | The rumor was that the "share with group" bit was set. |
[18:09] | Rex Cronon: | have a nice weekend everybody |
[18:09] | Teravus Ousley: | Take care Rex |
[18:09] | Simon Linden: | bye everyone! |
[18:09] | Teravus Ousley: | you too sir |
[18:09] | Sidewinder Linden: | ok you too... talk to you soon,and thanks again for all the help |
[18:09] | Rex Cronon: | bye |
[18:09] | Yuu Nakamichi: | thank you.. |
[18:09] | Ryozu Yamamoto: | I'm so confused |
[18:09] | Teravus Ousley: | Take care, Sidewinder, andrew |