threejs editor源码解析1详解编程语言

threejs editor源码解析1

今天先看看 

threejs editor源码解析1详解编程语言

这个功能的实现

这个实现就是用了  javascript signals 框架 异步通信 这么做就是为了解耦 渲染和逻辑 分离 这个跟vuejs一样   

找到editor/js/commands/SetPositionCommand.js  这个文件 发布消息的

execute: function () { 
 
        this.object.position.copy( this.newPosition ); 
        this.object.updateMatrixWorld( true ); 
        this.editor.signals.objectChanged.dispatch( this.object ); 
 
    },

然后接收消息

是在viewport.js

signals.objectChanged.add( function ( object ) { 
 
        if ( editor.selected === object ) { 
 
            selectionBox.setFromObject( object ); 
 
        } 
 
        if ( object.isPerspectiveCamera ) { 
 
            object.updateProjectionMatrix(); 
 
        } 
 
        if ( editor.helpers[ object.id ] !== undefined ) { 
 
            editor.helpers[ object.id ].update(); 
 
        } 
 
        render(); 
 
    } );

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/18751.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论