Jump to content

Reiramon

Resident
  • Posts

    44
  • Joined

  • Last visited

Reputation

3 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. So I had an animation made in blender 2.93 with Avastar. Tweaking it for the past week or so. Left sided with keyframes on the bones I needed and it was the final version I wanted to use. I wanted to mirror it but decided to save and continue the other day. Faked user it in blender to be sure. Today I opened blender but some of the keyframes on some bones are completely gone. I tried searching why ...but none of the solutions worked. The bones affected dont have any keyframes anymore. Tried appending from old files (worked in the past) but no matter which animation I append the keyframes are not there. I tried recreating the animation but it simply is not the same. Is there any way to open the final .anim file I have of the left side and somehow rename the left sided bones to the right sided bones? Blender doesnt have an option to import .anim files. Thank you.
  2. I am trying to upload something but noticed a difference in vertice count shown in Blender vs in the SL upload window. Blender says I have 378 verts and 548 triangles, but SL uploader says I have 830 vertices and 548 triangles. Why is there such a big difference in vertices? Nowhere in Blender I can see 830 verts even when I manually triangulate my mesh. 830 is more than double than 378. The triangle count is correct, where is the uploader getting the 830 vertice count? I dont have any overlapping vertices. Thanks! Edit: Only LOD0 vert count matches what I see in Blender vs uploader. Lod3, 2 and 1 show more verts in uploader.
  3. Creating a triangle and making the LODs be same dimensions as High did indeed work to prevent the stretch. Thanks!
  4. I have a bit if an issue with a mesh split in half uploaded as 1 (linkset) The LOD 3 (high detail) is flat on the ground 8x4m. It has an outer rim which makes it high 0.4m in total in Z axis. Then LOD 2 is without the outer rim and its in total 0.3m on Z axis. When I move my camera so that the LOD2 kicks in and the camera is in about 30 degree angle I can see the faces on the further half of the mesh move upwards creating a seam in between the two objects. When I move my camera further the seam disappears (because the close half moves upwards as well). I know the 0.1 difference because of llGetBoundingBox script when I uploaded LOD 3 and LOD2 separately. LOD 3 is 0.4m, LOD 2 is 0.3m. X,Y are the same. When I upload the LODs separetely there is no seam no matter how I move my camera. I tried applying transforms, moving origins on all LODs exactly to 0,0,0, setting origins to geometry .. Is there any way to fix this? I am almost certain the faces move exactly by the difference of height between LOD3 and LOD2. Theres no issue between LOD2 and LOD1. Thank you!
  5. Your accounts age and the reply to Tonk Tomcats suggestion raises a few red flags about this all, but who am I to judge. *goes back to hide under a rock*
  6. I tried the demo of the 2nd one but it's not exactly what I was looking for. I wanted to link 1 eyes I found on MP as to what I'm approximately looking for, but couldn't find it anymore and I deleted the demo long ago so can't remember the name either. They looked like robot eyes but I'm looking for more human eyes. But thanks for the suggestion Rowan.
  7. Anyone know any good modifiable mesh eyes that would fit catwa head? I am thinking about eyes that are customisable with HUD to get a fantasy look. Modifiable means able to modify the various parts of the eyes. I think I saw some on forums a while back but forgot to bookmark it and MP search gives me normal eyes with appliers or normal looking eyes.
  8. Edit: Well I tried what KT Kingsley said and it works too. Is it better to script with the key toucherID or just handle the listen event to find the ID of avatar? Follow up: I need to declare llDetectedKey(0) in llDialog in touch_start anyway right? Because when I leave it blank (llDialog("", dInfo, buttons, dChannel);) the dialog wont show. integer dChannel = 0; integer lHandle; string dInfo = "Info"; list buttons = ["Button"]; key toucherID; default { state_entry() { } touch_start(integer num_detected) { lHandle = llListen(dChannel, "", "", ""); toucherID = llDetectedKey(0); llDialog(toucherID, dInfo, buttons, dChannel); } listen(integer channel, string name, key id, string message) { string input = llGetDisplayName(id); if (message == "Button") llSay(0, (string)input + " Touched me"); } }
  9. Thanks Rolig, it's returning the name now. That's what I get for not completely reading the function wiki.
  10. I have two versions of a script that hides mesh. 1st version shows a dialogue on touch with 2 buttons - on /off. 2nd version is an updated version with a settings button that enables me to tell the script to work on touch for only the owner - me. In both versions theres llOwnerSay function that should tell me who clicked the off button that hides the mesh - the problem is llOwnerSay returns blank in the 2nd version. It returns it like this in chat " Object: took off your clothes" I am not sure why the name is blank in the 2nd version, did I call the function wrong or wrote it completely wrong? Is the UUID of the toucher getting lost in the script due to the menus? The settings work as intended and let me only when clicked on the Owner Only button in dialogue. Forgive me if I wrote something wrong or something that doesnt make sense, I tried to figure out if I can fix it while writing this thread. 1st script that returns the name sucessfully. list buttons = ["On", "Off"]; string dialogInfo = "\nPlease make a choice."; key ToucherID; integer dialogChannel; integer listenHandle; remove_listen_handle() { llListenRemove(listenHandle); } default { state_entry() { dialogChannel = -1 - (integer)("0x" + llGetSubString( (string)llGetKey(), -7, -1) ); } touch_start(integer num_detected) { ToucherID = llDetectedKey(0); listenHandle = llListen(dialogChannel, "", ToucherID, ""); llDialog(ToucherID, dialogInfo, buttons, dialogChannel); llSetTimerEvent(10.0); } listen(integer channel, string name, key id, string message) { string Input; Input = llKey2Name(ToucherID); if (message == "On") { llSetLinkAlpha(LINK_ALL_OTHERS, 1.0, ALL_SIDES); remove_listen_handle(); } else if (message == "Off") { llSetLinkAlpha(LINK_ALL_OTHERS, 0.0, ALL_SIDES); llOwnerSay(Input + " took off your clothes"); remove_listen_handle(); } } } 2nd version that returns blank name list public = ["On", "Off", "Settings"]; list settings = ["Everyone", "Owner Only"]; string settingdialog = "S"; string Input; integer lhandle; integer dchannel = -254698458; key owner; key toucherid; public_menu(key inputKey, string inputString, list inputList) { toucherid = llDetectedKey(0); owner = llGetOwner(); llDialog(toucherid, "Choose", public, dchannel); } setting_menu(key inputKey, string inputString, list inputList) { toucherid = llDetectedKey(0); owner = llGetOwner(); llDialog(owner, "Choose", settings, dchannel); } close_menu() { llSetTimerEvent(0.0); llListenRemove(lhandle); } default { state_entry() { state PUBLIC; lhandle = llListen(dchannel, "", toucherid, ""); } changed(integer change) { if (change & CHANGED_INVENTORY) { llResetScript(); } } } state PUBLIC { touch_start(integer num_detected) { toucherid = llDetectedKey(0); lhandle = llListen(dchannel, "", toucherid, ""); Input = llKey2Name(toucherid); public_menu(owner, settingdialog, public); } listen(integer channel, string name, key id, string message) { toucherid = llDetectedKey(0); Input = llKey2Name(toucherid); owner = llGetOwner(); if(message == "Settings" && id == owner) { setting_menu(toucherid, settingdialog, settings); } if(message == "Settings" && id != owner) { close_menu(); } if(message == "On") { llSetLinkAlpha(LINK_ALL_OTHERS, 1.0, ALL_SIDES); close_menu(); } if (message == "Off") { llSetLinkAlpha(LINK_ALL_OTHERS, 0.0, ALL_SIDES); llOwnerSay((string)Input + " took off your clothes"); close_menu(); } else if(message == "Owner Only") { state OWNER; close_menu(); } } } state OWNER { changed(integer change) { if (change & CHANGED_INVENTORY) { llResetScript(); } } touch_start(integer num_detected) { lhandle = llListen(dchannel, "", "", ""); toucherid = llDetectedKey(0); owner = llGetOwner(); if(toucherid == owner) { public_menu(owner, settingdialog, public); } else if(toucherid != owner) { close_menu(); } } listen(integer channel, string name, key id, string message) { toucherid = llDetectedKey(0); owner = llGetOwner(); if(message == "Settings") { setting_menu(owner, settingdialog, settings); } else if(message == "On") { llSetLinkAlpha(LINK_ALL_OTHERS, 1.0, ALL_SIDES); close_menu(); } else if (message == "Off") { llSetLinkAlpha(LINK_ALL_OTHERS, 0.0, ALL_SIDES); close_menu(); } else if(message == "Everyone") { state PUBLIC; close_menu(); } } }
  11. How do you make the 2D export not have directional lightning? I got the trial of SP but the 2D export was frustrating me. The 2D export reflected the lightning of the HDR you have selected. So the front was more lit than the back, and if you rotate the environment the more lit area changes. Is there a setting somewhere? Or another HDR? I run SL on ultra settings but when I see nice clothes or objects I disable the advanced lightning, which makes normal maps disappear from mesh and the difference is minimal. I could never make the diffuse map to have all the details on it as seen on 2D view.
  12. In case this was it was intented at me. No, I honestly couldn't understand it and the answers helped, saved the replies in case something happens to the thread even,so I am thankful for them. I didn't have a particular issue in mind when I asked, I simply didn't understand what the scripting wiki was telling me. If you were trying to provide some more information, then ignore this comment I can't tell.
  13. Thank you for the answers. It seemed so difficult but I understand now.
  14. I'm sorry if this is a really dumb question but recently got back to scripting simple, but I cant grasp the whole idea about indexes, how to loop some part of script. How do I know where the index comes from? How do I know it's 0,1,2? Does someone have an informative guide? Thanks.
  15. Well, a friend showed me a completely different way to copy weights completely unrelated to avastar. But as long as it works...
×
×
  • Create New...