Difference between revisions of "IC Python API:RLPy RIMaterialComponent"
Chuck (RL) (Talk | contribs) (Created page with "{{TOC}} {{Parent|IC_Python_API:RL_Python_Modules|Modules}} ==Inheritance== This class inherits public member functions from: *RLPy.RIBase ==Detai...") |
Chuck (RL) (Talk | contribs) m |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{TOC}} | {{TOC}} | ||
{{Parent|IC_Python_API:RL_Python_Modules|Modules}} | {{Parent|IC_Python_API:RL_Python_Modules|Modules}} | ||
− | == | + | {{last_modified}} |
− | This class | + | |
− | + | == Description == | |
− | == | + | |
− | + | This class is used to manipulate material surface properties. The main material properties are Ambient color, Diffuse color, Specular color, Glossiness value, Self-illumination value, Opacity value, textures, and more. A material is affiliated with an object, therefore, member functions of this class must specify a mesh and material name. | |
− | + | ||
− | # Get | + | === Inheritance === |
+ | |||
+ | [[IC_Python_API:RLPy_RIBase|RIBase]] > [[IC_Python_API:RLPy_RIMaterialComponent|RIMaterialComponent]] | ||
+ | |||
+ | == Member Functions == | ||
+ | |||
+ | === AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor ) === | ||
+ | |||
+ | Add an Ambient key for the material according to the time and Transition Type of '''kKey'''. | ||
+ | |||
+ | See Also: | ||
+ | [[#AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddDiffuseKey]], | ||
+ | [[#AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddGlossinessKey]], | ||
+ | [[#AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddOpacityKey]], | ||
+ | [[#AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSelfIlluminationKey]], | ||
+ | [[#AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSpecularKey]], | ||
+ | [[#AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )|AddTextureWeightKey]], | ||
+ | [[#AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )|AddUvDataKey]], | ||
+ | [[#AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute )|AddVideoVolumeKey]] | ||
+ | |||
+ | ==== Parameters ==== | ||
+ | :'''kKey''' [IN] The key for time and transition control - [[IC_Python_API:RLPy_RKey|RKey]] | ||
+ | :'''strMeshName''' [IN] Name of the mesh - string | ||
+ | :'''strMaterialName''' [IN] Name of a mesh material - string | ||
+ | :'''kColor''' [IN] The color of a material’s ambient component - [[IC_Python_API:RLPy_RRgb|RRgb]] | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | # Get object, mesh and material | ||
avatar_list = RLPy.RScene.GetAvatars() | avatar_list = RLPy.RScene.GetAvatars() | ||
avatar = avatar_list[0] | avatar = avatar_list[0] | ||
material_component = avatar.GetMaterialComponent() | material_component = avatar.GetMaterialComponent() | ||
− | |||
mesh_list = avatar.GetMeshNames() | mesh_list = avatar.GetMeshNames() | ||
mesh_name = mesh_list[0] | mesh_name = mesh_list[0] | ||
− | |||
material_list = material_component.GetMaterialNames(mesh_name) | material_list = material_component.GetMaterialNames(mesh_name) | ||
material_name = material_list[0] | material_name = material_list[0] | ||
+ | # Create a key | ||
+ | key = RLPy.RKey() | ||
+ | key.SetTime(RLPy.RTime(1200)) | ||
+ | # Add an ambient key value | ||
+ | material_component.AddAmbientKey(key, mesh_name, material_name, RLPy.RRgb.RED) | ||
+ | </syntaxhighlight> | ||
− | + | === AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor ) === | |
− | + | ||
− | + | ||
− | + | ||
− | # Create | + | Add a Diffuse key for the material according to the time and Transition Type of '''kKey'''. |
+ | |||
+ | See Also: | ||
+ | [[#AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddAmbientKey]], | ||
+ | [[#AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddGlossinessKey]], | ||
+ | [[#AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddOpacityKey]], | ||
+ | [[#AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSelfIlluminationKey]], | ||
+ | [[#AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSpecularKey]], | ||
+ | [[#AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )|AddTextureWeightKey]], | ||
+ | [[#AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )|AddUvDataKey]], | ||
+ | [[#AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute )|AddVideoVolumeKey]] | ||
+ | |||
+ | ==== Parameters ==== | ||
+ | :'''kKey''' [IN] The key to add a diffuse key value - [[IC_Python_API:RLPy_RKey|RKey]] | ||
+ | :'''strMeshName''' [IN] Name of the mesh - string | ||
+ | :'''strMaterialName''' [IN] Name of a mesh material - string | ||
+ | :'''kColor''' [IN] The color for diffuse - [[IC_Python_API:RLPy_RRgb|RRgb]] | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | # Get object, mesh and material | ||
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | avatar = avatar_list[0] | ||
+ | material_component = avatar.GetMaterialComponent() | ||
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Create a key | ||
key = RLPy.RKey() | key = RLPy.RKey() | ||
key.SetTime(RLPy.RTime(1200)) | key.SetTime(RLPy.RTime(1200)) | ||
− | key. | + | # Add a diffuse key value |
− | + | material_component.AddDiffuseKey(key, mesh_name, material_name, RLPy.RRgb.RED) | |
+ | </syntaxhighlight> | ||
− | + | === AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight ) === | |
− | + | ||
− | + | Add a Glossiness key for the material according to the time and Transition Type of '''kKey'''. | |
− | + | ||
− | + | See Also: | |
− | + | [[#AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddAmbientKey]], | |
+ | [[#AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddDiffuseKey]], | ||
+ | [[#AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddOpacityKey]], | ||
+ | [[#AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSelfIlluminationKey]], | ||
+ | [[#AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSpecularKey]], | ||
+ | [[#AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )|AddTextureWeightKey]], | ||
+ | [[#AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )|AddUvDataKey]], | ||
+ | [[#AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute )|AddVideoVolumeKey]] | ||
− | + | ==== Parameters ==== | |
− | + | :'''kKey''' [IN] The key for time and transition control - [[IC_Python_API:RLPy_RKey|RKey]] | |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | + | :'''fWeight''' [IN] The weight for glossiness - float [0~100] | |
− | + | ||
− | + | ==== Returns ==== | |
− | + | :Success - RLPy.RStatus.Success | |
+ | :Failure - RLPy.RStatus.Failure | ||
− | material_component. | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | avatar = avatar_list[0] | ||
+ | material_component = avatar.GetMaterialComponent() | ||
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Create a key | ||
+ | key = RLPy.RKey() | ||
+ | key.SetTime(RLPy.RTime(1200)) | ||
+ | # Add a glossiness key value | ||
+ | material_component.AddGlossinessKey(key, mesh_name, material_name, 0.5) | ||
+ | </syntaxhighlight> | ||
− | + | === AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor ) === | |
− | + | ||
− | + | Add a Specular key for the material according to the time and Transition Type of '''kKey'''. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | # | + | See Also: |
− | + | [[#AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddAmbientKey]], | |
− | + | [[#AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddDiffuseKey]], | |
− | + | [[#AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddGlossinessKey]], | |
− | + | [[#AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddOpacityKey]], | |
− | + | [[#AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSelfIlluminationKey]], | |
− | + | [[#AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )|AddTextureWeightKey]], | |
− | + | [[#AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )|AddUvDataKey]], | |
− | + | [[#AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute )|AddVideoVolumeKey]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | # | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==== Parameters ==== | |
− | + | :'''kKey''' [IN] The key for time and transition control - [[IC_Python_API:RLPy_RKey|RKey]] | |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | + | :'''kColor''' [IN] The color for specular - [[IC_Python_API:RLPy_RRgb|RRgb]] | |
− | == | + | |
− | == | + | ==== Returns ==== |
− | + | :Success - RLPy.RStatus.Success | |
− | RLPy. | + | :Failure - RLPy.RStatus.Failure |
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | # Get object, mesh and material | ||
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | avatar = avatar_list[0] | ||
+ | material_component = avatar.GetMaterialComponent() | ||
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Create a key | ||
+ | key = RLPy.RKey() | ||
+ | key.SetTime(RLPy.RTime(1200)) | ||
+ | # Add a specular key value | ||
+ | material_component.AddSpecularKey(key, mesh_name, material_name, RLPy.RRgb.RED) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor ) === | |
− | ''' | + | Add a Self-illumination key for the material according to the time and Transition Type of '''kKey'''. |
− | + | See Also: | |
+ | [[#AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddAmbientKey]], | ||
+ | [[#AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddDiffuseKey]], | ||
+ | [[#AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddGlossinessKey]], | ||
+ | [[#AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddOpacityKey]], | ||
+ | [[#AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSpecularKey]], | ||
+ | [[#AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )|AddTextureWeightKey]], | ||
+ | [[#AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )|AddUvDataKey]], | ||
+ | [[#AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute )|AddVideoVolumeKey]] | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''kKey''' [IN] The key for time and transition control - [[IC_Python_API:RLPy_RKey|RKey]] | |
− | + | strMeshName [IN] Name of the mesh - string | |
− | + | strMaterialName [IN] Name of a mesh material - string | |
+ | fWeight [IN] The weight for self-illumination - float [0~100] | ||
− | + | ==== Returns ==== | |
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | === | + | avatar = avatar_list[0] |
− | + | material_component = avatar.GetMaterialComponent() | |
− | RLPy. | + | mesh_list = avatar.GetMeshNames() |
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Create a key | ||
+ | key = RLPy.RKey() | ||
+ | key.SetTime(RLPy.RTime(1200)) | ||
+ | # Add a self-illumination key value | ||
+ | material_component.AddSelfIlluminationKey(key, mesh_name, material_name, 0.5) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight ) === | |
− | ''' | + | Add an Opacity key for the material according to the time and Transition Type of '''kKey'''. |
− | + | See Also: | |
+ | [[#AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddAmbientKey]], | ||
+ | [[#AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddDiffuseKey]], | ||
+ | [[#AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddGlossinessKey]], | ||
+ | [[#AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSelfIlluminationKey]], | ||
+ | [[#AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSpecularKey]], | ||
+ | [[#AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )|AddTextureWeightKey]], | ||
+ | [[#AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )|AddUvDataKey]], | ||
+ | [[#AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute )|AddVideoVolumeKey]] | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''kKey''' [IN] The key for time and transition control - [[IC_Python_API:RLPy_RKey|RKey]] | |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
+ | :'''fWeight''' [IN] The weight for opacity - float [0~100] | ||
− | + | ==== Returns ==== | |
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | === | + | avatar = avatar_list[0] |
− | + | material_component = avatar.GetMaterialComponent() | |
− | RLPy. | + | mesh_list = avatar.GetMeshNames() |
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Create a key | ||
+ | key = RLPy.RKey() | ||
+ | key.SetTime(RLPy.RTime(1200)) | ||
+ | # Add a opacity key value | ||
+ | material_component.AddOpacityKey(key, mesh_name, material_name, 0.5) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight ) === | |
− | ''' | + | Add a Texture Channel Weight key for the material according to the time and Transition Type of '''kKey'''. |
− | + | See Also: | |
+ | [[#AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddAmbientKey]], | ||
+ | [[#AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddDiffuseKey]], | ||
+ | [[#AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddGlossinessKey]], | ||
+ | [[#AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddOpacityKey]], | ||
+ | [[#AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSelfIlluminationKey]], | ||
+ | [[#AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSpecularKey]], | ||
+ | [[#AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )|AddTextureWeightKey]], | ||
+ | [[#AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )|AddUvDataKey]], | ||
+ | [[#AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute )|AddVideoVolumeKey]] | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''kKey''' [IN] The key for time and transition control - [[IC_Python_API:RLPy_RKey|RKey]] | |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
+ | :'''eChannel''' [IN] A material texture channel - RLPy.EMaterialTextureChannel | ||
+ | :*RLPy.EMaterialTextureChannel_Metallic | ||
+ | :*RLPy.EMaterialTextureChannel_Diffuse | ||
+ | :*RLPy.EMaterialTextureChannel_Specular | ||
+ | :*RLPy.EMaterialTextureChannel_Shininess | ||
+ | :*RLPy.EMaterialTextureChannel_Glow | ||
+ | :*RLPy.EMaterialTextureChannel_Displacement | ||
+ | :*RLPy.EMaterialTextureChannel_Opacity | ||
+ | :*RLPy.EMaterialTextureChannel_DiffuseBlend | ||
+ | :*RLPy.EMaterialTextureChannel_Bump | ||
+ | :*RLPy.EMaterialTextureChannel_Reflection | ||
+ | :*RLPy.EMaterialTextureChannel_Refraction | ||
+ | :*RLPy.EMaterialTextureChannel_Cube | ||
+ | :*RLPy.EMaterialTextureChannel_AmbientOcclusion | ||
+ | :*RLPy.EMaterialTextureChannel_Quantity | ||
+ | :'''fWeight''' [IN] The weight for channel - float [0~100] ui 上是 0~100, 傳到核心沒乘 0.01 | ||
− | + | ==== Returns ==== | |
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | === | + | avatar = avatar_list[0] |
− | + | material_component = avatar.GetMaterialComponent() | |
− | RLPy. | + | mesh_list = avatar.GetMeshNames() |
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Create a key | ||
+ | key = RLPy.RKey() | ||
+ | key.SetTime(RLPy.RTime(1200)) | ||
+ | # Modify texture weight | ||
+ | texture_channel = RLPy.EMaterialTextureChannel_Diffuse | ||
+ | diffuse_weight = 0.1 | ||
+ | material_component.AddTextureWeightKey(key, mesh_name, material_name, | ||
+ | texture_channel, diffuse_weight) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate ) === | |
− | ''' | + | Add an UV Texture Coordinates key for the material according to the time and Transition Type of '''kKey'''. This key can be used to set the texture channel's UV offset, tile, and rotate values. |
− | + | See Also: | |
+ | [[#AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddAmbientKey]], | ||
+ | [[#AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddDiffuseKey]], | ||
+ | [[#AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddGlossinessKey]], | ||
+ | [[#AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddOpacityKey]], | ||
+ | [[#AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSelfIlluminationKey]], | ||
+ | [[#AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSpecularKey]], | ||
+ | [[#AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )|AddTextureWeightKey]], | ||
+ | [[#AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute )|AddVideoVolumeKey]] | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''kKey''' [IN] The key for time and transition control - [[IC_Python_API:RLPy_RKey|RKey]] | |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
+ | :'''eChannel''' [IN] A material texture channel - RLPy.EMaterialTextureChannel | ||
+ | :*RLPy.EMaterialTextureChannel_Metallic | ||
+ | :*RLPy.EMaterialTextureChannel_Diffuse | ||
+ | :*RLPy.EMaterialTextureChannel_Specular | ||
+ | :*RLPy.EMaterialTextureChannel_Shininess | ||
+ | :*RLPy.EMaterialTextureChannel_Glow | ||
+ | :*RLPy.EMaterialTextureChannel_Displacement | ||
+ | :*RLPy.EMaterialTextureChannel_Opacity | ||
+ | :*RLPy.EMaterialTextureChannel_DiffuseBlend | ||
+ | :*RLPy.EMaterialTextureChannel_Bump | ||
+ | :*RLPy.EMaterialTextureChannel_Reflection | ||
+ | :*RLPy.EMaterialTextureChannel_Refraction | ||
+ | :*RLPy.EMaterialTextureChannel_Cube | ||
+ | :*RLPy.EMaterialTextureChannel_AmbientOcclusion | ||
+ | :*RLPy.EMaterialTextureChannel_Quantity | ||
+ | :'''kUvOffset''' [IN] The uv's offset for channel - RLPy.RVector2f | ||
+ | :'''kUvTile''' [IN] The uv's tile for channel - RLPy.RVector2f | ||
+ | :'''fUvRotate''' [IN] The uv's rotate for channel ( radians) - float | ||
− | + | ==== Return ==== | |
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | === | + | avatar = avatar_list[0] |
− | + | material_component = avatar.GetMaterialComponent() | |
− | RLPy. | + | mesh_list = avatar.GetMeshNames() |
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Create a key | ||
+ | key = RLPy.RKey() | ||
+ | key.SetTime(RLPy.RTime(1200)) | ||
+ | # Modify uv data | ||
+ | texture_channel = RLPy.EMaterialTextureChannel_Bump | ||
+ | uv_offset = RLPy.RVector2(0.1, 0) | ||
+ | uv_tile = RLPy.RVector2(1, 1) | ||
+ | uv_rotate = 3.14 | ||
+ | material_component.AddUvDataKey(key, mesh_name, material_name, | ||
+ | texture_channel, uv_offset, uv_tile, uv_rotate) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute ) === | |
− | ''' | + | Add a Video Volume key for the material according to the time and Transition Type of '''kKey'''. This key can be used to set the video material's channel video volume. |
− | + | See Also: | |
+ | [[#AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddAmbientKey]], | ||
+ | [[#AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddDiffuseKey]], | ||
+ | [[#AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddGlossinessKey]], | ||
+ | [[#AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight )|AddOpacityKey]], | ||
+ | [[#AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSelfIlluminationKey]], | ||
+ | [[#AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor )|AddSpecularKey]], | ||
+ | [[#AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )|AddTextureWeightKey]], | ||
+ | [[#AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )|AddUvDataKey]] | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''kKey''' [IN] The key for time and transition control - [[IC_Python_API:RLPy_RKey|RKey]] | |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
+ | :'''eChannel''' [IN] A material texture channel - RLPy.EMaterialTextureChannel | ||
+ | :*RLPy.EMaterialTextureChannel_Metallic | ||
+ | :*RLPy.EMaterialTextureChannel_Diffuse | ||
+ | :*RLPy.EMaterialTextureChannel_Specular | ||
+ | :*RLPy.EMaterialTextureChannel_Shininess | ||
+ | :*RLPy.EMaterialTextureChannel_Glow | ||
+ | :*RLPy.EMaterialTextureChannel_Displacement | ||
+ | :*RLPy.EMaterialTextureChannel_Opacity | ||
+ | :*RLPy.EMaterialTextureChannel_DiffuseBlend | ||
+ | :*RLPy.EMaterialTextureChannel_Bump | ||
+ | :*RLPy.EMaterialTextureChannel_Reflection | ||
+ | :*RLPy.EMaterialTextureChannel_Refraction | ||
+ | :*RLPy.EMaterialTextureChannel_Cube | ||
+ | :*RLPy.EMaterialTextureChannel_AmbientOcclusion | ||
+ | :*RLPy.EMaterialTextureChannel_Quantity | ||
+ | :'''fVol''' [IN] The volume of video ( 0-100 ) - float | ||
+ | :'''bMute''' [IN] mute - bool | ||
− | + | ==== Return ==== | |
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | === | + | avatar = avatar_list[0] |
− | + | material_component = avatar.GetMaterialComponent() | |
− | + | mesh_list = avatar.GetMeshNames() | |
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Create a key | ||
+ | key = RLPy.RKey() | ||
+ | key.SetTime(RLPy.RTime(1200)) | ||
+ | # Load video to material channel | ||
+ | texture_channel = RLPy.EMaterialTextureChannel_Bump | ||
+ | video_file = "C://MaterialVideoTest.mp4" | ||
+ | video_volume = 50 | ||
+ | is_mute = False | ||
+ | material_component.LoadVideoToTexture(key, mesh_name, material_name, | ||
+ | texture_channel, video_file) | ||
+ | material_component.AddVideoVolumeKey(key, mesh_name, material_name, | ||
+ | texture_channel, video_volume, is_mute) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === GetAmbientColor ( self, strMeshName, strMaterialName ) === | |
− | ' | + | Get the material's Ambient color. |
− | + | See Also: | |
+ | [[#GetDiffuseColor ( self, strMeshName, strMaterialName)|GetDiffuseColor]], | ||
+ | [[#GetGlossinessWeight ( self, strMeshName, strMaterialName)|GetGlossinessWeight]], | ||
+ | [[#GetMaterialNames ( self, strMeshName )|GetMaterialNames]], | ||
+ | [[#GetOpacity ( self, strMeshName, strMaterialName )|GetOpacity]], | ||
+ | [[#GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )|GetSelfIlluminationWeight]], | ||
+ | [[#GetSpecularColor ( self, strMeshName, strMaterialName )|GetSpecularColor]], | ||
+ | [[#GetSpecularWeight ( self, strMeshName, strMaterialName )|GetSpecularWeight]], | ||
+ | [[#GetTextureWeights ( self, strMeshName, strMaterialName )|GetTextureWeights]], | ||
+ | [[#GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )|GetUvData]], | ||
+ | [[#GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )|GetVideoVolume]] | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | + | ||
− | + | ==== Returns ==== | |
+ | :ambient color - [[IC_Python_API:RLPy_RRgb|RRgb]] | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | === | + | avatar = avatar_list[0] |
− | + | material_component = avatar.GetMaterialComponent() | |
− | + | mesh_list = avatar.GetMeshNames() | |
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Get ambient color | ||
+ | print(material_component.GetAmbientColor(mesh_name, material_name)) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === GetDiffuseColor ( self, strMeshName, strMaterialName) === | |
− | ' | + | Get the material's Diffuse color. |
− | + | See Also: | |
+ | [[#GetAmbientColor ( self, strMeshName, strMaterialName )|GetAmbientColor]], | ||
+ | [[#GetGlossinessWeight ( self, strMeshName, strMaterialName)|GetGlossinessWeight]], | ||
+ | [[#GetMaterialNames ( self, strMeshName )|GetMaterialNames]], | ||
+ | [[#GetOpacity ( self, strMeshName, strMaterialName )|GetOpacity]], | ||
+ | [[#GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )|GetSelfIlluminationWeight]], | ||
+ | [[#GetSpecularColor ( self, strMeshName, strMaterialName )|GetSpecularColor]], | ||
+ | [[#GetSpecularWeight ( self, strMeshName, strMaterialName )|GetSpecularWeight]], | ||
+ | [[#GetTextureWeights ( self, strMeshName, strMaterialName )|GetTextureWeights]], | ||
+ | [[#GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )|GetUvData]], | ||
+ | [[#GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )|GetVideoVolume]] | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==== Returns ==== | |
− | + | :diffuse color - [[IC_Python_API:RLPy_RRgb|RRgb]] | |
− | ==== | + | |
− | + | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | + | avatar = avatar_list[0] | |
− | + | material_component = avatar.GetMaterialComponent() | |
− | === | + | mesh_list = avatar.GetMeshNames() |
− | + | mesh_name = mesh_list[0] | |
− | + | material_list = material_component.GetMaterialNames(mesh_name) | |
+ | material_name = material_list[0] | ||
+ | # Get diffuse color | ||
+ | print(material_component.GetDiffuseColor(mesh_name, material_name)) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === GetGlossinessWeight ( self, strMeshName, strMaterialName) === | |
− | ' | + | Get the material's Glossiness weight. |
− | + | See Also: GetMaterialNameParameters | |
− | ''' | + | ==== Parameters ==== |
− | + | :'''strMeshName''' [IN] Name for the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of the material on the mesh - string | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==== Returns ==== | |
+ | :weight of specular - float | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
+ | # Get object, mesh and material | ||
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | avatar = avatar_list[0] | ||
+ | material_component = avatar.GetMaterialComponent() | ||
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Get glossiness weight | ||
+ | print(material_component.GetGlossinessWeight(mesh_name, material_name)) | ||
+ | </syntaxhighlight> | ||
− | + | === GetMaterialNames ( self, strMeshName ) === | |
− | + | ||
− | === | + | |
− | + | ||
− | + | Get all the material names for the mesh. | |
− | + | See Also: | |
− | + | [[#GetAmbientColor ( self, strMeshName, strMaterialName )|GetAmbientColor]], | |
− | + | [[#GetDiffuseColor ( self, strMeshName, strMaterialName)|GetDiffuseColor]], | |
− | + | [[#GetGlossinessWeight ( self, strMeshName, strMaterialName)|GetGlossinessWeight]], | |
− | + | [[#GetOpacity ( self, strMeshName, strMaterialName )|GetOpacity]], | |
− | + | [[#GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )|GetSelfIlluminationWeight]], | |
− | + | [[#GetSpecularColor ( self, strMeshName, strMaterialName )|GetSpecularColor]], | |
− | + | [[#GetSpecularWeight ( self, strMeshName, strMaterialName )|GetSpecularWeight]], | |
− | + | [[#GetTextureWeights ( self, strMeshName, strMaterialName )|GetTextureWeights]], | |
− | + | [[#GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )|GetUvData]], | |
− | + | [[#GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )|GetVideoVolume]] | |
− | ''' | + | ==== Parameters ==== |
+ | :'''strMeshName''' [IN] Name of the mesh - string | ||
− | + | ==== Returns ==== | |
+ | :material names - string list. | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
+ | # Get Object mesh and material | ||
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | avatar = avatar_list[0] | ||
+ | material_component = avatar.GetMaterialComponent() | ||
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | </syntaxhighlight> | ||
− | + | === GetOpacity ( self, strMeshName, strMaterialName ) === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | Get the material opacity value. | |
− | + | ||
− | + | ||
− | + | ||
− | + | See Also: | |
+ | [[#GetAmbientColor ( self, strMeshName, strMaterialName )|GetAmbientColor]], | ||
+ | [[#GetDiffuseColor ( self, strMeshName, strMaterialName)|GetDiffuseColor]], | ||
+ | [[#GetGlossinessWeight ( self, strMeshName, strMaterialName)|GetGlossinessWeight]], | ||
+ | [[#GetMaterialNames ( self, strMeshName )|GetMaterialNames]], | ||
+ | [[#GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )|GetSelfIlluminationWeight]], | ||
+ | [[#GetSpecularColor ( self, strMeshName, strMaterialName )|GetSpecularColor]], | ||
+ | [[#GetSpecularWeight ( self, strMeshName, strMaterialName )|GetSpecularWeight]], | ||
+ | [[#GetTextureWeights ( self, strMeshName, strMaterialName )|GetTextureWeights]], | ||
+ | [[#GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )|GetUvData]], | ||
+ | [[#GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )|GetVideoVolume]] | ||
− | + | ==== Parameters ==== | |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | === | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==== Returns ==== | |
+ | :weight of opacity - float | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | + | avatar = avatar_list[0] | |
− | + | material_component = avatar.GetMaterialComponent() | |
− | + | mesh_list = avatar.GetMeshNames() | |
− | === | + | mesh_name = mesh_list[0] |
− | + | material_list = material_component.GetMaterialNames(mesh_name) | |
− | + | material_name = material_list[0] | |
+ | # Get opacity | ||
+ | print(material_component.GetOpacity(mesh_name, material_name)) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === GetSelfIlluminationWeight ( self, strMeshName, strMaterialName ) === | |
− | ' | + | Get the material's self-illumination weight. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | See Also: | |
+ | [[#GetAmbientColor ( self, strMeshName, strMaterialName )|GetAmbientColor]], | ||
+ | [[#GetDiffuseColor ( self, strMeshName, strMaterialName)|GetDiffuseColor]], | ||
+ | [[#GetGlossinessWeight ( self, strMeshName, strMaterialName)|GetGlossinessWeight]], | ||
+ | [[#GetMaterialNames ( self, strMeshName )|GetMaterialNames]], | ||
+ | [[#GetOpacity ( self, strMeshName, strMaterialName )|GetOpacity]], | ||
+ | [[#GetSpecularColor ( self, strMeshName, strMaterialName )|GetSpecularColor]], | ||
+ | [[#GetSpecularWeight ( self, strMeshName, strMaterialName )|GetSpecularWeight]], | ||
+ | [[#GetTextureWeights ( self, strMeshName, strMaterialName )|GetTextureWeights]], | ||
+ | [[#GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )|GetUvData]], | ||
+ | [[#GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )|GetVideoVolume]] | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==== Returns ==== | |
− | + | :weight of self-illumination - float | |
− | ==== | + | |
− | + | ||
− | + | <syntaxhighlight lang="python" line='line'> | |
− | + | ( Experimental API ) | |
− | + | # Get object, mesh and material | |
− | === | + | avatar_list = RLPy.RScene.GetAvatars() |
− | + | avatar = avatar_list[0] | |
− | + | material_component = avatar.GetMaterialComponent() | |
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Get self-illumination weight | ||
+ | print(material_component.GetSelfIlluminationWeight(mesh_name, material_name)) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === GetSpecularColor ( self, strMeshName, strMaterialName ) === | |
− | ' | + | Get the material's Specular color. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | See Also: | |
+ | [[#GetAmbientColor ( self, strMeshName, strMaterialName )|GetAmbientColor]], | ||
+ | [[#GetDiffuseColor ( self, strMeshName, strMaterialName)|GetDiffuseColor]], | ||
+ | [[#GetGlossinessWeight ( self, strMeshName, strMaterialName)|GetGlossinessWeight]], | ||
+ | [[#GetMaterialNames ( self, strMeshName )|GetMaterialNames]], | ||
+ | [[#GetOpacity ( self, strMeshName, strMaterialName )|GetOpacity]], | ||
+ | [[#GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )|GetSelfIlluminationWeight]], | ||
+ | [[#GetSpecularWeight ( self, strMeshName, strMaterialName )|GetSpecularWeight]], | ||
+ | [[#GetTextureWeights ( self, strMeshName, strMaterialName )|GetTextureWeights]], | ||
+ | [[#GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )|GetUvData]], | ||
+ | [[#GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )|GetVideoVolume]] | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==== Returns ==== | |
+ | :Specular color - [[IC_Python_API:RLPy_RRgb|RRgb]] | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | + | avatar = avatar_list[0] | |
− | + | material_component = avatar.GetMaterialComponent() | |
− | + | mesh_list = avatar.GetMeshNames() | |
− | === | + | mesh_name = mesh_list[0] |
− | + | material_list = material_component.GetMaterialNames(mesh_name) | |
− | + | material_name = material_list[0] | |
+ | # Get specular color | ||
+ | print(material_component.GetSpecularColor(mesh_name, material_name)) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === GetSpecularWeight ( self, strMeshName, strMaterialName ) === | |
− | ' | + | Get the material's Specular weight. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | See Also: | |
+ | [[#GetAmbientColor ( self, strMeshName, strMaterialName )|GetAmbientColor]], | ||
+ | [[#GetDiffuseColor ( self, strMeshName, strMaterialName)|GetDiffuseColor]], | ||
+ | [[#GetGlossinessWeight ( self, strMeshName, strMaterialName)|GetGlossinessWeight]], | ||
+ | [[#GetMaterialNames ( self, strMeshName )|GetMaterialNames]], | ||
+ | [[#GetOpacity ( self, strMeshName, strMaterialName )|GetOpacity]], | ||
+ | [[#GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )|GetSelfIlluminationWeight]], | ||
+ | [[#GetSpecularColor ( self, strMeshName, strMaterialName )|GetSpecularColor]], | ||
+ | [[#GetTextureWeights ( self, strMeshName, strMaterialName )|GetTextureWeights]], | ||
+ | [[#GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )|GetUvData]], | ||
+ | [[#GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )|GetVideoVolume]] | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==== Returns ==== | |
+ | :Specular weight - float | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
+ | # Get object, mesh and material | ||
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | avatar = avatar_list[0] | ||
+ | material_component = avatar.GetMaterialComponent() | ||
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Get specular weight | ||
+ | print(material_component.GetSpecularWeight(mesh_name, material_name)) | ||
+ | </syntaxhighlight> | ||
− | + | === GetTextureWeights ( self, strMeshName, strMaterialName ) === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | Get all texture channel weights for the material. | |
− | + | See Also: | |
+ | [[#GetAmbientColor ( self, strMeshName, strMaterialName )|GetAmbientColor]], | ||
+ | [[#GetDiffuseColor ( self, strMeshName, strMaterialName)|GetDiffuseColor]], | ||
+ | [[#GetGlossinessWeight ( self, strMeshName, strMaterialName)|GetGlossinessWeight]], | ||
+ | [[#GetMaterialNames ( self, strMeshName )|GetMaterialNames]], | ||
+ | [[#GetOpacity ( self, strMeshName, strMaterialName )|GetOpacity]], | ||
+ | [[#GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )|GetSelfIlluminationWeight]], | ||
+ | [[#GetSpecularColor ( self, strMeshName, strMaterialName )|GetSpecularColor]], | ||
+ | [[#GetSpecularWeight ( self, strMeshName, strMaterialName )|GetSpecularWeight]], | ||
+ | [[#GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )|GetUvData]], | ||
+ | [[#GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )|GetVideoVolume]] | ||
− | + | ==== Parameters ==== | |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | ==== | + | :'''strMaterialName''' [IN] Name of a mesh material - string |
− | + | ||
− | + | ==== Returns ==== | |
+ | :Ordered list of all texture channel weights - float list | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | === | + | avatar = avatar_list[0] |
− | + | material_component = avatar.GetMaterialComponent() | |
− | + | mesh_list = avatar.GetMeshNames() | |
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Get all texture weights | ||
+ | temp_texture_weight_list = material_component.GetTextureWeights(mesh_name, material_name) | ||
+ | print(temp_texture_weight_list) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate ) === | |
− | + | Get all texture channel UV coordinates (offset, tiling, rotation) for the material. | |
− | ''' | + | See Also: |
− | + | [[#GetAmbientColor ( self, strMeshName, strMaterialName )|GetAmbientColor]], | |
− | + | [[#GetDiffuseColor ( self, strMeshName, strMaterialName)|GetDiffuseColor]], | |
− | * | + | [[#GetGlossinessWeight ( self, strMeshName, strMaterialName)|GetGlossinessWeight]], |
− | * | + | [[#GetMaterialNames ( self, strMeshName )|GetMaterialNames]], |
− | * | + | [[#GetOpacity ( self, strMeshName, strMaterialName )|GetOpacity]], |
− | * | + | [[#GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )|GetSelfIlluminationWeight]], |
− | * | + | [[#GetSpecularColor ( self, strMeshName, strMaterialName )|GetSpecularColor]], |
− | * | + | [[#GetSpecularWeight ( self, strMeshName, strMaterialName )|GetSpecularWeight]], |
− | * | + | [[#GetTextureWeights ( self, strMeshName, strMaterialName )|GetTextureWeights]], |
− | * | + | [[#GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )|GetVideoVolume]] |
− | * | + | |
− | * | + | ==== Parameters ==== |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | + | :'''eChannel''' [IN] A material texture channel - RLPy.EMaterialTextureChannel | |
− | ====Returns==== | + | :*RLPy.EMaterialTextureChannel_Metallic |
− | + | :*RLPy.EMaterialTextureChannel_Diffuse | |
− | < | + | :*RLPy.EMaterialTextureChannel_Specular |
− | + | :*RLPy.EMaterialTextureChannel_Shininess | |
− | === | + | :*RLPy.EMaterialTextureChannel_Glow |
− | + | :*RLPy.EMaterialTextureChannel_Displacement | |
− | RLPy. | + | :*RLPy.EMaterialTextureChannel_Opacity |
+ | :*RLPy.EMaterialTextureChannel_DiffuseBlend | ||
+ | :*RLPy.EMaterialTextureChannel_Bump | ||
+ | :*RLPy.EMaterialTextureChannel_Reflection | ||
+ | :*RLPy.EMaterialTextureChannel_Refraction | ||
+ | :*RLPy.EMaterialTextureChannel_Cube | ||
+ | :*RLPy.EMaterialTextureChannel_AmbientOcclusion | ||
+ | :*RLPy.EMaterialTextureChannel_Quantity | ||
+ | :'''kUvOffset''' [OUT] UV offset - [[IC_Python_API:RLPy_RVector2|RVector2]] | ||
+ | :'''kUvTile''' [OUT] UV tiling - [[IC_Python_API:RLPy_RVector2|RVector2]] | ||
+ | :'''fUvRotate''' [OUT] UV rotation in radians- float | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | # Get object, mesh and material | ||
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | avatar = avatar_list[0] | ||
+ | material_component = avatar.GetMaterialComponent() | ||
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Get UV data | ||
+ | uv_offset = RLPy.RVector2() | ||
+ | uv_tile = RLPy.RVector2() | ||
+ | uv_rotate = 0.0 | ||
+ | uv_data = material_component.GetUvData(mesh_name, material_name, texture_channel, uv_offset, uv_tile, uv_rotate) | ||
+ | print(uv_data[0]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === GetVideoVolume ( self, strMeshName, strMaterialName, eChannel ) === | |
− | + | Get the video volume for all the video channels of the material. | |
− | + | See Also: | |
− | + | [[#GetAmbientColor ( self, strMeshName, strMaterialName )|GetAmbientColor]], | |
− | + | [[#GetDiffuseColor ( self, strMeshName, strMaterialName)|GetDiffuseColor]], | |
− | + | [[#GetGlossinessWeight ( self, strMeshName, strMaterialName)|GetGlossinessWeight]], | |
− | + | [[#GetMaterialNames ( self, strMeshName )|GetMaterialNames]], | |
− | + | [[#GetOpacity ( self, strMeshName, strMaterialName )|GetOpacity]], | |
− | + | [[#GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )|GetSelfIlluminationWeight]], | |
− | + | [[#GetSpecularColor ( self, strMeshName, strMaterialName )|GetSpecularColor]], | |
− | + | [[#GetSpecularWeight ( self, strMeshName, strMaterialName )|GetSpecularWeight]], | |
− | + | [[#GetTextureWeights ( self, strMeshName, strMaterialName )|GetTextureWeights]], | |
− | + | [[#GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )|GetUvData]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | ''' | + | ==== Parameters ==== |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | + | :'''eChannel''' [IN] A material texture channel - RLPy.EMaterialTextureChannel | |
+ | :*RLPy.EMaterialTextureChannel_Metallic | ||
+ | :*RLPy.EMaterialTextureChannel_Diffuse | ||
+ | :*RLPy.EMaterialTextureChannel_Specular | ||
+ | :*RLPy.EMaterialTextureChannel_Shininess | ||
+ | :*RLPy.EMaterialTextureChannel_Glow | ||
+ | :*RLPy.EMaterialTextureChannel_Displacement | ||
+ | :*RLPy.EMaterialTextureChannel_Opacity | ||
+ | :*RLPy.EMaterialTextureChannel_DiffuseBlend | ||
+ | :*RLPy.EMaterialTextureChannel_Bump | ||
+ | :*RLPy.EMaterialTextureChannel_Reflection | ||
+ | :*RLPy.EMaterialTextureChannel_Refraction | ||
+ | :*RLPy.EMaterialTextureChannel_Cube | ||
+ | :*RLPy.EMaterialTextureChannel_AmbientOcclusion | ||
+ | :*RLPy.EMaterialTextureChannel_Quantity | ||
− | + | ==== Returns ==== | |
+ | :video volume - float | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | + | # Get object, mesh and material | |
− | + | avatar_list = RLPy.RScene.GetAvatars() | |
− | === | + | avatar = avatar_list[0] |
− | + | material_component = avatar.GetMaterialComponent() | |
− | RLPy. | + | mesh_list = avatar.GetMeshNames() |
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Get video volume | ||
+ | texture_channel = RLPy.EMaterialTextureChannel_Bump | ||
+ | print(material_component.GetVideoVolume(mesh_name, material_name, texture_channel)) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === LoadImageToTexture ( self, strMeshName, strMaterialName, eChannel, strImagePath ) === | |
− | + | Import an image into a material texture channel. | |
− | + | See Also: [[#LoadVideoToTexture ( self, strMeshName, strMaterialName, eChannel, strVideoPath )|LoadVideoToTexture]] | |
− | ''' | + | ==== Parameters ==== |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | * | + | :'''eChannel''' [IN] A material texture channel - RLPy.EMaterialTextureChannel |
− | * | + | :*RLPy.EMaterialTextureChannel_Metallic |
− | * | + | :*RLPy.EMaterialTextureChannel_Diffuse |
− | * | + | :*RLPy.EMaterialTextureChannel_Specular |
− | * | + | :*RLPy.EMaterialTextureChannel_Shininess |
− | * | + | :*RLPy.EMaterialTextureChannel_Glow |
− | * | + | :*RLPy.EMaterialTextureChannel_Displacement |
− | * | + | :*RLPy.EMaterialTextureChannel_Opacity |
− | * | + | :*RLPy.EMaterialTextureChannel_DiffuseBlend |
− | * | + | :*RLPy.EMaterialTextureChannel_Bump |
− | * | + | :*RLPy.EMaterialTextureChannel_Reflection |
− | * | + | :*RLPy.EMaterialTextureChannel_Refraction |
+ | :*RLPy.EMaterialTextureChannel_Cube | ||
+ | :*RLPy.EMaterialTextureChannel_AmbientOcclusion | ||
+ | :*RLPy.EMaterialTextureChannel_Quantity | ||
+ | :'''strImagePath''' [IN] Image file path - string | ||
− | + | ==== Returns ==== | |
− | + | :Success - RLPy.RStatus.Success | |
− | ==== | + | :Failure - RLPy.RStatus.Failure |
− | + | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
+ | # Get object, mesh and material | ||
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | avatar = avatar_list[0] | ||
+ | material_component = avatar.GetMaterialComponent() | ||
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | #Load image to material channel | ||
+ | texture_channel = RLPy.EMaterialTextureChannel_Diffuse | ||
+ | image_file = "C://diffuse.png" | ||
+ | result = material_component.LoadImageToTexture(mesh_name, material_name, texture_channel, image_file) | ||
+ | </syntaxhighlight> | ||
− | ''' | + | === LoadVideoToTexture ( self, strMeshName, strMaterialName, eChannel, strVideoPath ) === |
− | + | ||
− | --- | + | Import a video into a material texture channel. |
− | === | + | |
− | <syntaxhighlight lang=" | + | See Also: [[#LoadImageToTexture ( self, strMeshName, strMaterialName, eChannel, strImagePath )|LoadImageToTexture]] |
− | RLPy. | + | |
+ | ==== Parameters ==== | ||
+ | :'''kKey''' [IN] The key for time and transition control - [[IC_Python_API:RLPy_RKey|RKey]] | ||
+ | :'''strMeshName''' [IN] Name of the mesh - string | ||
+ | :'''strMaterialName''' [IN] Name of a mesh material - string | ||
+ | :'''eChannel''' [IN] A material texture channel - RLPy.EMaterialTextureChannel | ||
+ | :*RLPy.EMaterialTextureChannel_Metallic | ||
+ | :*RLPy.EMaterialTextureChannel_Diffuse | ||
+ | :*RLPy.EMaterialTextureChannel_Specular | ||
+ | :*RLPy.EMaterialTextureChannel_Shininess | ||
+ | :*RLPy.EMaterialTextureChannel_Glow | ||
+ | :*RLPy.EMaterialTextureChannel_Displacement | ||
+ | :*RLPy.EMaterialTextureChannel_Opacity | ||
+ | :*RLPy.EMaterialTextureChannel_DiffuseBlend | ||
+ | :*RLPy.EMaterialTextureChannel_Bump | ||
+ | :*RLPy.EMaterialTextureChannel_Reflection | ||
+ | :*RLPy.EMaterialTextureChannel_Refraction | ||
+ | :*RLPy.EMaterialTextureChannel_Cube | ||
+ | :*RLPy.EMaterialTextureChannel_AmbientOcclusion | ||
+ | :*RLPy.EMaterialTextureChannel_Quantity | ||
+ | :'''strVideoPath''' [IN] Video file path - string | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | # Get object, mesh and material | ||
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | avatar = avatar_list[0] | ||
+ | material_component = avatar.GetMaterialComponent() | ||
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Create a key | ||
+ | key = RLPy.RKey() | ||
+ | key.SetTime(RLPy.RTime(1200)) | ||
+ | # Load video to material channel | ||
+ | texture_channel = RLPy.EMaterialTextureChannel_Bump | ||
+ | video_file = "C://MaterialVideoTest.mp4" | ||
+ | material_component.LoadVideoToTexture(key, mesh_name, material_name, texture_channel, video_file) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | === RemoveUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel ) === | |
− | + | Remove an UV data key from a material texture channel. | |
− | + | See Also: [[#AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )|AddUvDataKey]] | |
− | ''' | + | ==== Parameters ==== |
− | + | :'''kKey''' [IN] The key for time and transition control - [[IC_Python_API:RLPy_RKey|RKey]] | |
− | + | :'''strMeshName''' [IN] Name of the mesh - string | |
− | + | :'''strMaterialName''' [IN] Name of a mesh material - string | |
− | * | + | :'''eChannel''' [IN] A material texture channel - RLPy.EMaterialTextureChannel |
− | * | + | :*RLPy.EMaterialTextureChannel_Metallic |
− | * | + | :*RLPy.EMaterialTextureChannel_Diffuse |
− | * | + | :*RLPy.EMaterialTextureChannel_Specular |
− | * | + | :*RLPy.EMaterialTextureChannel_Shininess |
− | * | + | :*RLPy.EMaterialTextureChannel_Glow |
− | * | + | :*RLPy.EMaterialTextureChannel_Displacement |
− | * | + | :*RLPy.EMaterialTextureChannel_Opacity |
− | * | + | :*RLPy.EMaterialTextureChannel_DiffuseBlend |
− | * | + | :*RLPy.EMaterialTextureChannel_Bump |
− | * | + | :*RLPy.EMaterialTextureChannel_Reflection |
− | + | :*RLPy.EMaterialTextureChannel_Refraction | |
− | + | :*RLPy.EMaterialTextureChannel_Cube | |
− | + | :*RLPy.EMaterialTextureChannel_AmbientOcclusion | |
+ | :*RLPy.EMaterialTextureChannel_Quantity | ||
− | + | ==== Returns ==== | |
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
− | '' | + | <syntaxhighlight lang="python" line='line'> |
− | </ | + | # Get object, mesh and material |
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | avatar = avatar_list[0] | ||
+ | material_component = avatar.GetMaterialComponent() | ||
+ | mesh_list = avatar.GetMeshNames() | ||
+ | mesh_name = mesh_list[0] | ||
+ | material_list = material_component.GetMaterialNames(mesh_name) | ||
+ | material_name = material_list[0] | ||
+ | # Create a key | ||
+ | key = RLPy.RKey() | ||
+ | key.SetTime(RLPy.RTime(1200)) | ||
+ | # Remove UV data key | ||
+ | texture_channel = RLPy.EMaterialTextureChannel_Bump test other channel | ||
+ | material_component.RemoveUvDataKey(key, mesh_name, material_name, texture_channel) | ||
+ | </syntaxhighlight> |
Latest revision as of 23:58, 14 April 2020
Contents
- 1 Description
- 2 Member Functions
- 2.1 AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor )
- 2.2 AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor )
- 2.3 AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight )
- 2.4 AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor )
- 2.5 AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor )
- 2.6 AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight )
- 2.7 AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )
- 2.8 AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )
- 2.9 AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute )
- 2.10 GetAmbientColor ( self, strMeshName, strMaterialName )
- 2.11 GetDiffuseColor ( self, strMeshName, strMaterialName)
- 2.12 GetGlossinessWeight ( self, strMeshName, strMaterialName)
- 2.13 GetMaterialNames ( self, strMeshName )
- 2.14 GetOpacity ( self, strMeshName, strMaterialName )
- 2.15 GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )
- 2.16 GetSpecularColor ( self, strMeshName, strMaterialName )
- 2.17 GetSpecularWeight ( self, strMeshName, strMaterialName )
- 2.18 GetTextureWeights ( self, strMeshName, strMaterialName )
- 2.19 GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )
- 2.20 GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )
- 2.21 LoadImageToTexture ( self, strMeshName, strMaterialName, eChannel, strImagePath )
- 2.22 LoadVideoToTexture ( self, strMeshName, strMaterialName, eChannel, strVideoPath )
- 2.23 RemoveUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel )
- Main article: Modules.
- Last modified: 04/14/2020
Description
This class is used to manipulate material surface properties. The main material properties are Ambient color, Diffuse color, Specular color, Glossiness value, Self-illumination value, Opacity value, textures, and more. A material is affiliated with an object, therefore, member functions of this class must specify a mesh and material name.
Inheritance
RIBase > RIMaterialComponent
Member Functions
AddAmbientKey ( self, kKey, strMeshName, strMaterialName, kColor )
Add an Ambient key for the material according to the time and Transition Type of kKey.
See Also: AddDiffuseKey, AddGlossinessKey, AddOpacityKey, AddSelfIlluminationKey, AddSpecularKey, AddTextureWeightKey, AddUvDataKey, AddVideoVolumeKey
Parameters
- kKey [IN] The key for time and transition control - RKey
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- kColor [IN] The color of a material’s ambient component - RRgb
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Add an ambient key value
13 material_component.AddAmbientKey(key, mesh_name, material_name, RLPy.RRgb.RED)
AddDiffuseKey ( self, kKey, strMeshName, strMaterialName, kColor )
Add a Diffuse key for the material according to the time and Transition Type of kKey.
See Also: AddAmbientKey, AddGlossinessKey, AddOpacityKey, AddSelfIlluminationKey, AddSpecularKey, AddTextureWeightKey, AddUvDataKey, AddVideoVolumeKey
Parameters
- kKey [IN] The key to add a diffuse key value - RKey
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- kColor [IN] The color for diffuse - RRgb
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Add a diffuse key value
13 material_component.AddDiffuseKey(key, mesh_name, material_name, RLPy.RRgb.RED)
AddGlossinessKey ( self, kKey, strMeshName, strMaterialName, fWeight )
Add a Glossiness key for the material according to the time and Transition Type of kKey.
See Also: AddAmbientKey, AddDiffuseKey, AddOpacityKey, AddSelfIlluminationKey, AddSpecularKey, AddTextureWeightKey, AddUvDataKey, AddVideoVolumeKey
Parameters
- kKey [IN] The key for time and transition control - RKey
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- fWeight [IN] The weight for glossiness - float [0~100]
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Add a glossiness key value
13 material_component.AddGlossinessKey(key, mesh_name, material_name, 0.5)
AddSpecularKey ( self, kKey, strMeshName, strMaterialName, kColor )
Add a Specular key for the material according to the time and Transition Type of kKey.
See Also: AddAmbientKey, AddDiffuseKey, AddGlossinessKey, AddOpacityKey, AddSelfIlluminationKey, AddTextureWeightKey, AddUvDataKey, AddVideoVolumeKey
Parameters
- kKey [IN] The key for time and transition control - RKey
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- kColor [IN] The color for specular - RRgb
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Add a specular key value
13 material_component.AddSpecularKey(key, mesh_name, material_name, RLPy.RRgb.RED)
AddSelfIlluminationKey ( self, kKey, strMeshName, strMaterialName, kColor )
Add a Self-illumination key for the material according to the time and Transition Type of kKey.
See Also: AddAmbientKey, AddDiffuseKey, AddGlossinessKey, AddOpacityKey, AddSpecularKey, AddTextureWeightKey, AddUvDataKey, AddVideoVolumeKey
Parameters
- kKey [IN] The key for time and transition control - RKey
strMeshName [IN] Name of the mesh - string strMaterialName [IN] Name of a mesh material - string fWeight [IN] The weight for self-illumination - float [0~100]
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Add a self-illumination key value
13 material_component.AddSelfIlluminationKey(key, mesh_name, material_name, 0.5)
AddOpacityKey ( self, kKey, strMeshName, strMaterialName, fWeight )
Add an Opacity key for the material according to the time and Transition Type of kKey.
See Also: AddAmbientKey, AddDiffuseKey, AddGlossinessKey, AddSelfIlluminationKey, AddSpecularKey, AddTextureWeightKey, AddUvDataKey, AddVideoVolumeKey
Parameters
- kKey [IN] The key for time and transition control - RKey
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- fWeight [IN] The weight for opacity - float [0~100]
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Add a opacity key value
13 material_component.AddOpacityKey(key, mesh_name, material_name, 0.5)
AddTextureWeightKey ( self, kKey, strMeshName, strMaterialName, eChannel, fWeight )
Add a Texture Channel Weight key for the material according to the time and Transition Type of kKey.
See Also: AddAmbientKey, AddDiffuseKey, AddGlossinessKey, AddOpacityKey, AddSelfIlluminationKey, AddSpecularKey, AddTextureWeightKey, AddUvDataKey, AddVideoVolumeKey
Parameters
- kKey [IN] The key for time and transition control - RKey
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- eChannel [IN] A material texture channel - RLPy.EMaterialTextureChannel
- RLPy.EMaterialTextureChannel_Metallic
- RLPy.EMaterialTextureChannel_Diffuse
- RLPy.EMaterialTextureChannel_Specular
- RLPy.EMaterialTextureChannel_Shininess
- RLPy.EMaterialTextureChannel_Glow
- RLPy.EMaterialTextureChannel_Displacement
- RLPy.EMaterialTextureChannel_Opacity
- RLPy.EMaterialTextureChannel_DiffuseBlend
- RLPy.EMaterialTextureChannel_Bump
- RLPy.EMaterialTextureChannel_Reflection
- RLPy.EMaterialTextureChannel_Refraction
- RLPy.EMaterialTextureChannel_Cube
- RLPy.EMaterialTextureChannel_AmbientOcclusion
- RLPy.EMaterialTextureChannel_Quantity
- fWeight [IN] The weight for channel - float [0~100] ui 上是 0~100, 傳到核心沒乘 0.01
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Modify texture weight
13 texture_channel = RLPy.EMaterialTextureChannel_Diffuse
14 diffuse_weight = 0.1
15 material_component.AddTextureWeightKey(key, mesh_name, material_name,
16 texture_channel, diffuse_weight)
AddUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel, kUvOffset, kUvTile, fUvRotate )
Add an UV Texture Coordinates key for the material according to the time and Transition Type of kKey. This key can be used to set the texture channel's UV offset, tile, and rotate values.
See Also: AddAmbientKey, AddDiffuseKey, AddGlossinessKey, AddOpacityKey, AddSelfIlluminationKey, AddSpecularKey, AddTextureWeightKey, AddVideoVolumeKey
Parameters
- kKey [IN] The key for time and transition control - RKey
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- eChannel [IN] A material texture channel - RLPy.EMaterialTextureChannel
- RLPy.EMaterialTextureChannel_Metallic
- RLPy.EMaterialTextureChannel_Diffuse
- RLPy.EMaterialTextureChannel_Specular
- RLPy.EMaterialTextureChannel_Shininess
- RLPy.EMaterialTextureChannel_Glow
- RLPy.EMaterialTextureChannel_Displacement
- RLPy.EMaterialTextureChannel_Opacity
- RLPy.EMaterialTextureChannel_DiffuseBlend
- RLPy.EMaterialTextureChannel_Bump
- RLPy.EMaterialTextureChannel_Reflection
- RLPy.EMaterialTextureChannel_Refraction
- RLPy.EMaterialTextureChannel_Cube
- RLPy.EMaterialTextureChannel_AmbientOcclusion
- RLPy.EMaterialTextureChannel_Quantity
- kUvOffset [IN] The uv's offset for channel - RLPy.RVector2f
- kUvTile [IN] The uv's tile for channel - RLPy.RVector2f
- fUvRotate [IN] The uv's rotate for channel ( radians) - float
Return
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Modify uv data
13 texture_channel = RLPy.EMaterialTextureChannel_Bump
14 uv_offset = RLPy.RVector2(0.1, 0)
15 uv_tile = RLPy.RVector2(1, 1)
16 uv_rotate = 3.14
17 material_component.AddUvDataKey(key, mesh_name, material_name,
18 texture_channel, uv_offset, uv_tile, uv_rotate)
AddVideoVolumeKey ( self, kKey, strMeshName, strMaterialName, eChannel, fVol, bMute )
Add a Video Volume key for the material according to the time and Transition Type of kKey. This key can be used to set the video material's channel video volume.
See Also: AddAmbientKey, AddDiffuseKey, AddGlossinessKey, AddOpacityKey, AddSelfIlluminationKey, AddSpecularKey, AddTextureWeightKey, AddUvDataKey
Parameters
- kKey [IN] The key for time and transition control - RKey
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- eChannel [IN] A material texture channel - RLPy.EMaterialTextureChannel
- RLPy.EMaterialTextureChannel_Metallic
- RLPy.EMaterialTextureChannel_Diffuse
- RLPy.EMaterialTextureChannel_Specular
- RLPy.EMaterialTextureChannel_Shininess
- RLPy.EMaterialTextureChannel_Glow
- RLPy.EMaterialTextureChannel_Displacement
- RLPy.EMaterialTextureChannel_Opacity
- RLPy.EMaterialTextureChannel_DiffuseBlend
- RLPy.EMaterialTextureChannel_Bump
- RLPy.EMaterialTextureChannel_Reflection
- RLPy.EMaterialTextureChannel_Refraction
- RLPy.EMaterialTextureChannel_Cube
- RLPy.EMaterialTextureChannel_AmbientOcclusion
- RLPy.EMaterialTextureChannel_Quantity
- fVol [IN] The volume of video ( 0-100 ) - float
- bMute [IN] mute - bool
Return
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Load video to material channel
13 texture_channel = RLPy.EMaterialTextureChannel_Bump
14 video_file = "C://MaterialVideoTest.mp4"
15 video_volume = 50
16 is_mute = False
17 material_component.LoadVideoToTexture(key, mesh_name, material_name,
18 texture_channel, video_file)
19 material_component.AddVideoVolumeKey(key, mesh_name, material_name,
20 texture_channel, video_volume, is_mute)
GetAmbientColor ( self, strMeshName, strMaterialName )
Get the material's Ambient color.
See Also: GetDiffuseColor, GetGlossinessWeight, GetMaterialNames, GetOpacity, GetSelfIlluminationWeight, GetSpecularColor, GetSpecularWeight, GetTextureWeights, GetUvData, GetVideoVolume
Parameters
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
Returns
- ambient color - RRgb
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Get ambient color
10 print(material_component.GetAmbientColor(mesh_name, material_name))
GetDiffuseColor ( self, strMeshName, strMaterialName)
Get the material's Diffuse color.
See Also: GetAmbientColor, GetGlossinessWeight, GetMaterialNames, GetOpacity, GetSelfIlluminationWeight, GetSpecularColor, GetSpecularWeight, GetTextureWeights, GetUvData, GetVideoVolume
Parameters
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
Returns
- diffuse color - RRgb
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Get diffuse color
10 print(material_component.GetDiffuseColor(mesh_name, material_name))
GetGlossinessWeight ( self, strMeshName, strMaterialName)
Get the material's Glossiness weight.
See Also: GetMaterialNameParameters
Parameters
- strMeshName [IN] Name for the mesh - string
- strMaterialName [IN] Name of the material on the mesh - string
Returns
- weight of specular - float
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Get glossiness weight
10 print(material_component.GetGlossinessWeight(mesh_name, material_name))
GetMaterialNames ( self, strMeshName )
Get all the material names for the mesh.
See Also: GetAmbientColor, GetDiffuseColor, GetGlossinessWeight, GetOpacity, GetSelfIlluminationWeight, GetSpecularColor, GetSpecularWeight, GetTextureWeights, GetUvData, GetVideoVolume
Parameters
- strMeshName [IN] Name of the mesh - string
Returns
- material names - string list.
1 # Get Object mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
GetOpacity ( self, strMeshName, strMaterialName )
Get the material opacity value.
See Also: GetAmbientColor, GetDiffuseColor, GetGlossinessWeight, GetMaterialNames, GetSelfIlluminationWeight, GetSpecularColor, GetSpecularWeight, GetTextureWeights, GetUvData, GetVideoVolume
Parameters
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
Returns
- weight of opacity - float
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Get opacity
10 print(material_component.GetOpacity(mesh_name, material_name))
GetSelfIlluminationWeight ( self, strMeshName, strMaterialName )
Get the material's self-illumination weight.
See Also: GetAmbientColor, GetDiffuseColor, GetGlossinessWeight, GetMaterialNames, GetOpacity, GetSpecularColor, GetSpecularWeight, GetTextureWeights, GetUvData, GetVideoVolume
Parameters
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
Returns
- weight of self-illumination - float
1 ( Experimental API )
2 # Get object, mesh and material
3 avatar_list = RLPy.RScene.GetAvatars()
4 avatar = avatar_list[0]
5 material_component = avatar.GetMaterialComponent()
6 mesh_list = avatar.GetMeshNames()
7 mesh_name = mesh_list[0]
8 material_list = material_component.GetMaterialNames(mesh_name)
9 material_name = material_list[0]
10 # Get self-illumination weight
11 print(material_component.GetSelfIlluminationWeight(mesh_name, material_name))
GetSpecularColor ( self, strMeshName, strMaterialName )
Get the material's Specular color.
See Also: GetAmbientColor, GetDiffuseColor, GetGlossinessWeight, GetMaterialNames, GetOpacity, GetSelfIlluminationWeight, GetSpecularWeight, GetTextureWeights, GetUvData, GetVideoVolume
Parameters
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
Returns
- Specular color - RRgb
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Get specular color
10 print(material_component.GetSpecularColor(mesh_name, material_name))
GetSpecularWeight ( self, strMeshName, strMaterialName )
Get the material's Specular weight.
See Also: GetAmbientColor, GetDiffuseColor, GetGlossinessWeight, GetMaterialNames, GetOpacity, GetSelfIlluminationWeight, GetSpecularColor, GetTextureWeights, GetUvData, GetVideoVolume
Parameters
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
Returns
- Specular weight - float
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Get specular weight
10 print(material_component.GetSpecularWeight(mesh_name, material_name))
GetTextureWeights ( self, strMeshName, strMaterialName )
Get all texture channel weights for the material.
See Also: GetAmbientColor, GetDiffuseColor, GetGlossinessWeight, GetMaterialNames, GetOpacity, GetSelfIlluminationWeight, GetSpecularColor, GetSpecularWeight, GetUvData, GetVideoVolume
Parameters
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
Returns
- Ordered list of all texture channel weights - float list
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Get all texture weights
10 temp_texture_weight_list = material_component.GetTextureWeights(mesh_name, material_name)
11 print(temp_texture_weight_list)
GetUvData ( self, strMeshName, strMaterialName, eChannel, kUvOffest, kUvTile, fUvRotate )
Get all texture channel UV coordinates (offset, tiling, rotation) for the material.
See Also: GetAmbientColor, GetDiffuseColor, GetGlossinessWeight, GetMaterialNames, GetOpacity, GetSelfIlluminationWeight, GetSpecularColor, GetSpecularWeight, GetTextureWeights, GetVideoVolume
Parameters
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- eChannel [IN] A material texture channel - RLPy.EMaterialTextureChannel
- RLPy.EMaterialTextureChannel_Metallic
- RLPy.EMaterialTextureChannel_Diffuse
- RLPy.EMaterialTextureChannel_Specular
- RLPy.EMaterialTextureChannel_Shininess
- RLPy.EMaterialTextureChannel_Glow
- RLPy.EMaterialTextureChannel_Displacement
- RLPy.EMaterialTextureChannel_Opacity
- RLPy.EMaterialTextureChannel_DiffuseBlend
- RLPy.EMaterialTextureChannel_Bump
- RLPy.EMaterialTextureChannel_Reflection
- RLPy.EMaterialTextureChannel_Refraction
- RLPy.EMaterialTextureChannel_Cube
- RLPy.EMaterialTextureChannel_AmbientOcclusion
- RLPy.EMaterialTextureChannel_Quantity
- kUvOffset [OUT] UV offset - RVector2
- kUvTile [OUT] UV tiling - RVector2
- fUvRotate [OUT] UV rotation in radians- float
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Get UV data
10 uv_offset = RLPy.RVector2()
11 uv_tile = RLPy.RVector2()
12 uv_rotate = 0.0
13 uv_data = material_component.GetUvData(mesh_name, material_name, texture_channel, uv_offset, uv_tile, uv_rotate)
14 print(uv_data[0])
GetVideoVolume ( self, strMeshName, strMaterialName, eChannel )
Get the video volume for all the video channels of the material.
See Also: GetAmbientColor, GetDiffuseColor, GetGlossinessWeight, GetMaterialNames, GetOpacity, GetSelfIlluminationWeight, GetSpecularColor, GetSpecularWeight, GetTextureWeights, GetUvData
Parameters
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- eChannel [IN] A material texture channel - RLPy.EMaterialTextureChannel
- RLPy.EMaterialTextureChannel_Metallic
- RLPy.EMaterialTextureChannel_Diffuse
- RLPy.EMaterialTextureChannel_Specular
- RLPy.EMaterialTextureChannel_Shininess
- RLPy.EMaterialTextureChannel_Glow
- RLPy.EMaterialTextureChannel_Displacement
- RLPy.EMaterialTextureChannel_Opacity
- RLPy.EMaterialTextureChannel_DiffuseBlend
- RLPy.EMaterialTextureChannel_Bump
- RLPy.EMaterialTextureChannel_Reflection
- RLPy.EMaterialTextureChannel_Refraction
- RLPy.EMaterialTextureChannel_Cube
- RLPy.EMaterialTextureChannel_AmbientOcclusion
- RLPy.EMaterialTextureChannel_Quantity
Returns
- video volume - float
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Get video volume
10 texture_channel = RLPy.EMaterialTextureChannel_Bump
11 print(material_component.GetVideoVolume(mesh_name, material_name, texture_channel))
LoadImageToTexture ( self, strMeshName, strMaterialName, eChannel, strImagePath )
Import an image into a material texture channel.
See Also: LoadVideoToTexture
Parameters
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- eChannel [IN] A material texture channel - RLPy.EMaterialTextureChannel
- RLPy.EMaterialTextureChannel_Metallic
- RLPy.EMaterialTextureChannel_Diffuse
- RLPy.EMaterialTextureChannel_Specular
- RLPy.EMaterialTextureChannel_Shininess
- RLPy.EMaterialTextureChannel_Glow
- RLPy.EMaterialTextureChannel_Displacement
- RLPy.EMaterialTextureChannel_Opacity
- RLPy.EMaterialTextureChannel_DiffuseBlend
- RLPy.EMaterialTextureChannel_Bump
- RLPy.EMaterialTextureChannel_Reflection
- RLPy.EMaterialTextureChannel_Refraction
- RLPy.EMaterialTextureChannel_Cube
- RLPy.EMaterialTextureChannel_AmbientOcclusion
- RLPy.EMaterialTextureChannel_Quantity
- strImagePath [IN] Image file path - string
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 #Load image to material channel
10 texture_channel = RLPy.EMaterialTextureChannel_Diffuse
11 image_file = "C://diffuse.png"
12 result = material_component.LoadImageToTexture(mesh_name, material_name, texture_channel, image_file)
LoadVideoToTexture ( self, strMeshName, strMaterialName, eChannel, strVideoPath )
Import a video into a material texture channel.
See Also: LoadImageToTexture
Parameters
- kKey [IN] The key for time and transition control - RKey
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- eChannel [IN] A material texture channel - RLPy.EMaterialTextureChannel
- RLPy.EMaterialTextureChannel_Metallic
- RLPy.EMaterialTextureChannel_Diffuse
- RLPy.EMaterialTextureChannel_Specular
- RLPy.EMaterialTextureChannel_Shininess
- RLPy.EMaterialTextureChannel_Glow
- RLPy.EMaterialTextureChannel_Displacement
- RLPy.EMaterialTextureChannel_Opacity
- RLPy.EMaterialTextureChannel_DiffuseBlend
- RLPy.EMaterialTextureChannel_Bump
- RLPy.EMaterialTextureChannel_Reflection
- RLPy.EMaterialTextureChannel_Refraction
- RLPy.EMaterialTextureChannel_Cube
- RLPy.EMaterialTextureChannel_AmbientOcclusion
- RLPy.EMaterialTextureChannel_Quantity
- strVideoPath [IN] Video file path - string
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Load video to material channel
13 texture_channel = RLPy.EMaterialTextureChannel_Bump
14 video_file = "C://MaterialVideoTest.mp4"
15 material_component.LoadVideoToTexture(key, mesh_name, material_name, texture_channel, video_file)
RemoveUvDataKey ( self, kKey, strMeshName, strMaterialName, eChannel )
Remove an UV data key from a material texture channel.
See Also: AddUvDataKey
Parameters
- kKey [IN] The key for time and transition control - RKey
- strMeshName [IN] Name of the mesh - string
- strMaterialName [IN] Name of a mesh material - string
- eChannel [IN] A material texture channel - RLPy.EMaterialTextureChannel
- RLPy.EMaterialTextureChannel_Metallic
- RLPy.EMaterialTextureChannel_Diffuse
- RLPy.EMaterialTextureChannel_Specular
- RLPy.EMaterialTextureChannel_Shininess
- RLPy.EMaterialTextureChannel_Glow
- RLPy.EMaterialTextureChannel_Displacement
- RLPy.EMaterialTextureChannel_Opacity
- RLPy.EMaterialTextureChannel_DiffuseBlend
- RLPy.EMaterialTextureChannel_Bump
- RLPy.EMaterialTextureChannel_Reflection
- RLPy.EMaterialTextureChannel_Refraction
- RLPy.EMaterialTextureChannel_Cube
- RLPy.EMaterialTextureChannel_AmbientOcclusion
- RLPy.EMaterialTextureChannel_Quantity
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 # Get object, mesh and material
2 avatar_list = RLPy.RScene.GetAvatars()
3 avatar = avatar_list[0]
4 material_component = avatar.GetMaterialComponent()
5 mesh_list = avatar.GetMeshNames()
6 mesh_name = mesh_list[0]
7 material_list = material_component.GetMaterialNames(mesh_name)
8 material_name = material_list[0]
9 # Create a key
10 key = RLPy.RKey()
11 key.SetTime(RLPy.RTime(1200))
12 # Remove UV data key
13 texture_channel = RLPy.EMaterialTextureChannel_Bump test other channel
14 material_component.RemoveUvDataKey(key, mesh_name, material_name, texture_channel)