zoukankan      html  css  js  c++  java
  • Three.js中的div标签跟随(模型弹框)

    Three.js中的div标签跟随(模型弹框)

    参考官方案例

    核心渲染器

    three.js-masterexamplesjs enderersCSS2DRenderer.js

    用法

    1. 把div存为变量

      var testDiv = document.getElementById('testDiv');
      
    2. 把上述div对象转化为一个CSS2DObject对象

      var moonLabel = new THREE.CSS2DObject( testDiv );
      //前两个参数是对于屏幕xy坐标,可以取负数  第三个不清楚,按道理应该是z轴坐标,不知道怎么体现
      moonLabel.position.set( 0, 1, 0 );
      
    3. 在模型中加入该CSS2DObject对象

      textObject.add( moonLabel );
      
    4. CSS2DRenderer渲染

      var labelRenderer = new THREE.CSS2DRenderer();
      labelRenderer.setSize( window.innerWidth, window.innerHeight );
      labelRenderer.domElement.style.position = 'absolute';
      labelRenderer.domElement.style.top = 0;
      
    5. 在animate中renderer前加入该渲染

      var animate = function () {
          requestAnimationFrame( animate );
          labelRenderer.render( scene, camera );
          renderer.render( scene, camera );
      };
      

    注意事项

    代码加入的位置很重要

    • 上面的代码放在camera / OrbitControls之后, 否则相机控制不能用

    • 如果要加button等,要在这段代码之后

      var moonDiv = document.getElementById('testDiv');
      var moonLabel = new THREE.CSS2DObject( moonDiv );
      moonLabel.position.set( 0, 0, 20 );
      group.add( moonLabel );
      //上面是原来加的代码
      //下面是需要加的一个button
      var btn = document.getElementById("btn");
      document.body.appendChild(btn);
      
  • 相关阅读:
    磁盘管理之磁盘组成
    用户管理
    定时任务
    虚拟机安装centos6.9
    linux的文件属性与文件权限
    linux磁盘容量不足
    正则表达式与特殊符号
    linux三剑客与正则案例
    借用父构造函数继承属性
    myeclipse常用快捷键
  • 原文地址:https://www.cnblogs.com/richardwlee/p/10531484.html
Copyright © 2011-2022 走看看