An-Cadsolutions      Imgsystems

Kirjoittaja Aihe: 3dsmax: Scripti joka laskee montako bonea on skinnattu verteksiin  (Luettu 687 kertaa)

tuomas

  • Newbie
  • *
  • Viestejä: 44
    • Profiili
    • jomppanen.com
Tuli tarve tietää montako bonea on weightattu verteksiin joten kirjoitin tämmöisen.

Lunttasin vähän xcx:n MultiAttachmentista kun ei oikein aivot lähteneet heti raksuttamaan, joten minusta on ihan reilu peli pistää tämäkin scripti esille. :) En kirjoittanut mitään UI:tä tälle, joten tuota scriptiä voi kontrolloida muuttelemalla tuota limit-arvoa.

Koodia: [Valitse]
if(selection != undefined) do (
limit = 9
obj = selection[1]
skin = obj.skin
foundCount = 0
verts = obj.verts
for i = 1 to verts.count do (
count = skinOps.GetVertexWeightCount skin i
if(count > limit) do (
str = "Vertex ID:"+i as string+" ["
for boneCount = 1 to count do (
boneId = skinOps.GetVertexWeightBoneID skin i boneCount
boneName = skinOps.GetBoneName skin boneId 0
if boneCount < count then (
str = str + boneName + ", "
) else
str = str + boneName
)
str = str + "]"
print str
foundCount=foundCount + 1
)
)

print "Vertices found:"+foundCount as string

)
« Viimeksi muokattu: Elokuu 31, 2008, 02:03:04 am kirjoittanut xcx »

xcx

  • Administrator
  • *****
  • Viestejä: 2302
  • Sukupuoli: Mies
    • Profiili
    • Verajankorva.com
    • Sähköposti
Re: Scripti joka laskee montako bonea on skinnattu verteksiin
« Vastaus #1 : Helmikuu 21, 2006, 09:23:12 am »
No eipä sinua ainakaan kopioinnista voi syyttää :). Eihän tuossa nyt ollut mitään samaa kuin minun MultiAttachment scriptissäni :) eikä siis toki niin etteikä niitä saisi kopioida. Minun puolestani niillä voi tehdä mitä lystää kopioida, muuttaa, käyttää kaupallisesti, myydä, pyyhkiä per... eli vapaasti saa ottaa vinkkiä.
Senior Technical Artist - Remedy Games
http://www.verajankorva.com

tuomas

  • Newbie
  • *
  • Viestejä: 44
    • Profiili
    • jomppanen.com
Re: Scripti joka laskee montako bonea on skinnattu verteksiin
« Vastaus #2 : Helmikuu 22, 2006, 08:52:54 am »
Heh, kirjoitin tuon scriptin maanantaiaamuna. Sunnuntaisen kanada-ottelun jälkeen oli hieman kierroksia jäljellä, joten nukahdin vasta about 4 yöllä. Joten silloin kaikki apu oli tarpeen... En varmaan edes muistanut for-loopin syntaksia ilman referenssin apua :)

Ajattelin ottaa tavaksi kirjoitella pieniä scriptinpalasia tänne foorumille, jos vaikka joku joskus haluaa vähän opiskella maxscriptiä esimerkeistä. (Tosin olisin kyllä voinut kommentoidan tuota koodia edes pikkasen... no seuraava sitten)