Cet article est le deuxième jour du calendrier de l'Avent Houdini 2016.
Un paramètre n'est-il pas juste une valeur? Je ne sais pas pourquoi il n'a pas de valeur ou il devient vert!
Expression Le vert est l'état où les paramètres sont contrôlés par Expression. ▼ $ F à titre d'exemple
Immédiatement après avoir saisi l'expression, une couleur gris blanchâtre sera ajoutée après l'étiquette ("Taille" dans la figure ci-dessus). Cela indique que la valeur calculée est passée à l'affichage Expression. Expression → Cliquez sur Étiquette pour en faire une valeur calculée (un clic droit et une expression de bascule sont également possibles) ▼ Gauche: valeur calculée Droite: Expression
▼ En complément ... Toggle Expression est possible même s'il ne s'agit pas d'une expression ou d'une variable. Attention aux erreurs en virgule flottante.
▼ À partir de Houdini 15 environ, @ peut également être utilisé comme paramètre (Cependant, les types d'attributs qui peuvent être utilisés varient en fonction du nœud. Par exemple, seul l'attribut Détail peut être utilisé dans le nœud de transformation. En revanche, pour le nœud de point exécuté pour chaque point, le point tel que @Px l'attribut est disponible)
La valeur par défaut est HScript (vert), vous pouvez la changer en Python. Si vous changez la marque H à côté de la marque d'engrenage en Python, elle deviendra rouge au lieu de verte. Je vois, Python est rouge! Ne pense pas. Cela n'a pas encore changé. Vous ne pouvez obtenir Python qu'en cliquant avec le bouton droit sur un paramètre et en effectuant Change Language Python. Oui, le vert et le rouge étaient les couleurs pour trouver la marque HScript affichée en haut à droite, ou celle correspondant à la marque Python. ▼ En python, les variables locales peuvent être utilisées comme lvar ("TX2"). (Exceptionnellement, le préfixe hou. Peut être omis)
Si vous souhaitez placer plusieurs lignes dans le paramètre, entrez-le avec ctrl + E ou cliquez avec le bouton droit et Modifier l'expression. Mais sans réfléchir Si vous entrez ce qui suit, une erreur se produira. ▼ Par exemple, si vous souhaitez donner une valeur de 1 uniquement dans une image
if($F==1){
return 1;
}
La raison de l'erreur est qu'il n'y a pas de {} pour englober le tout. Donc
{
if($F==1){
return 1;
}
}
Cela fonctionnera.
Edit String Certains paramètres ne nécessitent pas de parenthèses. C'est le paramètre String. Paramètres de chaîne fréquemment utilisés Par exemple, groupe, fichier, Wrangle.
Cependant, il y a des moments où vous souhaitez également utiliser Expression avec String. Dans ce cas, utilisez \ {} \
.
Même s'il s'agit d'un type String, la partie entourée par \ `(back quote) fonctionne comme Expression.
▼ Zéro remplissage lors de la sortie d'un fichier
$HIP/file_`padzero(4, $F)`.bgeo
▼ Lorsque vous souhaitez générer un groupe (Hello) uniquement à 1 image
`{
if($F==1){
string foo = "Hello";
return foo;
}
}`
Un dernier. Quand allez-vous l'utiliser! Cela ressemble à, mais une autre conversion est nécessaire pour mettre une valeur dans le paramètre d'expression en utilisant de force des guillemets.
atof("`{return 1;}`")
http://www.andynicholas.com/?p=1344 C'est en rapport avec.
une fonction | La description |
---|---|
ch(parameter path) | Récupère la valeur actuelle du paramètre |
chf(parameter path,flamme) | 特定のflammeでパラメータの値を取得します |
stamp(copySOP path,Variable de timbre,Valeur par défaut) | Variable de timbreの現在の値を取得 |
point(SOP path,Numéro de point,attribute,index) | Obtenir l'attribut de point |
prim(SOP path,Numéro de point,attribute,index) | Obtenir l'attribut primitif |
clamp(value,min,max) | Valeur comprise entre les valeurs minimales et maximales |
fit(value,min,max,newmin,newmax) | Remapper les anciennes valeurs de plage vers la nouvelle plage et la nouvelle pince |
fit01(value,newmin,newmax) | fit()Identique à, la valeur est de 0 à 1 |
smooth(value,min,max) | Valeur lissée entre 0 et 1 du minimum au maximum |
noise(x,y,z) | bruit |
rand(seed) | nombre aléatoire |
length(x,y,z) | Longueur du vecteur |
distance(x1,y1,z1,x2,y2,z2) | Distance entre deux points |
bbox(SOP path,dimension type) | Boîte englobante(dimension type:D_XMIN, D_YMIN, D_ZMIN, D_XMAX, D_YMAX, D_ZMAX, D_XSIZE, D_YSIZE, D_ZSIZE) |
Autre sin, cos, tan, asin, acos, atan, atan2, abs, pow, sqrt, ceil, floor, atof, dot, cross, deg, rad, exp, frac, hsv, rgb, min, max, log, log10, round, substr, strreplace
Est disponible.
variable | La description |
---|---|
$PT | Numéro de point |
$PR | Numéro primitif |
$CY | Numéro de copie actuel |
$TX,$TY,$TZ | Position du point |
$NX,$NY,$NZ | point/Normal primitif |
$CR,$CG,$CB,$CA | point/Couleur primitive |
$VX,$VY,$VZ | Vitesse du point |
$BBX,$BBY,$BBZ | Positions normalisées (0-1) des points dans la boîte englobante |
$CEX,$CEY,$CEZ | Centre de gravité de la géométrie |
$AGE | Le nombre de secondes pendant lesquelles la particule est vivante |
$LIFE | Âge normalisé des particules (0-1) |
$XMIN,$XMAX,$YMIN,$YMAX,$ZMIN,$ZMAX | Gamme de boîtes englobantes |
$SIZEX,$SIZEY,$SIZEZ | Taille de la boîte englobante |
$TX2,$TY2,$TZ2 | Position du point provenant de la deuxième entrée |
L'expression est pratique, mais les variables locales sont lentes, il est donc préférable d'utiliser VEX si possible. c'est tout
Recommended Posts