【问题标题】:Three.js How to DragControl Object3D?三.js如何拖动控件Object3D?
【发布时间】:2015-12-07 15:32:59
【问题描述】:

当我使用 ObjectLoader 将 jSON 对象加载到场景中时,我无法将 DragControls 分配给它们。但是加载器中添加了一个网格,我可以分配拖动控制器。

我将此源代码用于我的项目 https://github.com/mrdoob/three.js/blob/master/examples/webgl_geometry_spline_editor.html

var loader = new THREE.ObjectLoader();
loader.load( model_url , function ( object ) {
    splineHelperObjects.push( object );
    splinePointsLength++;
    scene.add( object );
});

【问题讨论】:

    标签: three.js


    【解决方案1】:

    我终于想通了。 Object3D 必须包含在网格中。然后可以将其添加到辅助对象中。

    var loader = new THREE.ObjectLoader();
    loader.load( model_url , function ( object ) {
    
       var cylBleu = new THREE.MeshNormalMaterial( { transparent: true, opacity: 0 });
       var newMesh = new THREE.Mesh( object.children[0].geometry, cylBleu );`
    
       newMesh.add(object);
       splineHelperObjects.push( object );
       splinePointsLength++;
       scene.add( object );
    });
    

    【讨论】:

    • 或使用evencontrols
    • 谢谢。你知道如何在合谋发生后使用碰撞检测来限制移动吗?
    • newMesh.add(object)object.children[0].add(object) 一样吗?而你只是splineHelperObjects.push(object)object 将如何被 DragControls 拖动?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    相关资源
    最近更新 更多