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

Editor: Wired up Camera fov, near and far.

上级 da0dfeee
......@@ -290,22 +290,28 @@ Sidebar.Properties.Material = function ( signals ) {
function updateRows() {
var material = selected.material;
var properties = {
'color': materialColorRow,
'ambient': materialAmbientRow,
'emissive': materialEmissiveRow,
'specular': materialSpecularRow,
'shininess': materialShininessRow,
'lightMap': materialLightMapRow,
'bumpMap': materialBumpMapRow,
'normalMap': materialNormalMapRow,
'specularMap': materialSpecularMapRow,
'envMap': materialEnvMapRow,
'opacity': materialOpacityRow,
'transparent': materialTransparentRow,
'wireframe': materialWireframeRow
};
for ( var property in properties ) {
properties[ property ].setDisplay( selected.material[ property ] !== undefined ? '' : 'none' );
materialColorRow.setDisplay( material.color !== undefined ? '' : 'none' );
materialAmbientRow.setDisplay( material.ambient !== undefined ? '' : 'none' );
materialEmissiveRow.setDisplay( material.emissive !== undefined ? '' : 'none' );
materialSpecularRow.setDisplay( material.specular !== undefined ? '' : 'none' );
materialShininessRow.setDisplay( material.shininess !== undefined ? '' : 'none' );
materialMapRow.setDisplay( material.map !== undefined ? '' : 'none' );
materialLightMapRow.setDisplay( material.lightMap !== undefined ? '' : 'none' );
materialBumpMapRow.setDisplay( material.bumpMap !== undefined ? '' : 'none' );
materialNormalMapRow.setDisplay( material.normalMap !== undefined ? '' : 'none' );
materialSpecularMapRow.setDisplay( material.specularMap !== undefined ? '' : 'none' );
materialEnvMapRow.setDisplay( material.envMap !== undefined ? '' : 'none' );
materialOpacityRow.setDisplay( material.opacity !== undefined ? '' : 'none' );
materialTransparentRow.setDisplay( material.transparent !== undefined ? '' : 'none' );
materialWireframeRow.setDisplay( material.wireframe !== undefined ? '' : 'none' );
}
};
......
......@@ -73,6 +73,38 @@ Sidebar.Properties.Object3D = function ( signals ) {
container.add( objectVisibleRow );
// fov
var objectFovRow = new UI.Panel();
var objectFov = new UI.Number( 'absolute' ).setLeft( '100px' ).onChange( update );
objectFovRow.add( new UI.Text().setValue( 'Fov' ).setColor( '#666' ) );
objectFovRow.add( objectFov );
container.add( objectFovRow );
// near
var objectNearRow = new UI.Panel();
var objectNear = new UI.Number( 'absolute' ).setLeft( '100px' ).onChange( update );
objectNearRow.add( new UI.Text().setValue( 'Near' ).setColor( '#666' ) );
objectNearRow.add( objectNear );
container.add( objectNearRow );
// far
var objectFarRow = new UI.Panel();
var objectFar = new UI.Number( 'absolute' ).setLeft( '100px' ).onChange( update );
objectFarRow.add( new UI.Text().setValue( 'Far' ).setColor( '#666' ) );
objectFarRow.add( objectFar );
container.add( objectFarRow );
container.add( new UI.Break() );
//
......@@ -97,12 +129,46 @@ Sidebar.Properties.Object3D = function ( signals ) {
selected.visible = objectVisible.getValue();
if ( selected.fov !== undefined ) {
selected.fov = objectFov.getValue();
}
if ( selected.near !== undefined ) {
selected.near = objectNear.getValue();
}
if ( selected.far !== undefined ) {
selected.far = objectFar.getValue();
}
signals.objectChanged.dispatch( selected );
}
}
function updateRows() {
var properties = {
'fov': objectFovRow,
'near': objectNearRow,
'far': objectFarRow
};
for ( var property in properties ) {
properties[ property ].setDisplay( selected[ property ] !== undefined ? '' : 'none' );
}
}
function getObjectInstanceName( object ) {
for ( var key in objects ) {
......@@ -139,8 +205,28 @@ Sidebar.Properties.Object3D = function ( signals ) {
objectScaleY.setValue( object.scale.y );
objectScaleZ.setValue( object.scale.z );
if ( object.fov !== undefined ) {
objectFov.setValue( object.fov );
}
if ( object.near !== undefined ) {
objectNear.setValue( object.near );
}
if ( object.far !== undefined ) {
objectFar.setValue( object.far );
}
objectVisible.setValue( object.visible );
updateRows();
} else {
container.setDisplay( 'none' );
......
......@@ -123,6 +123,12 @@ var Viewport = function ( signals ) {
signals.objectChanged.add( function ( object ) {
if ( object instanceof THREE.Camera ) {
object.updateProjectionMatrix();
}
render();
} );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册