Jump to content

Mitchi Slafford

Resident
  • Posts

    28
  • Joined

  • Last visited

Everything posted by Mitchi Slafford

  1. Well i just found a interesting checkbox when uploading a rigged mesh [include Boneposition]. So all the Headache i head was almost for nothing I guess that fixed my problem all i have to do now is to transfer my animation data onto the "SL" skeleton.
  2. So if i understood your tip correct, then everything with my skelet is fine except the number of bones? Now what i am confused about i importet a fbx (MALE2012.fbx) which i downloaded once ago from a SL page ( I believe from kitsune not sure). This File has 26 bones as described here http://blog.machinimatrix.org/avastar/the-second-life-skeleton/. If i load the final .bvh in bvhacker i.E. i get 33 inclusive the end sites. Really i am confused about that all, need further information i guess ^^ If i have to delete some bones then which? and then i hardly have to reanimate (thank god for the nice constraint tags ) Edit: I forgot about QAvimator, now i had a look into it to get the right Jointnames and Numbers. Now i changed the hierarchy several times in my Animation Program and still SL is giving me wrong results. However i' ve read even more and now i am a bit smarter than before. Did i understood correct that SL only reads the rotation? If so could that end up in screwed Animations? But what can i do to get the Animation or the skeleton to what i need? If it would help i could upload a .bvh of the walk i made for example...
  3. Hi, all i ned to bother you all guys cause i am stucking at point with the animations i made. What i did just have a look at this I wanted to make a real "beasty -fleshdriven Demon Avatar and so i fitted the SL-Bones to my needs. After i did all the weightening and some Animations i had to recognize that it don't work O.O. I have spent hours on reading articles and threads about deformer animation and such things, but since you can't rename the root joint anymore i am asking what i am doing wrong or what haven't got my attention? Before i forgot: Wherever how i change the hierarchy(parenting) the bones, i do this even before i export and the result isn't what i expected or better was hoping for :P But all Programs i loaded the animation into was perfectly playing the animation as it is intended to.
  4. Well first Thanks for your Help and Patience with me. I don't want to criticize your last Script, so don't read it as such. But it have a Bug (wanted or not) between Line 21-24, here it keeps looping Sound "2" after gPrevious_Sound was triggered the first Time. It broke my Mind and i tried several "Fixes" which aren't really worked. So i wrote a new Script with the little bit of Knowledge i learned within this Project, it's probably working, even with your enhancement ideas i.e. that Sound "2" is only playing if Sound "14" is triggered. Here it is timer() { float time = (integer)llFrand(max - min) + min; string Sound = llGetInventoryName(INVENTORY_SOUND, (integer)llFrand(llGetInventoryNumber(INVENTORY_SOUND))); llPlaySound(Sound,1.0); if (Sound == "14") { llSetSoundQueueing(TRUE); llPlaySound("BeatBox1",1.0); llMessageLinked(LINK_ROOT,1,"Animname",""); } if (Sound == "BeatBox1") { llStopSound(); llSetTimerEvent(0.5); } else { llSetTimerEvent(time); } } }
  5. So thats my last "Solution" for first i got a bad sinusitis, working or even thinkin are difficult in that case. integer min = 10;integer max = 45;integer ON;float time;default{ touch_start(integer num) { float time = (integer)llFrand(max - min) + min; llSetTimerEvent(time * (ON = !ON)); } timer() { string Sound = llGetInventoryName(INVENTORY_SOUND,(integer)llFrand(llGetInventoryNumber(INVENTORY_SOUND))); llTriggerSound(Sound,1.0); if (Sound == "14") { float time = (integer)llFrand(max - min) + min; llSetTimerEvent(time); llSleep(5.0); llTriggerSound("2",1.0); llMessageLinked(LINK_ROOT,1,"Animname",""); } } }
  6. Thats my Idea integer min = 10;integer max = 45;integer ON;integer NEXT;default{ touch_start(integer num) { float time = (integer)llFrand(max - min) + min; llSetTimerEvent(time * (ON = !ON)); } timer() { string Sound = llGetInventoryName(INVENTORY_SOUND,(integer)llFrand(llGetInventoryNumber(INVENTORY_SOUND))); llTriggerSound(Sound,1.0); if (Sound == "14") { llSetTimerEvent(5.0); NEXT = 1; } if (NEXT == 1 && "something to recognize if 5 secs are passed") { llTriggerSound("2",1.0); llMessageLinked(LINK_ROOT,1,"Animname",""); } } }
  7. What i was trying meanwhile: I tried to find a solution to set something like a message which should trigger the next if-statement and then set a new timer at the of this "next to play" if-statement the same without the ON OFF toggle. What i was wondering... why should the script remember which sound was played last? Maybe you could give me an explanation for. Hoping my idea wasn't bad( ijust don't know how to do that)
  8. Your Hint to think through what i want.... was really the helpfullest to teach, and i fullfilled what you "ordered" from me. The only Thing i still having Problems with is, how to tell the Script that it shall play Sound "14" till and first then to trigger Sound "2" but i am on it. Since you helped me understandig the Process and Logics of LSL Scripts. Here's my provisional result: integer min = 10;integer max = 15;integer ON;default{ touch_start(integer num) { float time = (integer)llFrand(max - min) + min; llSetTimerEvent(time * (ON = !ON)); } timer() { string Sound = llGetInventoryName(INVENTORY_SOUND,(integer)llFrand(llGetInventoryNumber(INVENTORY_SOUND))); llTriggerSound(Sound,1.0); if (Sound == "14") { llTriggerSound("2",1.0); llMessageLinked(LINK_ROOT,1,"animname",""); } } }
  9. Ok i think thats not what it should be, but now it isn't clickable anymore as theres the problem it first need to be rezzed before it starts working. Maybe i should give up for first on this, as i am sitting now over 6 hours on it and didn't do anything else in RL so here's what i made at least integer randomMinToMax(float min, float max){ return llRound(llFrand(max - min) + min);}wait(float secs){ llSleep(secs);}default{ state_entry() { } on_rez(integer num) { integer i1; for (i1=0; i1< 999999; i1++) { string Sound = llGetInventoryName(INVENTORY_SOUND,(integer)llFrand(llGetInventoryNumber(INVENTORY_SOUND))); llTriggerSound(Sound,1.0); wait(randomMinToMax(10, 45)); if (Sound == "14") { llSetTimerEvent(10.0); //Or whatever the length of "dance" is } }} timer() { llTriggerSound("2",1.0); llMessageLinked(LINK_ROOT,1,"animname",""); llSetTimerEvent(0.0); }}
  10. Well, iam still on your challange. Tried many things, but still nothing worked. Just to keep you informed really hard to beat such things^^ Playing with integers to detect touches, all fine but don't know how pause if a touch was detected atm, still on that
  11. Well ms. Loon i think i have located the "bug" and corrected it. But what i do not understand is why and for what the OldSound =" "; in the if-section shall be? Maybe thats the "bug" if yes i then iam truly blamed and even destroyed your idea/code hope not so:matte-motes-dead: string OldSound;default{ state_entry() { } touch_start(integer total_number) { OldSound = llGetInventoryName(INVENTORY_SOUND,(integer)llFrand(llGetInventoryName(INVENTORY_SOUND))); llTriggerSound(OldSound,1.0); if (OldSound == "dance") { llTriggerSound("dance2",1.0); OldSound = ""; llMessageLinked(LINK_ROOT,1,"animname",""); } else { state default; } }} Before i forget to name it: I recieve a "function call missmatch....." error when i want to compile the script. The LsL-Editor is pointing to the second llGetInventoryName in between the OldSound var. To be true, i have no clue
  12. Wow, thats an explanation i was looking for, yeah thats the logic i've looked for so thanks alot i now have a new motivation on this project. But to clear things #14 isn't a number, thats the name(at the moment), as i mean its generally better to use "real"-Names instead of numbers
  13. Ok i'm just to dumb^^ What iam playing with: integer InvSounds; integer ChooseSound; string PlaySound; string Played; integer change; default { state_entry() { InvSounds = llGetInventoryNumber(INVENTORY_SOUND); change = CHANGED_ALLOWED_DROP | CHANGED_INVENTORY; } changed(integer a) { if(a & change) InvSounds = llGetInventoryNumber(INVENTORY_SOUND); } on_rez(integer r) { llResetScript(); } touch_start(integer total_number) { ChooseSound = llRound(llFrand(InvSounds)); PlaySound = llGetInventoryName(INVENTORY_SOUND,ChooseSound); llTriggerSound(PlaySound,1.0); Played = (llGetInventoryName(INVENTORY_SOUND,14)); if(Played = "14") { llPlaySound("",1.0); llMessageLinked(LINK_ROOT,1,"",""); } } }
  14. First thanks for the reply, and i'll try to work it out. If iam not able to(what i think since iam a noob ) i'll reply here again =)
  15. Hi all, after searching hours on google and here in the forum and even trying to understand functions and all the scripting stuff i have to ask for help as i am stuck on my script idea. What i've been trying to is to play randomly sounds over and over again, but when a specific sound is played it should play the fitting part as its a splittet sound. Else it just should normally play randomly the sounds it got. Function Example: Play a Randomsound, but if the Randomsound's name is "14" then first play sound "15" after that play randomly sounds again. Here's my "Try" integer InvSounds; integer ChooseSound; string PlaySound; integer change; default { state_entry() { InvSounds = llGetInventoryNumber(INVENTORY_SOUND); change = CHANGED_ALLOWED_DROP | CHANGED_INVENTORY; } changed(integer a) { if(a & change) InvSounds = llGetInventoryNumber(INVENTORY_SOUND); } on_rez(integer r) { llResetScript(); } touch_start(integer total_number) { ChooseSound = llRound(llFrand(InvSounds)); PlaySound = llGetInventoryName(INVENTORY_SOUND,ChooseSound); llTriggerSound(PlaySound,1.0); string soundname = llGetInventoryName(INVENTORY_SOUND, 0); if ( soundname != "" ) { llPlaySound("Soundname",1.0); llMessageLinked(LINK_ROOT,1,"Animname",""); } } }
  16. Thanks to all for your great help, but it didn't worked Ok when i have done all the listed things i can deform via the joints and it deforms correctly but it seems that the skinweight isn't save in the file. And one thing is still confusing me... the null-objects which should present the ik chain.. must there be done with them? otherwise maybe the exporter is broken? if someone would have a tutorial for rigging with cinema 4d for SL would be great^^ Thats what it looking now
  17. First alot of thanks to you, yes i recognized that i've forgotten to set the weightmaps cause due to i thought it would be possible to copy them or anything else, just don't know what i've thought in this moment
  18. AAAAAHHHH well right this could be the problem...even blender is handling that as singlemesh...thank you very much EDIT: Doesn't work too, what i've done is importing a .dae from blender to cinema and changed the mesh. Maybe there is the Problem if i forgot something to link or something?
  19. hm i wrote in german cause i thought it would make things easier for me^^ ok so i try to explain it again in english I've watched all the rigging tutorials for blender, but every time i want to amarture a meshpart as head i get an parse error ingame. So i thought hm ok lets try to do this with cinema 4d (what i prefer) , theres everything fine exept one thing the skinweight... cinema 4d r12 what i am using even have the collada 1.4.1. What i am looking for now, is someone who can show/learn me to make a rig mesh working with cinema 4d Would be awesome if some proffesional could teach me here's a screen from what my projekt looks like
  20. Erstmal Hi an alle, ich hab ein Problem mit dem rigging von meshes, hab mir die ganzen tuts für Blender angeschaut klappt auch soweit gut bis auf eine Sache. Jedesmal wenn ich einen Mesh der als Kopf dienen soll einen Fehler beim Upload Versuch (Fehler beim Parsen), keine Ahnung worher dieser rührt... aber egal ich benutze eh viel lieber cinema 4d, mit dem auch alles wunderbar klappt ausser dem Skingewicht, kann mir jemand vllt. erklären wie ich das mit cinema 4d richtig mache? Ich benutze übrigens das R12
  21. Really thanks alot thats what i call a explanation, now i understand the technique behind the calculations. But anyways i build the house with normal prims gonna change that if i feel to
  22. Well*sigh* Hi, i found a not so nice bug within the equivalence calculation... i've created a meshwindow with the equivalence of 1 prim, now for my house i need a second and so i rezzed another one... but here comes the bug, when i link the windows the properties show me 2 prim equal to 1 prim and the object even took only 1 prim on the land.. shall not bother me... but when i link the windows with my house(made of 28 prims) the properties and even the land info are showing me that the house is equal to 295 prims and they are taken on the land. Ok easy and fastest solution to not link the windows. Maybe someone could explain that so i can understand this, pls
  23. Mitchi Slafford

    workaround

    Hi all, since i build my House and recognized that the prim count raised up to heaven, i am asking myself if there is a way to attach a prim on another like attachments on your AV that they aren't be counted on the land. Maybe a lil trick without attaching the House on my AV lols thx for all answers :)
  24. Sounds nice gonna be testing that when the house is complete thx alot for this idea
  25. sure i also came to the idea to put alpha prims into the walls i don't want to be able for walking, but i'd guessed theres a way to workaround anyways thx alot guys
×
×
  • Create New...