添加关照、全局等高线、修改图层问题
This commit is contained in:
35
static/sdk/three/jsm/nodes/utils/RotateUVNode.js
Normal file
35
static/sdk/three/jsm/nodes/utils/RotateUVNode.js
Normal file
@ -0,0 +1,35 @@
|
||||
import TempNode from '../core/TempNode.js';
|
||||
import { addNodeClass } from '../core/Node.js';
|
||||
import { addNodeElement, nodeProxy, vec2 } from '../shadernode/ShaderNode.js';
|
||||
|
||||
class RotateUVNode extends TempNode {
|
||||
|
||||
constructor( uvNode, rotationNode, centerNode = vec2( 0.5 ) ) {
|
||||
|
||||
super( 'vec2' );
|
||||
|
||||
this.uvNode = uvNode;
|
||||
this.rotationNode = rotationNode;
|
||||
this.centerNode = centerNode;
|
||||
|
||||
}
|
||||
|
||||
setup() {
|
||||
|
||||
const { uvNode, rotationNode, centerNode } = this;
|
||||
|
||||
const vector = uvNode.sub( centerNode );
|
||||
|
||||
return vector.rotate( rotationNode ).add( centerNode );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default RotateUVNode;
|
||||
|
||||
export const rotateUV = nodeProxy( RotateUVNode );
|
||||
|
||||
addNodeElement( 'rotateUV', rotateUV );
|
||||
|
||||
addNodeClass( 'RotateUVNode', RotateUVNode );
|
Reference in New Issue
Block a user