Smoothness Unity 5 C# PBR

Questions à propos du scripting Shader.
snoopy45
Messages : 8
Inscription : 22 Avr 2015 11:48

Smoothness Unity 5 C# PBR

Message par snoopy45 » 22 Avr 2015 14:12

Bonjour je suis nouveau sur le forum, je souhaiterais poser une question sur la modification en script d'un material.

Je souhaiterai modifier le paramètre "Smoothness" de mon material qui est un sous-parametre de "Metallic".

J'arrive a modifier le "Metallic" de mon material :
MonObjet.GetComponent<MeshRenderer>().material.SetFloat("_Metallic",0.477f);

Mais pas moyen d'acceder au Smoothness...

Pouvez vous m'aider ?

Merci

sotec
Messages : 542
Inscription : 21 Sep 2012 10:11

Re: Smoothness Unity 5 C# PBR

Message par sotec » 22 Avr 2015 14:50

le shader standard a ces propriètés :

Code : Tout sélectionner

	Properties
	{
		_Color("Color", Color) = (1,1,1,1)
		_MainTex("Albedo", 2D) = "white" {}
		
		_Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5

		_Glossiness("Smoothness", Range(0.0, 1.0)) = 0.5
		[Gamma] _Metallic("Metallic", Range(0.0, 1.0)) = 0.0
		_MetallicGlossMap("Metallic", 2D) = "white" {}

		_BumpScale("Scale", Float) = 1.0
		_BumpMap("Normal Map", 2D) = "bump" {}

		_Parallax ("Height Scale", Range (0.005, 0.08)) = 0.02
		_ParallaxMap ("Height Map", 2D) = "black" {}

		_OcclusionStrength("Strength", Range(0.0, 1.0)) = 1.0
		_OcclusionMap("Occlusion", 2D) = "white" {}

		_EmissionColor("Color", Color) = (0,0,0)
		_EmissionMap("Emission", 2D) = "white" {}
		
		_DetailMask("Detail Mask", 2D) = "white" {}

		_DetailAlbedoMap("Detail Albedo x2", 2D) = "grey" {}
		_DetailNormalMapScale("Scale", Float) = 1.0
		_DetailNormalMap("Normal Map", 2D) = "bump" {}

		[Enum(UV0,0,UV1,1)] _UVSec ("UV Set for secondary textures", Float) = 0

		// UI-only data
		[HideInInspector] _EmissionScaleUI("Scale", Float) = 0.0
		[HideInInspector] _EmissionColorUI("Color", Color) = (1,1,1)

		// Blending state
		[HideInInspector] _Mode ("__mode", Float) = 0.0
		[HideInInspector] _SrcBlend ("__src", Float) = 1.0
		[HideInInspector] _DstBlend ("__dst", Float) = 0.0
		[HideInInspector] _ZWrite ("__zw", Float) = 1.0
	}
Smoothness : _Glossiness
┬─┬ノ(º - ºノ) - (╯°□°)╯︵ ┻━┻

snoopy45
Messages : 8
Inscription : 22 Avr 2015 11:48

Re: Smoothness Unity 5 C# PBR

Message par snoopy45 » 22 Avr 2015 15:01

Merci beaucoup,

Voici la correction :)

MonObjet.GetComponent<MeshRenderer>().material.SetFloat("_Glossiness",0.477f);

snoopy45
Messages : 8
Inscription : 22 Avr 2015 11:48

Re: Smoothness Unity 5 C# PBR

Message par snoopy45 » 22 Avr 2015 16:58

J'ai un autre problème,

Quant je change le "Rendering Mode" pour le mettre en transparent, il se change dans la liste mais il ne s'actualise pas au niveau du visuel :

MonObjet.GetComponent<MeshRenderer>().material.SetFloat("_Mode",3);

Pouvez vous m’éclairer ?

Merci

sotec
Messages : 542
Inscription : 21 Sep 2012 10:11

Re: Smoothness Unity 5 C# PBR

Message par sotec » 22 Avr 2015 17:37

oui, j'ai eu le soucis, changer le mode ne suffit pas ^^ , j'ai déjà posté une fonction qui fait le nécessaire :

viewtopic.php?f=24&t=10170
┬─┬ノ(º - ºノ) - (╯°□°)╯︵ ┻━┻

snoopy45
Messages : 8
Inscription : 22 Avr 2015 11:48

Re: Smoothness Unity 5 C# PBR

Message par snoopy45 » 23 Avr 2015 08:45

Bonjour,

Et bien un grand MERCI, ça marche parfaitement :) !

Répondre

Revenir vers « les Shaders »