An-Cadsolutions      Imgsystems

Kirjoittaja Aihe: XSI: Key_prefix_c addon[Set constant interpolation Key]  (Luettu 1333 kertaa)

No

  • Hero Member
  • *****
  • Viestejä: 516
  • Sukupuoli: Mies
    • Profiili
    • Sähköposti
XSI: Key_prefix_c addon[Set constant interpolation Key]
« : Helmikuu 29, 2008, 01:31:03 pm »
Olen aika riipuvainen yhä editorin lokista SDK:n nähden. FCurve editor ei  lokkaa mitään. Toistaiseksi ei löydy.

jos haluan keyfreimata obut prefix c_

esim:

   SetKeyUsingMarkingSet(">ModelName<*.c_*", null);

Lähinnä jos käyttäisin Tweening Toolia  haluaisin blokata constant käyriin tai freimata constant keytä. Toki ei kestä kauan ladata Animation editoriin ja valita.
« Viimeksi muokattu: Huhtikuu 29, 2008, 10:57:28 am kirjoittanut No »

No

  • Hero Member
  • *****
  • Viestejä: 516
  • Sukupuoli: Mies
    • Profiili
    • Sähköposti
Vs: Set constant interpolation Key ?
« Vastaus #1 : Maaliskuu 02, 2008, 08:43:28 pm »
En keksinyt siistiä tapaa määrittää key interpolaatiota keyfreimatessa. Pidin parempana ratkaisuna key kohtaista interpolaatiota kuin koko curven. Interpolaatioon näytti pääsevän käsiksi SDK:n mukaan, mutta alkoi mennä hankalaksi joten päädyin oikotiehen. Silti jos joku keksii elegantimman tavan määrätä keytä asettaessa, kuulisin mielelläni. On sellainen olo että pitäisi mennä muutamalla rivillä.
Koodia: [Valitse]
//ConstantKeyer
//keys prefix c_ as constant for blocking
//TODO: Slider for constant,linear, spline key. Check for nested models.
//Mikko Ronkainen aka nRatio 2008.
{
//Get Model
var oRoot = ActiveSceneRoot
var oSelection = oRoot.Application.selection;
var oModel = SIGetModel (oSelection);
logmessage (oModel)
//Collection
var oColl = XSIFactory.createobject( "XSI.Collection" );
oColl.items = oModel.FindChildren("c_*");
logmessage (oColl)
//get preferences
var oKeyins = GetValue("preferences.animation.keyinsert");
var oUsekey = GetValue("preferences.animation.usekeyprefs");
var oSavekey = GetValue ("preferences.animation.save_key_command");
logmessage( oKeyins )
logmessage( oUsekey )
SetValue("preferences.animation.usekeyprefs", 1, null);
SetValue("preferences.animation.keyinsert", 1, null);
SetValue("preferences.animation.save_key_command", 0, null);
// Key Collection
SetKeyUsingMarkingSet(oColl,null);
//reset preferences
SetValue("preferences.animation.keyinsert", oKeyins, null);
SetValue("preferences.animation.usekeyprefs", oUsekey, null);
SetValue("preferences.animation.save_key_command", oSavekey);
}


Mikko
« Viimeksi muokattu: Huhtikuu 15, 2008, 07:25:06 pm kirjoittanut No »

No

  • Hero Member
  • *****
  • Viestejä: 516
  • Sukupuoli: Mies
    • Profiili
    • Sähköposti
Vs: Set constant interpolation Key ?
« Vastaus #2 : Huhtikuu 15, 2008, 05:04:45 pm »
Moi,
Päivitin nykyisin käyttämäni version. Keyfreimaa valitun obkjektin mallin kaikki prefix c_ controllit.
Kommentoikaa ihmeessä, en varmaan ole kovin hyvä scriptaaja. Kauheasti iskuja eikä yhtään vastausta.

Mikko

