Jump to content

Nikkesa

Resident
  • Posts

    56
  • Joined

  • Last visited

Everything posted by Nikkesa

  1. The problem, my dude, is that optimization for RDR2 is ridiculously easy in a static world, with everything being instanced and handled by advanced shaders that are perfectly optimized. In Second Life, textures aren't shared, maps are complex, and almost none of the mesh is optimized. All of the avatars have ridiculous polygon counts with large non-customizable skeletons underneath, and worlds are built out of objects not even remotely optimized either in the texture sense, poly-count, or anything like that. It's what comes with the freedom of being able to make a game like Second Life what it is. That being said, more work could definitely go into making tools to run things smoother. That's nice. The whole concept of artificially based restraints for the sake of "land sales"... Why don't they just turn SL into IMVU, if they're going to halt all progress? Or just accept that the game will eventually be even less than just mostly dead content that it is right now.
  2. Perhaps the usual LSL scripts could simply function on a small space of 256x256 within the big sim, and a new set of functions could be used to interact with the larger sims. Optionally, It's very feasible to just make vehicles not be part of your av or be connected to you, and just remote-control them on a smaller scale. Things could probably get messy with minimum draw distance but yeah... But anyways, I'm still hoping then, once they move everything to AWS, they'll be able to expand SL greatly in terms of features and making things a bit more modern-game-friendly. Maybe a few other cool things would be a _real_ HTML-based-or-something GUI system that doesn't use prims, but would instead be a locally-run 2D interface. (Ha, maybe general HTML5 support in-client for building stuff on top?) This game definitely needs a revamped item system as well, with thumbnails, item browser, stuff like that. I'm aware you can build that out using the outfit dialog but it's not the best.... Optionally, maybe a more local avatar-builder that lets you construct your avatar without sim-lag. Mesh modification, in-client 3D modelling, in-client 3D painting (see something like quixel? Maybe a little more basic though?). In-client sculpting, rigging, etc... People have created plugins like this solo and open-sourced for game engines like unity, I don't see why SL couldn't have things like that, which don't _really_ require a ton of extra architecture on the backend, just frontend tools and the ability to upload after or something. They did some stuff like this in sansar, and they even set up MD support with in-client clothing editting and physics, and _that_ was freakin' genius. I'm really disappointed that they sandbagged so hard on the frontend of sansar, and the new-user experience. "You can be spock, or you can be a weird-looking angel thing, and we built this for VR, btw" isn't a really good way to say "hey, we did SL 2.0 but like with the worst features of VRchat and SL put together"
  3. Moving SL to the cloud? Is it not already all in servers, or are they talking about moving it to something like stadia?
  4. Yo, Is there any news on upcoming features/updates? I'm personally really looking forward to seeing something like an update to the animation system (IK animations maybe?) Or something to do with larger sims or faster scripts or something. I'm really hoping to see synced animations at some point, maybe also whatever black dragon viewer is doing with the pose system integrated in other viewers...
  5. definitely the board cancelling features because it will overall make them less money. We could have land the size of multiple sims for things like vehicle play, but we can't because they think they'll lose money. (scale of land in sl has zero performance impact on server...) just in general, the lack of features and did coming out for this game. they could do a lot to make it fun for new users, but for some reason they don't want to ):
  6. I really wish the sims were better at that then. I like to hangout and build at sandboxes, (mainly the SL Beta sandboxes like bluesteel and letigre), and we regularily get people spawning objects that duplicate thousands of scripts, and the sim performance is systematically destroyed. It would be nice if there was some kind of limit to how many scripts can be run by one person, or how much sim "performance" that they can hog all to themselves...
  7. Say I wanted an animal avatar, or an avatar body type that doesn't strictly adhere to the limited default avatar shapes, Am I able to upload a rigged mesh avatar now without having to worry about using some bug to do stuff the way creators are already doing for the most popular custom mesh avatars on the marketplace? It would be super useful to give my users more freedom of design with the avatar as well. Being able to start at a baseline 50% on all sliders seems like a fairly reasonable thing for a custom-shaped avatar. thanks
  8. I know that back in 2011, the devs were exploring the idea of a feature to let people "live-stream" animations to their avatars. This was the Puppeteer project. Now that we have things like Leapmotion, working VR rigs that let you walk around, and suits that let you puppet animations live into games like Xsens (check out their unreal engine demo), I think it would be a good idea to look at implementing this again. I also understand that they are currently focusing on letting users animate mesh objects as their next "big feature" (probably a heck of a lot more efficient than how people duplicate their mesh 100 times in different animation frames and cycle through them), but it would be good to see the puppeteer project come back in the near future.
  9. Ah, I was thinking more of the only allowing content to be provided from "approved professionals"...
  10. Oh god if they do nothing but try to clone IMVU and add some vehicle fun then I'm going to laugh and never even look at it. With instanced worlds though, I'd be surprised if they didn't let people create their own stuff. With more freedom on creating things, I wouldn't be surprised if a whole lot of hobby-developers would be motivated to create cool things (so long as there's lots of freedom... But yeah, seriously if what I'm reading here is true and they are just aiming to re-create IMVU with the oculus rift and some physics, then they are wasting so much potential it's not even funny. It's too bad the people paying for all of this see something like IMVU and decide that it's the best way to make money This game is going to get destroyed by businessmen.
  11. eh, that's basically all I've done on it since like almost two years ago... It's basically all you need too... I wont be working further with this though, sorry :c
  12. it's a mix of things: The bunny puzzle viss bunny avatar mesh ahir for said avatar ears and horns I've seen on the marketplace The clothes are on the marketplace for the bunny puzzle avatar The tail is on the marketplace as well. It's called a mod. People put a lot of work into these things, and no one is going to do it for you for free ^^
  13. I think that Second Life needs to be smoothed out. It currently feels rather clunky and there's not a lot to do once the novelty of being able to do whatever you want wears off. Sure there are like groups you can join - you can do roleplay, collect things, create fashion and stuff, but it could potentially be so much more if linden labs wanted to lose some money and make it easier to create in-game content. I'm not talking about upload-fees, but if they added an in-game 3D model editor (not just a thing where you can puzzle together prims to make cool shapes), in-game texturing ability (I'm thinking like zbrush here), and more dynamic sims (perhaps the ability to make sims MUCH larger? It would certainly make vehicles worth-while again. Sim crossing right now is still atrocious, and there's so many limits to what you can do with avatar animations, vehicle animations, and physics. Perhaps adding the ability for client-side scripts, animations and physics would fix this
  14. Alright, so basically I WOULD have to do it manually, the lindens never bothered to think that maybe we would want our ground vehicles banking or something Aw well, manually isn't much of a problem. I'm not using the vehicle library for this now, as it was the only thing holding my back \0/ Thanks
  15. ah, sorry; What I want to do is change it so that instead of aligning the vehicles z-axis with the worlds z-axis, I want to be able to align the vehicles z-axis with any vector that I chose. Wondering if this is possible, or if I have to skip the vehicle library all together and make my own version of this...
  16. Well, so far as I know, one can only make a vehicles vertical attraction timescale attractive towards the worlds z-axis... Does anyone know how this can be done on a different axis?
  17. So, this script is the base proof-of-concept for a linkset-based animation system. It precaches rotations and positions of a linkset, (the only limit being memory)... An idea is to have it print off the calculations for the user to save into a text-file, or to send to a server which generates a notecard or something for you to drag into a script... The object could have multiple scripts to load different sections of the animation, but it would be more work, and I'm more about the how than the do anyways... This script is mainly written for a tail, so if you already have a tail segment done, play around with it and you'll have something smooth and animated you can wear ^_^ You are free to do whatever you want with this script; sell it, mod it, use it anything. integer timer_on = 0; list newPositions; //the list of positions to apply to the segments list newRotations; //the list of rotations to apply to the segments float curve_location_x = 360; //the position we are on the curve... float distance_between_segments = 0.1; //the distance between each segment vector segment_size = <0.01,0.1,0.1>; //let's start setting this **bleep**... //Note: may want to incorporate support for different types of segments, such as if we had 3 different cones per segment... integer number_of_segments; list command_list; integer i; float counter = 0; //setup vector position_offset; //part 1 float myAngle1; //the new angle thingy... used later //part 3 rotation rotation_between; //the rotation between two segments... vector childPos1; vector childPos2; vector newValue; //////////////////////////// list position_cache; list rotation_cache; integer toggle_building_setting = 0; /////////////////////////// vector childPos(integer segment_id){ return llList2Vector( llGetLinkPrimitiveParams(segment_id, [PRIM_POSITION] ), 0 ); } rotation childRot(integer segment_id){ return llList2Rot(llGetLinkPrimitiveParams(segment_id, [PRIM_ROT_LOCAL]), 0); } vector childPosLocal(integer segment_id){ return llList2Vector(llGetLinkPrimitiveParams(segment_id,[PRIM_POSITION]), 0) - llGetPos(); } vector buildPositionOffset(rotation rotation_amount, vector current_position, vector axis_position, rotation base_rotation){ //builds the position offset relative to the rotation_amount relative to the base_rotation (which should be the root prims rotation) return ((axis_position - current_position) - ((axis_position - current_position) * rotation_amount)) * base_rotation; //this will return the amount we have to move :D } list fix_position_offsets(list myList, float limit_distance){ //in here we want to basically scale the distance between segments so that it's always the same... list newList = myList; integer j=1; vector segmentPos1; vector segmentPos2; vector vector_between; float distance_between; for (;j < llGetListLength(myList);j++){ segmentPos2 = llList2Vector(newList, j); segmentPos1 = llList2Vector(newList, j-1); vector_between = segmentPos2 - segmentPos1; distance_between = llVecMag(vector_between); //get the distance between the segments... if (distance_between != limit_distance) { //here we scale the distance between the segments vector_between = vector_between * (limit_distance / distance_between); //I suspect this is where the math error is coming from. //and apply it to the list. newList = llListReplaceList(newList, [segmentPos1 + vector_between], j, j); } } return newList; } //for a rotation: //[((childPos(segment_id) - llGetPos()) / llGetLocalRot()) + (buildPositionOffset(llEuler2Rot(llRot2Euler(rotation_amount)*segment_id/10), childPos(segment_id), llGetPos() ) * childRot(segment_id))]; //offset_rotaton = llAtan2(llSin(new_curve_mod), new_curve_mod) integer sign(float input){ if (input > 0) return 1; if (input < 0) return -1; return 0; } /* OKAY, NEW PLAN -------------- We are going to pre-cache all of the positions and rotations for the animation sequence, and apply them over the animation sequence! so yeah, whatever. */ default { state_entry() { integer i = 2; for (;i<=llGetNumberOfPrims();i++){ llSetLinkPrimitiveParamsFast(i,[PRIM_POS_LOCAL,<(float)(i-1) * distance_between_segments,0.0,0.0>,PRIM_ROT_LOCAL,ZERO_ROTATION, PRIM_SIZE, segment_size * i/(i+1)]); } number_of_segments = llGetNumberOfPrims() - 1; //we want to ignore any avatars,especially in case of attachment and such... if (number_of_segments > 1){ while (llGetAgentSize(llGetLinkKey(number_of_segments))){ --number_of_segments; } } } touch_start(integer total_number) { if (llDetectedKey(0) == llGetOwner()){ if (timer_on == 0){ timer_on = 1; llSetTimerEvent(0.04); } else { timer_on = 0; llSetTimerEvent(0.0); llResetScript(); } } // let us start the building of the cache. } timer(){ i = 0; counter++; if (toggle_building_setting == 0) { curve_location_x = curve_location_x - 12; if (curve_location_x <= -1) { curve_location_x = 360; llOwnerSay("Done Caching... " + (string)counter); counter = 0; toggle_building_setting = 1; } command_list = []; newPositions = []; newRotations = []; for (;i < number_of_segments;i++){ //part 1 - set up the new positions for each segment. //use i+2 myAngle1 = llSin(( (float)(i+2) * (PI/2 / number_of_segments) )+( curve_location_x*TWO_PI/360 )) * 0.5; newValue = (llGetPos() - childPos(i+2)); //llOwnerSay((string)myAngle1); //newPositions += [<(float)(i+2)/(1 / distance_between_segments*0.9),0.0,0.0> + <0.0,llVecMag(newValue) * llSin(myAngle1),0.0>]; newPositions += [<(float)(i+2)/(1 / distance_between_segments),0.0,0.0> + ((newValue) - (newValue * llEuler2Rot( <0.0,0.0,myAngle1> ))) + <0.0,0.0,(llCos((TWO_PI * 3/4) * ((float)1 / (float)26) * (float)i) - 1)/2>]; //newPositions += [<(float)(i+2)/(distance_between_segments),0.0,0.0> + buildPositionOffset(llEuler2Rot( <0.0,myAngle1,myAngle1> ),childPos(i+2), llGetPos(),llGetRot())]; //newPositions += [<(1/distance_between_segments)*(curve_location_x/360)*i,0.0,0.0>]; //part 3 - set the rotations of the tail segments /* */ //part 4 - build the command list for our setlinkprimparamsfast function // } newPositions = fix_position_offsets(newPositions, distance_between_segments); i = 0; for (;i<number_of_segments;i++){ command_list += [PRIM_POS_LOCAL,llList2Vector(newPositions,i),PRIM_LINK_TARGET, i + 3]; command_list += [PRIM_ROT_LOCAL,llList2Rot(newRotations,i),PRIM_LINK_TARGET, i + 3]; } position_cache += newPositions; //rotation_cache += newRotations; //apply the new positions llSetLinkPrimitiveParamsFast(2, command_list); i = 0; for (;i<number_of_segments;i++){ //newValue = (llGetPos() - childPos(i+2)); childPos2 = childPos(i+2); childPos1 = childPos(i+1); // get the rotation between the segments... rotation_between = llRotBetween(<llVecMag(childPos2 - childPos1),0.0,0.0>, childPos2 - childPos1); newRotations += [rotation_between]; } rotation_cache += newRotations; } else { if (counter == 30){ counter = 0; } i = 0; command_list = []; for (;i<number_of_segments;i++){ command_list += [PRIM_POS_LOCAL,llList2Vector(position_cache,(integer)counter * 26 + i), PRIM_ROT_LOCAL,llList2Rot(rotation_cache,(integer)counter * 26 + i),PRIM_LINK_TARGET, i + 3]; } llSetLinkPrimitiveParamsFast(2, command_list); } } }
  18. >if he is trying to animate the legs on an avatar, of course animations would be preferrable...
  19. This depends on the legs you want, and what kind of animal you're creating. If you want a little buddy dog thing, it's easy to do. Rotating attachments smoothly is extremely nowadays, now that you can basically move and rotate every single attachment all at once instantaneously. if you want to move a dogs leg, simple rotate the prim or whatever it is you want to do to move it. There are systems where you can set up keyframes and move smothly between those keyframes - I did that with a multi-segmented tail. If it's not an attachment, you could actually USE the keyframe motion library that second life has built-in...
  20. You can copybot sculpts. I've walked down an open sandbox before with my board. There was a guy there, 2 days old. he did something odd and suddenly all of the prims on my av were basically copied nearby, as WELL as my freaking hoverboard >_> This included all of the sculpts in my hair. He disappeared after that I reported it and hope it did something horrible to this jerk face.
  21. BusinessManx wrote: Yes, it wouldnt be a good....what if i was actually selling seperate wheels ? i provide 24 wheels with the product which is why i listed keywords as "wheels". Not in any way describing the ones that are actually fited to the shell. I think that case using "wheels" for keyword would be approporiate, since iam describing other wheels that ar enot fitted with the model. BusinessManX is completely right about having wheel as a keyword, expecially if there are extra wheels. Someone will probably be looking up something to do with changeable wheels on the MP, I garuntee you now, a word like 100% is kind of ridiculous...
  22. Well, I don't like the idea. Bad reviews means less people buying your stuff O_o I once posted a bad review on an items that was kind of half-done and not nearly worth what I paid for it. The person offered a refund if I deleted the review. I was very surprised. It has never occured to me that people actually do this on purpose...
  23. You should know that listeners cause a lot of lag on a sim. You should only ever have at most one listener running in an object. This is all you need. Any communication within a linkset can be done faster and more reliably with llMessageLinked. If you want to target a specific object, then you should have a prefix to whatever you're typing in chat to point at the object and then parse that...
  24. of course it is possible. You can play sounds in different orders, or like in a gesture... Usually a walker has one sound because it flows nice with people who don't walk for 2 minutes straight for a whole song You could randomly select a song to be played every time you start walking as well...
  25. Well, what you could do is have the bracelet be modelled in mesh, or something, and already have all of the possible charms on it, set them to be transparent, and when you want to add a charm, make it non-transparent... set it up so that only one charm can be made transparent or non-transparent at a time~ Resizing this would be easy, and resizing multi-primmed linksets does not, as some are lead to believe, require more than one script...
×
×
  • Create New...