Browse Source

Fix split node not working, dynamically change output length of join node (#27998)

abc013 1 year ago
parent
commit
d4101cb34c
2 changed files with 7 additions and 7 deletions
  1. 2 0
      playground/editors/JoinEditor.js
  2. 5 7
      playground/editors/SplitEditor.js

+ 2 - 0
playground/editors/JoinEditor.js

@@ -40,6 +40,8 @@ export class JoinEditor extends BaseNodeEditor {
 
 
 			this.invalidate();
 			this.invalidate();
 
 
+			this.title.setOutput( length );
+
 		};
 		};
 
 
 		const xElement = setInputAestheticsFromType( new LabelElement( 'x | r' ), 'Number' ).onConnect( update );
 		const xElement = setInputAestheticsFromType( new LabelElement( 'x | r' ), 'Number' ).onConnect( update );

+ 5 - 7
playground/editors/SplitEditor.js

@@ -1,7 +1,7 @@
 import { LabelElement } from 'flow';
 import { LabelElement } from 'flow';
 import { BaseNodeEditor } from '../BaseNodeEditor.js';
 import { BaseNodeEditor } from '../BaseNodeEditor.js';
 import { nodeObject, float } from 'three/nodes';
 import { nodeObject, float } from 'three/nodes';
-import { setInputAestheticsFromType } from '../DataTypeLib.js';
+import { setInputAestheticsFromType, setOutputAestheticsFromType } from '../DataTypeLib.js';
 
 
 export class SplitEditor extends BaseNodeEditor {
 export class SplitEditor extends BaseNodeEditor {
 
 
@@ -33,12 +33,10 @@ export class SplitEditor extends BaseNodeEditor {
 
 
 		} );
 		} );
 
 
-		this.add( inputElement );
-
-		const xElement = setInputAestheticsFromType( new LabelElement( 'x | r' ), 'Number' ).setObject( float() );
-		const yElement = setInputAestheticsFromType( new LabelElement( 'y | g' ), 'Number' ).setObject( float() );
-		const zElement = setInputAestheticsFromType( new LabelElement( 'z | b' ), 'Number' ).setObject( float() );
-		const wElement = setInputAestheticsFromType( new LabelElement( 'w | a' ), 'Number' ).setObject( float() );
+		const xElement = setOutputAestheticsFromType( new LabelElement( 'x | r' ), 'Number' ).setObject( float() );
+		const yElement = setOutputAestheticsFromType( new LabelElement( 'y | g' ), 'Number' ).setObject( float() );
+		const zElement = setOutputAestheticsFromType( new LabelElement( 'z | b' ), 'Number' ).setObject( float() );
+		const wElement = setOutputAestheticsFromType( new LabelElement( 'w | a' ), 'Number' ).setObject( float() );
 
 
 		this.add( inputElement )
 		this.add( inputElement )
 			.add( xElement )
 			.add( xElement )