xcx

  • Administrator
  • *****
  • Viestejä: 2301
  • Sukupuoli: Mies
    • Profiili
    • Verajankorva.com
    • Sähköposti
Vs: Set constant interpolation Key ?
« Vastaus #3 : Huhtikuu 15, 2008, 07:48:37 pm »
Pitää katsella tuota scriptaamista XSI:llä, kun opin paremmin käyttämään koko softaa. Voisin ehkä pystyä antamaan jotain ajatusta scriptikikkuloihin.

Toistaiseksi en oikein edes tajua mitä yrität tehdä :). Mitä kieltä tuo muuten on? Näyttää JavaScriptiltä voiko XSI:tä scriptaa JS:kin?
Senior Technical Artist - Remedy Games
http://www.verajankorva.com

No

  • Hero Member
  • *****
  • Viestejä: 516
  • Sukupuoli: Mies
    • Profiili
    • Sähköposti
Vs: Set constant interpolation Key ?
« Vastaus #4 : Huhtikuu 15, 2008, 08:52:35 pm »
Scripti sinällään toimii ja sen saisi toolbarina tai Synoptic view nappulaksi, tai vaikka upotettua UI:n Custom Command Wizardilla. Katselen ja tunnustelen minne menee, itse on helppo ajaa kun tarvitsee.

Animoidessa blokkaan ensin constant interpolaatioon key poset, ei tapahtumia väliin. Rikatessa teen  jokaiseen keyfreimattavaan kontrolliin prefix _c. Jottei tarvitse mennä käyriin vasta kun poset ja taimaus on kohdallaan. Ajamalla scriptin pitäisi  valitun objektin emo modelin prefix c_ obut saada keyreimin merkittyihin parametreihin (MarkingSet). Tiedän että on nykyään on  olemassa KeyCharacterKeySet mutta itse haluan keyt vain valitun hahmon kontrolleihin, käyriin ei tule turhia osumia.

XSI:n scriptaus kielet ovat JScript,  VB Script ja Python. TD tuntuvat nykyään suosivan pythonia, en osaa ollenkaan.

 [edit copypaste virhe tekstissä]
« Viimeksi muokattu: Huhtikuu 15, 2008, 08:57:21 pm kirjoittanut No »

xcx

  • Administrator
  • *****
  • Viestejä: 2301
  • Sukupuoli: Mies
    • Profiili
    • Verajankorva.com
    • Sähköposti
Vs: Set constant interpolation Key ?
« Vastaus #5 : Huhtikuu 15, 2008, 10:17:26 pm »
Eikös XSI:tä pysty scriptaamaan myös C#:lla?
Senior Technical Artist - Remedy Games
http://www.verajankorva.com

kone

  • Global Moderator
  • *****
  • Viestejä: 1133
  • Sukupuoli: Mies
    • Profiili
Vs: Set constant interpolation Key ?
« Vastaus #6 : Huhtikuu 15, 2008, 11:17:31 pm »
SDK:n matkassa on malliksi c# scripting plugari. Lähinnä C# kuitenkin kirjoitetaan XSI:ssä plugareita kuten C++

XSISDK\examples\workgroup\Addons\CSharpScripting

No

  • Hero Member
  • *****
  • Viestejä: 516
  • Sukupuoli: Mies
    • Profiili
    • Sähköposti
Key_prefix_c addon[Set constant interpolation Key] ?
« Vastaus #7 : Huhtikuu 29, 2008, 10:50:54 am »
Se olisi addon nyt. constant-linear-spline. Eihän se muuta tee kuin vaihtaa asetuksia ja palauttaa enalleen, mutta oikaisee ikävän kulmikasta työtapaa. Slider UI:n alalaitaan tulossa joskus.

[edit: keyfreimaa merkityt parametrit merkkaus sarjassa (Marking Set), joka on luotava jos sitä ei ole.]
« Viimeksi muokattu: Maaliskuu 17, 2009, 10:11:49 pm kirjoittanut No »