提交 1062a5b3 编写于 作者: M Mr.doob

Editor: Added ClearCoatNormalMap support.

上级 8d7c7ae7
......@@ -351,6 +351,22 @@ Sidebar.Material = function ( editor ) {
container.add( materialNormalMapRow );
// clearcoat normal map
var materialClearCoatNormalMapRow = new UI.Row();
var materialClearCoatNormalMapEnabled = new UI.Checkbox( false ).onChange( update );
var materialClearCoatNormalMap = new UI.Texture().onChange( update );
var materialClearCoatNormalScaleX = new UI.Number( 1 ).setWidth( '30px' ).onChange( update );
var materialClearCoatNormalScaleY = new UI.Number( 1 ).setWidth( '30px' ).onChange( update );
materialClearCoatNormalMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/clearcoatnormalmap' ) ).setWidth( '90px' ) );
materialClearCoatNormalMapRow.add( materialClearCoatNormalMapEnabled );
materialClearCoatNormalMapRow.add( materialClearCoatNormalMap );
materialClearCoatNormalMapRow.add( materialClearCoatNormalScaleX );
materialClearCoatNormalMapRow.add( materialClearCoatNormalScaleY );
container.add( materialClearCoatNormalMapRow );
// displacement map
var materialDisplacementMapRow = new UI.Row();
......@@ -801,6 +817,39 @@ Sidebar.Material = function ( editor ) {
}
if ( material.clearCoatNormalMap !== undefined ) {
var clearCoatNormalMapEnabled = materialClearCoatNormalMapEnabled.getValue() === true;
if ( objectHasUvs ) {
var clearCoatNormalMap = clearCoatNormalMapEnabled ? materialClearCoatNormalMap.getValue() : null;
if ( material.clearCoatNormalMap !== clearCoatNormalMap ) {
editor.execute( new SetMaterialMapCommand( editor, currentObject, 'clearCoatNormalMap', clearCoatNormalMap, currentMaterialSlot ) );
}
if ( material.clearCoatNormalScale.x !== materialClearCoatNormalScaleX.getValue() ||
material.clearCoatNormalScale.y !== materialClearCoatNormalScaleY.getValue() ) {
var value = [
materialClearCoatNormalScaleX.getValue(),
materialClearCoatNormalScaleY.getValue()
];
editor.execute( new SetMaterialVectorCommand( editor, currentObject, 'clearCoatNormalScale', value, currentMaterialSlot ) );
}
} else {
if ( clearCoatNormalMapEnabled ) textureWarning = true;
}
}
if ( material.displacementMap !== undefined ) {
var displacementMapEnabled = materialDisplacementMapEnabled.getValue() === true;
......@@ -1333,6 +1382,21 @@ Sidebar.Material = function ( editor ) {
}
if ( material.clearCoatNormalMap !== undefined ) {
materialClearCoatNormalMapEnabled.setValue( material.clearCoatNormalMap !== null );
if ( material.clearCoatNormalMap !== null || resetTextureSelectors ) {
materialClearCoatNormalMap.setValue( material.clearCoatNormalMap );
}
materialClearCoatNormalScaleX.setValue( material.clearCoatNormalScale.x );
materialClearCoatNormalScaleY.setValue( material.clearCoatNormalScale.y );
}
if ( material.displacementMap !== undefined ) {
materialDisplacementMapEnabled.setValue( material.displacementMap !== null );
......
......@@ -236,6 +236,7 @@ var Strings = function ( config ) {
'sidebar/material/alphamap': 'Alpha Map',
'sidebar/material/bumpmap': 'Bump Map',
'sidebar/material/normalmap': 'Normal Map',
'sidebar/material/clearcoatnormalmap': 'ClearCoat Normal Map',
'sidebar/material/displacemap': 'Displace Map',
'sidebar/material/roughmap': 'Rough. Map',
'sidebar/material/metalmap': 'Metal. Map',
......@@ -507,6 +508,7 @@ var Strings = function ( config ) {
'sidebar/material/alphamap': '透明贴图',
'sidebar/material/bumpmap': '凹凸贴图',
'sidebar/material/normalmap': '法线贴图',
'sidebar/material/clearcoatnormalmap': 'ClearCoat Normal Map',
'sidebar/material/displacemap': '置换贴图',
'sidebar/material/roughmap': '粗糙贴图',
'sidebar/material/metalmap': '金属贴图',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册