Maya 的自动类型转化使您无需明确指出类型即可进行类型转化。如果指定的数据类型不被接受,该功能还可自动转化该类型。
有时,意外的自动类型转化可能会引发问题。了解类型转化的规则可帮助您解决以下类型的错误:
操作 | 结果数据类型 |
---|---|
整型运算符浮点型 | 浮点型 |
浮点运算符整型 | 浮点型 |
整型运算符向量 | 向量 |
向量运算符浮点 | 向量 |
向量运算符矩阵 | 向量 |
矩阵运算符向量 | 矩阵 |
矩阵运算符字符串 | 字符串 |
字符串运算符整型 | 字符串 |
$var1 = 7 + 1.3; // Type: float (8.3) $var2 = 7.9 + 2; // Type: float (9.9) $var3 = 2 + <<4, 5, 6>>; // Type: vector <<6, 7, 8>> $var4 = 0007 + " Lives!"; // Type: string ("7 Lives!")
在上一示例中,0007 是值 7 的整型,该值被转化为字符串,并与“Lives!”连接。生成的结果字符串隐示声明 var4 属于字符串类型,值为“7 Lives!”。
有两种方法可将值从一种类型显式转化为另一种类型。最常用的方法是在值前面的括号内指定类型。例如:
$Z = (vector) "<<1, 2, 3>>"; // Type: vector (<<1, 2, 3>>) $cools = (float) 7; // Type: float (7) $ools = (string) 47.554; // Type: string ("47.554")
另一种将值显式转化为其他类型的方法是在值后面的括号内指定类型。例如:
$ly = vector("<<1, 2, 3>>"); // Type: vector (<<1, 2, 3>>) $ooly = int(3.67); // Type: int (3)