Jump to content

Wulfie Reanimator

Resident
  • Posts

    5,753
  • Joined

Everything posted by Wulfie Reanimator

  1. This topic comes up fairly often in many areas of the forum. Could we gather some examples of the difference between the initial "high poly" mesh and its optimized highest-LOD model for SL, to showcase just how much mesh you can shave off with barely noticeable degradation in visual quality? For example, I just recently made something majorly based on BlackyJunkGallery's art, using nothing but cubes and the Subdivide Surface modifier at 3 subdivisions. Can you guess which one is the original high-poly one? Probably, if you're looking at the magazine slot. Here's the wireframe. The original model has about 17400 triangles, the optimized one has only 1600 triangles. But of course, leaning in with a magnifying glass makes the difference very obvious, but this model is still missing textures which could easily hide slight angles and in regular SL-use you'll rarely be close enough for it to bother you. I may also have been a little liberal with removing the loops as well, as the cartoony style benefits slightly from the angles. And there's not much more to it than applying the subsurf modifier and going to town. Personally, I check each loop I'm about to get rid of by double-tapping G (Grab) so I can move it along the surface. This shows me if there's going to be visible deformation to the shape and to what degree. If the loop gets to stay, I just cancel the move. If I'm getting rid of it, I move it all the way to one end and "remove doubles" which merges the loops without breaking anything. (Example workflow on a video)
  2. You mean this? This is a licensing disclaimer, not a warning to ever dare to copypaste something from the wiki to a forum, lol. Basically translates to "don't use this for your own purposes."
  3. Here's a fairly simple solution to "only update the turret's rotation if the driver's mouselook is within a certain field of view." It is basically a cone-shaped restriction. (This can be put into a timer event.) float fov = 45 * DEG_TO_RAD; rotation tank_rotation = llGetRot(); rotation cam_world_rotation = llGetCameraRot() / tank_rotation / tank_rotation; if(llAngleBetween(tank_rotation, llGetCameraRot()) < fov) { llSetLinkPrimitiveParamsFast(2, [PRIM_ROTATION, cam_world_rotation]); }
  4. Maybe @Linden Lab should pop in to clarify so we don't have to guess anything.
  5. It probably won't have any effect beyond the benefit of just relogging. Object contents are not cached. This sounds like a connection problem, low bandwidth, or laggy (network) sim. Does this happen on all sims?
  6. You linked it. "As a requirement to ensure that we are adhering to respective state laws for reporting taxes, some of you may be receiving a 1099-K form if you have reached a certain Linden $ sale transaction volume." This is not talking about receiving lindens.
  7. This is for L$ sales, not sales in L$. If you sell stuff on SL for lindens, that's not what's getting reported. If you sell lindens on Linden Exchange for US$, that's being reported as income. The reason why there was no advance notice seems to be because this requirement is very recent, but I can't confirm. Reporting your personal income is far from a scam as well. Not doing that would be the real scam.
  8. I'm not, though! I've mentioned it a couple times in some threads, I just don't get insecure about people not knowing. 😂 Besides restrictions like "no numbers or special characters, both names capitalized and only the first letter," I don't think there's a practical way to have an "authentication process" as you'd put too much of a wall between the platform and new users. (Especially if you're thinking manual review.)
  9. Don't take the example too literally. Business names don't have to have those suffixes appended, they just can't be vague named that could be mistaken for regular last names. "Gucci" could be a valid last name because it is a known brand. (I don't know why that's the first example I can think of.) That said, as much as I would like to be able to choose my own custom first/last name, I think we would end up with mostly poor name choices that don't really represent names. We would instead have a very similar problem to only telling the user to come up with a username, compared to a first/last name combo, which causes more people to use less "name-like" aliases.
  10. The problem with "myRot.x" is that rotations ("quaternions") have 4 components, <x y z w>, and changing just one of those isn't going to do what you expect. As long as you convert your rotation to a regular vector first (llRot2Euler), you'll be able to do it just like you were trying to. (Just remember to convert back with llEuler2Rot.) Side-note: "180 * DEG_TO_RAD" is the same as PI.
  11. There's no way to get a refund for things you've bought on the Marketplace, besides asking the seller. You can leave a poor review on the product page, or you can flag the product as "Item not as advertised," but if the page only says "halo" with no promised features, nothing's going to happen.
  12. Assuming that these "prims" are cubes... (They don't have to be.) A cube has 8 corners, but let's focus on just one first. The one with relative position <1,1,1> from the center. vector corner = <1,1,1>; corner = <1,1,1> * llEuler2Rot(<0,-45,-45> * DEG_TO_RAD); // Or more simply corner *= llGetRot(); That's how you calculate the new position of the corner in any rotation (<0,-45,-45> in this case). (You'll need a list of corners and do the same for each one.) Then, when you want to know which corner is the furthest away from the center, you go through the list of corner positions and check the absolute value of the axis you want, and always store the highest value and possibly record which corner it was. Easy peasy.
  13. Seems super simple, you can send me an IM inworld. I'll be online within 30 mins.
  14. "-4 + rand" is mathematically equivalent to "4 - rand" Where did you get 4 - 0 = -4?
  15. Those numbers are completely normal, but either intentionally obscured or the writer thought that this was more "efficient." The number are just the LSL particle constants converted to their actual values. The first four numbers correspond to: PSYS_PART_FLAGS, PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK, PSYS_PART_START_COLOR, <1.00,1.00,1.00 > More on the wiki, constants and values shown on a table: http://wiki.secondlife.com/wiki/LlParticleSystem
  16. It can take over a week to get a response to support tickets. Billing support phone numbers are here: https://lindenlab.freshdesk.com/support/solutions/articles/31000131008-billing-support
  17. The fact that you can set a range and (you didn't specify) it can't be set to a very long range makes it very likely that it is a simple(r) sensor, and sensors have a pretty small range of 96 meters by design. It's obviously a guess, but... As for the alternative, scripts have a function called llGetAgentList, which gets a list of every avatar on the sim or parcel. It's not limited by distance at all, though you could add a distance-check after it.
  18. Get a better orb. The one you have is sensor-based and limited to 96 meters. Creating one that can cover the whole parcel from ground to space is very simple and should be free.
  19. My interpretation is that "online status" is public information, so having scripts report it to you is not breaking any TOS. I don't think it qualifies as "data or information about other users." As for the first bit, the way it's written kind of makes it sound like everything there only applies to minors. (disregard common sense) You'd have to prove intent anyway, having an online status checker can be used or abused, like you said, but you're not going to get in trouble if your intentions are clearly not bad. If you're not doing anything that bothers the other user and remove the tracker if asked, I think you'll be safe.
  20. Or maybe the "so they don't break it" is a valid reason here (could be both). It's free and it's for newbies who aren't familiar with editing objects or making backups.
  21. When you KNOW the order of your data and can guarantee that the "three strides" are never broken, there is no real benefit between a list and JSON. If you think you're going to move to a webserver, JSON might be better as transferring the data becomes subjectively simpler. Though, in LSL the body of a HTTP request only contains the first 2048 bytes, which could be an issue for long notes. This loosely relates to list vs JSON because if a JSON gets truncated, it's invalid entirely.
×
×
  • Create New...