Appearance
Material (JavaScript)
Material
Scripting Name:Insight.Material
材质类。
Properties
color
type :Insight.Vector4
材质的主颜色。
mainTexture
type : string
材质的主纹理名称。
passCount
type : number
(只读)shader 中 pass 的数量。
renderQueue
type : number
材质渲染顺序。
Methods
toString
javascript
public string toString();
将 material 内容以一定格式转为 string 类型。
getColor
javascript
public Insight.Vector4 getColor(string name);
获取 color 属性值。
Parameters
- name : string 属性名
getColor
javascript
public Insight.Vector4 getColor(property);
获取 color 属性值。
Parameters
- property : 未暴露的类型 属性 ID
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
getFloat
javascript
public number getColor(string name);
获取 float 属性值。
Parameters
- name : string 属性名
getFloat
javascript
public number getColor(property);
获取 float 属性值。
Parameters
- property : 未暴露的类型 属性 ID
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
getInt
javascript
public number getInt(string name);
获取 int 属性值。
Parameters
- name : string 属性名
getInt
javascript
public number getInt(property);
获取 int 属性值。
Parameters
- property : 未暴露的类型 属性 ID
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
getMatrix
javascript
public Insight.Matrix4x4 getMatrix(string name);
获取 Matrix 属性值。
Parameters
- name : string 属性名
getMatrix
javascript
public Insight.Matrix4x4 getMatrix(property);
获取 Matrix 属性值。
Parameters
- property : 未暴露的类型 属性 ID
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
getTextureName
javascript
public string getTextureName(string name);
获取 Texture 的路径名。
Parameters
- name : string 属性名
getTextureName
javascript
public string getTextureName(property);
获取 Texture 的路径名。
Parameters
- property : 未暴露的类型 属性 ID
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
getVector
javascript
public Insight.Vector4 getVector(string name);
获取 vector4 属性值。
Parameters
- name : string 属性名
getVector
javascript
public Insight.Vector4 getVector(property);
获取 vector4 属性值。
Parameters
- property : 未暴露的类型 属性 ID
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
hasProperty
javascript
public boolean hasProperty(string name);
判断这个属性是否存在。
Parameters
- name : string 属性名
propertyToID
javascript
public property propertyToID(string name);
通过属性名获取属性 ID。
Parameters
- name : string 属性名
setColor
javascript
public void setColor(string name, Insight.Vector4 color);
设置 color 属性值。
Parameters
- name : string 属性名
- color : Insight.Vector4 设置的颜色值
javascript
// sample:
this.material = this.gameobject.getComponent("Renderer", 0).getMaterial(0);
this.material.setColor("_MainColor", Insight.Vector4.New(0.8, 0,5, 0.7));
setColor
javascript
public void setColor(property, Insight.Vector4 color);
设置 color 属性值。
Parameters
- property : 未暴露的类型 属性 ID
- color : Insight.Vector4 设置的颜色值
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
setFloat
javascript
public void setFloat(string name, number value);
设置 float 属性值。
Parameters
- name : string 属性名
- value : number 设置的 float 值
setFloat
javascript
public void setFloat(property, number value);
设置 float 属性值。
Parameters
- property : 未暴露的类型 属性 ID
- value : number 设置的 float 值
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
setInt
javascript
public void setInt(string name, number value);
设置 int 属性值。
Parameters
- name : string 属性名
- value : number 设置的 int 值
setInt
javascript
public void setInt(property, number value);
设置 int 属性值。
Parameters
- property : 未暴露的类型 属性 ID
- value : number 设置的 int 值
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
setMatrix
javascript
public void setMatrix(string name, Insight.Matrix4x4 value);
设置 matrix 属性值。
Parameters
- name : string 属性名
- value :Insight.Matrix4x4 设置的 matrix 值
setMatrix
javascript
public void setMatrix(property, Insight.Matrix4x4 value);
设置 matrix 属性值。
Parameters
- property : 未暴露的类型 属性 ID
- value : Insight.Matrix4x4 设置的 matrix 值
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
setText
javascript
public void setText(string name, string text, number w, number h, number x0, number y0, number x1, number y1, string font, number font_width, number font_height, number flag, number char_stride, number line_stride, number direction, number alignment );
对于一个纹理,设置其上要显示的文字。
Parameters
name 参数 类型 属性名称,必须是Texture 类型的属性 text string 想要显示的文字 w string 用于显示文字的矩形框的宽度 h number 用于显示文字的矩形框的高度 x0 number 文字距离矩形框边界左下角的距离(边界宽度)的横坐标值 y0 number 文字距离矩形框边界左下角的距离(边界宽度)的纵坐标值 x1 number 文字距离矩形框边界右上角的距离(边界宽度)的横坐标值 y1 number 文字距离矩形框边界右上角的距离(边界宽度)的纵坐标值 font string 字体名称,如 iOS 设备的默认字体名称为“PingFangSC-Regular”,Android 设备的默认字体名称为“DroidSans” font_width number 单个文字的宽度 font_height number 单个文字的高度 flag number 文字风格属性,可以使用掩码的方式控制,如需要粗体和斜体,则传入 768 即可(TextFlag::BOLD + TextFlag::ITALIC = 0x300 = 768)。 char_stride number 字间距 line_stride number 行间距 direction number 文字方向 alignment number 文字对齐方式,可以使用掩码的方式控制,如需要居中对齐,则传入 18 即可(TextAlignment::H_MID + TextAlignment::V_MID = 18)。
参见:font_engine::TextFlag, font_engine::TextDirection, font_engine::TextAlignment
⚠️ 目前版本只支持文字风格属性 font_engine::TextFlag = 0,其他风格如粗体等暂不支持
javascript
// sample:
this.material = this.gameobject.getComponent("Renderer", 0).getMaterial(0);
var fontName = "PingFangSC-Regular"; // font for iOS
if(Insight.SystemInfo.operatingSystemType == 4) // is Android
{
fontName = "NotoSansCJK-Regular.ttc";
}
this.material.setText( "_text_texture"
, "你好!"
, 512 , 512
, 0 , 0 , 511 , 511
, fontName , 32 , 32 , 0
, 0 , 32
, 0 , 18 );
setText
javascript
public void setText(property, string text, number w, number h, number x0, number y0, number x1, number y1, string font, number font_width, number font_height, number flag, number char_stride, number line_stride, number direction, number alignment );
对于一个纹理,设置其上要显示的文字。
Parameters
name 参数 类型 属性名称,必须是Texture 类型的属性 property 未暴露 想要显示的文字 w string 用于显示文字的矩形框的宽度 h number 用于显示文字的矩形框的高度 x0 number 文字距离矩形框边界左下角的距离(边界宽度)的横坐标值 y0 number 文字距离矩形框边界左下角的距离(边界宽度)的纵坐标值 x1 number 文字距离矩形框边界右上角的距离(边界宽度)的横坐标值 y1 number 文字距离矩形框边界右上角的距离(边界宽度)的纵坐标值 font string 字体名称,如 iOS 设备的默认字体名称为“PingFangSC-Regular”,Android 设备的默认字体名称为“DroidSans” font_width number 单个文字的宽度 font_height number 单个文字的高度 flag number 文字风格属性,可以使用掩码的方式控制,如需要粗体和斜体,则传入 768 即可(TextFlag::BOLD + TextFlag::ITALIC = 0x300 = 768)。 char_stride number 字间距 line_stride number 行间距 direction number 文字方向 alignment number 文字对齐方式,可以使用掩码的方式控制,如需要居中对齐,则传入 18 即可(TextAlignment::H_MID + TextAlignment::V_MID = 18)。
参见:font_engine::TextFlag, font_engine::TextDirection, font_engine::TextAlignment
⚠️ 目前版本只支持文字风格属性 font_engine::TextFlag = 0,其他风格如粗体等暂不支持
要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
setTextureByName
javascript
public void setTextureByName(string name, string textureName);
设置 color 属性值。
Parameters
- name : string 属性名
- textureName : string texture 路径名
setTextureByName
javascript
public void setTextureByName(property, string textureName);
设置 color 属性值。
Parameters
- property : 未暴露的类型 属性 ID
- textureName : string texture 路径名
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数
setVector
javascript
public void setVector(string name, Insight.Vector4 value);
设置 vector4 属性值。
Parameters
- name : string 属性名
- value : Insight.Vector4 设置的 vector4 值
setVector
javascript
public void setVector(property, Insight.Vector4 value);
设置 vector4 属性值。
Parameters
- property : 未暴露的类型 属性 ID
- value : Insight.Vector4 设置的 vector4 值
⚠️ 要结合 PropertyToID 方法,将 PropertyToID 的返回值作为该方法的参数