Kaynağa Gözat

Editor: Make IOR configurable. (#28028)

Michael Herzog 1 yıl önce
ebeveyn
işleme
7624487188

+ 2 - 2
editor/js/Sidebar.Material.NumberProperty.js

@@ -1,14 +1,14 @@
 import { UINumber, UIRow, UIText } from './libs/ui.js';
 import { SetMaterialValueCommand } from './commands/SetMaterialValueCommand.js';
 
-function SidebarMaterialNumberProperty( editor, property, name, range = [ - Infinity, Infinity ] ) {
+function SidebarMaterialNumberProperty( editor, property, name, range = [ - Infinity, Infinity ], precision = 2 ) {
 
 	const signals = editor.signals;
 
 	const container = new UIRow();
 	container.add( new UIText( name ).setClass( 'Label' ) );
 
-	const number = new UINumber().setWidth( '60px' ).setRange( range[ 0 ], range[ 1 ] ).onChange( onChange );
+	const number = new UINumber().setWidth( '60px' ).setRange( range[ 0 ], range[ 1 ] ).setPrecision( precision ).onChange( onChange );
 	container.add( number );
 
 	let object = null;

+ 5 - 0
editor/js/Sidebar.Material.js

@@ -111,6 +111,11 @@ function SidebarMaterial( editor ) {
 	const materialReflectivity = new SidebarMaterialNumberProperty( editor, 'reflectivity', strings.getKey( 'sidebar/material/reflectivity' ) );
 	container.add( materialReflectivity );
 
+	// ior
+
+	const materialIOR = new SidebarMaterialNumberProperty( editor, 'ior', strings.getKey( 'sidebar/material/ior' ), [ 1, 2.333 ], 3 );
+	container.add( materialIOR );
+
 	// roughness
 
 	const materialRoughness = new SidebarMaterialNumberProperty( editor, 'roughness', strings.getKey( 'sidebar/material/roughness' ), [ 0, 1 ] );

+ 8 - 0
editor/js/Strings.js

@@ -251,6 +251,7 @@ function Strings( config ) {
 			'sidebar/material/shininess': 'Shininess',
 			'sidebar/material/clearcoat': 'Clearcoat',
 			'sidebar/material/clearcoatroughness': 'Clearcoat Roughness',
+			'sidebar/material/ior': 'IOR',
 			'sidebar/material/iridescence': 'Iridescence',
 			'sidebar/material/iridescenceIOR': 'Thin-Film IOR',
 			'sidebar/material/iridescenceThicknessMax': 'Thin-Film Thickness',
@@ -602,6 +603,7 @@ function Strings( config ) {
 			'sidebar/material/shininess': 'Brillance',
 			'sidebar/material/clearcoat': 'Vernis',
 			'sidebar/material/clearcoatroughness': 'Rugosité du vernis',
+			'sidebar/material/ior': 'IOR',
 			'sidebar/material/iridescence': 'Iridescence',
 			'sidebar/material/iridescenceIOR': 'Thin-Film IOR',
 			'sidebar/material/iridescenceThicknessMax': 'Thin-Film Thickness',
@@ -618,7 +620,9 @@ function Strings( config ) {
 			'sidebar/material/alphamap': 'Texture de transparence',
 			'sidebar/material/bumpmap': 'Texture de relief',
 			'sidebar/material/normalmap': 'Texture de normales',
+			'sidebar/material/clearcoatmap': 'Clearcoat Map',
 			'sidebar/material/clearcoatnormalmap': 'Texture des normales du vernis',
+			'sidebar/material/clearcoatroughnessmap': 'Clearcoat Roughness Map',
 			'sidebar/material/displacementmap': 'Texture de déplacement',
 			'sidebar/material/roughnessmap': 'Texture de rugosité',
 			'sidebar/material/metalnessmap': 'Texture métallique',
@@ -951,6 +955,7 @@ function Strings( config ) {
 			'sidebar/material/shininess': '高光大小',
 			'sidebar/material/clearcoat': '清漆',
 			'sidebar/material/clearcoatroughness': '清漆粗糙度',
+			'sidebar/material/ior': 'IOR',
 			'sidebar/material/iridescence': '彩虹色',
 			'sidebar/material/iridescenceIOR': '彩虹色折射率',
 			'sidebar/material/iridescenceThicknessMax': '彩虹色厚度',
@@ -967,7 +972,9 @@ function Strings( config ) {
 			'sidebar/material/alphamap': '透明贴图',
 			'sidebar/material/bumpmap': '凹凸贴图',
 			'sidebar/material/normalmap': '法线贴图',
+			'sidebar/material/clearcoatmap': 'Clearcoat Map',
 			'sidebar/material/clearcoatnormalmap': '清漆法线贴图',
+			'sidebar/material/clearcoatroughnessmap': 'Clearcoat Roughness Map',
 			'sidebar/material/displacementmap': '置换贴图',
 			'sidebar/material/roughnessmap': '粗糙贴图',
 			'sidebar/material/metalnessmap': '金属贴图',
@@ -1300,6 +1307,7 @@ function Strings( config ) {
 			'sidebar/material/shininess': '光沢',
 			'sidebar/material/clearcoat': 'クリアコート',
 			'sidebar/material/clearcoatroughness': 'クリアコートの粗さ',
+			'sidebar/material/ior': 'IOR',
 			'sidebar/material/iridescence': '遊色効果',
 			'sidebar/material/iridescenceIOR': '遊色効果のIOR',
 			'sidebar/material/iridescenceThicknessMax': '遊色効果の厚さ',