Three.js 立方体黑色但我添加了纹理?

2024-01-24

我尝试向使用 JS/THREE.JS 制作的立方体添加纹理。 但是当我在浏览器中打开它时,它全黑了?

这是我的代码:

    <html>
    <head>
        <title>My first Three.js app</title>
        <style>canvas { width: 100%; height: 100% }</style>
    </head>
    <body>
        <script src="https://rawgithub.com/mrdoob/three.js/master/build/three.js"></script>
        <script>
      // revolutions per second
      var angularSpeed = 0.2; 
      var lastTime = 0;

      // this function is executed on each animation frame
      function animate(){
        // update
        var time = (new Date()).getTime();
        var timeDiff = time - lastTime;
        var angleChange = angularSpeed * timeDiff * 2 * Math.PI / 1000;
        cube.rotation.y += angleChange;
        lastTime = time;

        // render
        renderer.render(scene, camera);

        // request new frame
        requestAnimationFrame(function(){
            animate();
        });
      }

      // renderer
      var renderer = new THREE.WebGLRenderer();
      renderer.setSize(window.innerWidth, window.innerHeight);
      document.body.appendChild(renderer.domElement);

      // camera
      var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000);
      camera.position.z = 500;

      // scene
      var scene = new THREE.Scene();

      // material
      var material = new THREE.MeshLambertMaterial({
        map: THREE.ImageUtils.loadTexture('crate.jpg')
      });

      // cube
      var cube = new THREE.Mesh(new THREE.CubeGeometry(200, 200, 200), material);
      cube.overdraw = true;
      cube.rotation.x = Math.PI * 0.1;
      scene.add(cube);

      // add subtle ambient lighting
      var ambientLight = new THREE.AmbientLight(0xbbbbbb);
      scene.add(ambientLight);

      // directional lighting
      var directionalLight = new THREE.DirectionalLight(0xffffff);
      directionalLight.position.set(1, 1, 1).normalize();
      scene.add(directionalLight);

      // start animation
      animate();
        </script>
    </body>
</html>

我使用本指南来做到这一点:http://www.html5canvastutorials.com/ Three/html5-canvas-webgl-texture-with- Three-js/ http://www.html5canvastutorials.com/three/html5-canvas-webgl-texture-with-three-js/


这可能是因为 MeshLambertMaterial 需要环境光,您有环境光,但可能设置不正确。尝试使用 MeshBasicMaterial 代替。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Three.js 立方体黑色但我添加了纹理? 的相关文章

  • Three.js:基于图像的光照(IBL)

    I m searching to add an IBL to my scene and objects But I can t find anything on the web There are some examples with an
  • 三.JS Shadow 到对象

    我想添加castShadow and receiveShadow在一个物体上 但是下面的代码有什么问题吗 var mtlLoader new THREE MTLLoader mtlLoader setPath objects Tree mt
  • Three.js - 如何翻译几何图形

    我有一个脚本 可以定位各种宽度 高度和深度的立方体 并且正在努力根据 xAxis yAxis 和 zAxis 也有所不同 将它们准确地排列起来 var geometry new THREE BoxGeometry width height
  • 如何在 Three.js 场景中包含 OVRManager?

    我创建了几个 Three js Javascript 演示应用程序 正在我的新 Oculus Go 中进行试验 我正在尝试让 Go 控制器在我的应用程序中执行某些操作 根据 Oculus 开发人员中心的说法 最好的办法是将 OVRManag
  • (A 框架)本地 gltf 不会加载;无法读取未定义的属性“切片”

    我从A型框架学校 https aframe io aframe school 11其中加载了 gltf 模型 然后我从 Khronos 加载了示例模型 this box https github com KhronosGroup glTF
  • OpenGL - 两个纹理的幂

    OpenGL 使用二次幂纹理 这是因为由于 MipMapping 某些 GPU 只接受 2 的幂纹理 当绘制比实际更大的纹理时 使用这些二次方纹理会导致问题 我想到了一种方法来解决这个问题 即仅在我们使纹理小于实际大小时使用 PO2 比率
  • 在 Three.js 中从 Web Worker 加载纹理

    当将大纹理图像应用到网格上一段明显的时间时 Three js 会锁定浏览器的主线程 让我们考虑以下示例 var texLoader new THREE TextureLoader texLoader load someLargeTextur
  • 尝试渲染 SDL_Texture 时 C++ SDL2 错误:无效纹理

    我正在尝试制作一个简单的游戏 当我尝试渲染我的SDL Texture 我收到一个莫名其妙的错误 我已经将一切设置正确 我能够成功地清除屏幕SDL RenderClear 并且我的纹理不为空 因此它应该已正确创建 但是当我尝试打电话给rend
  • ThreeJS 中阴影的奇怪行为

    所以我有一个 ThreeJS 场景 并且添加了一些球体 多材质 我还添加了定向光 this light new THREE DirectionalLight 0xFFFFFF 1 this light position set 2 10 2
  • 平铺单纯形噪声?

    我 作为业余爱好者 对伪随机噪声生成很感兴趣 特别是 Perlin 和 Simplex 算法 Simplex 的优点是速度 尤其是在更高的维度上 但 Perlin 可以相对容易地平铺 我想知道是否有人知道平铺单纯形算法 固定维度就好 泛型更
  • 如何在 Three.js 中从 3D 点创建 3D 表面?

    我正在制作一个项目来制作带有点和线 弯曲或非弯曲 的简单 3D 模型 对于第一个版本 我使用 SVG 元素进行简单渲染 平滑曲线和鼠标事件 现在我正在尝试使用Three js渲染器而不是 SVG 我必须创建 3d 管来替换曲线 但我不知道如
  • glDeleteTextures在Windows上似乎没有释放纹理内存,有没有解决办法?

    我的 openGL 应用程序内存不足 遇到一些问题 我正在尝试找出我的问题 为此 我创建了一个小型测试程序 它基本上只是从调用 glDeleteTextures 的文件中加载一个巨大的纹理 然后再次加载它 如果我在 OSX 上运行这个测试程
  • 使用 Three.js 中的设备方向控件进行对象旋转

    我正在迈出使用 JavaScript 进行编码并使用 Three js 的第一步 我正在尝试 Threejs org 的这个例子 http trijs org examples misc controls deviceorientation
  • 将 FBX 文件转换为 .gltf 后,模型非常小,为什么?

    问题 将 FBX 文件转换为 gltf 后 模型非常小 为什么 我尝试用以下方法缩放模型frontObject scale set 1000 1000 1000 但我收到以下错误 TypeError Cannot read property
  • 使用 Three.js 制作带孔的圆角盒

    我需要创建一个 4 个侧面但顶部和底部都有圆角的盒子 Three js 有一个很好的例子webgl 几何 形状 https threejs org examples webgl geometry shapes我正在尝试复制它以在绿色圆框上添
  • Three.js、自定义着色器和具有透明度的 png 纹理

    我有一个非常简单的 PNG 纹理 一个带有透明背景的灰色圆圈 我用它作为制服map for a THREE ShaderMaterial var uniforms THREE UniformsUtils merge basicShader
  • Three.js:为相机添加灯光

    我想移动和旋转相机 但将点光源保持在相对于相机的相同位置 我读过很多帖子 说您可以将灯光对象添加到相机而不是场景中 就像这样 pointLight new THREE PointLight 0xffffff pointLight posit
  • 如何使用OpenGL数组纹理?

    我正在尝试在OpenGL中使用精灵表 通过数组纹理实现它这就是我加载纹理的方式 QImage image image load C QtProjects project images spritesheet png png const un
  • React-Three-Fiber:JSON 中位置 3 出现意外标记 c 错误

    我正在尝试使用 React Three Fiber 加载 glb 文件 但出现以下错误 Error Unexpected token c in JSON at position 3 我不确定我做错了什么 看来此问题最常见的解决方案是将 gl
  • Three.js WebGL 从着色器绘制圆形自定义填充和边框颜色

    我将 Three js 与 WebGLRenderer 一起使用 我试图找出或查看如何使用 CircleGeometry 绘制圆圈的示例 并能够从顶点或片段着色器控制其填充和边框颜色 如果不使用图像作为纹理 这是否可能 抱歉 如果这真的很简

随机推荐

  • R 包 check() 警告:完整检查需要“checkbashisms”脚本

    今天 我尝试为软件包准备新的 CRAN 更新 并在执行时遇到警告devtools check 由于在我对包进行更改的情况下也会出现此警告 因此我假设这是一项新检查 不幸的是我并没有真正明白我应该做什么 这是错误消息 完整的检查需要 chec
  • 访问 Web 服务时出现 Http 502 Bad Gateway 错误

    我有一个 asp net 4 0 网站 我正在使用一些外部 Web 服务来检索我显示的一些数据 我使用 wsdl 工具为这些 Web 服务创建了代理 我正在设置一个 url 并在 Web 服务上设置 PreAuthenticate true
  • 如何从这段代码中绘制控制流图?

    int main int i grade 0 printf Enter points n scanf d i if i gt 50 i lt 60 grade 5 else if i gt 50 i lt 60 grade 6 else i
  • 根据用户限制字​​段的选择

    我希望表单仅在 ChoiceField 中显示当前用户的帐户 我尝试执行以下操作 但它不起作用 编辑 抱歉 我忘记提及我添加的 if kwargs 因为 TransForm 没有显示任何字段 我想这是错误的 但我不知道其他方法 视图 py
  • MySQL 无法连接到使用 Rubber 部署的 EC2

    我正在使用 ruby 来部署 Rails 应用程序 但在连接到 MySQL 时遇到问题 我是否必须在 EC2 上手动设置 MySQL 还是 Rubber 应该已经这样做了 虽然这并不是很有帮助 但以下是运行 rake 时的日志输出 out
  • 设置 时 POST 请求失败

    考虑以下情况 Web 服务器正在运行 NET 应用程序
  • 通过命令行替换 pom.xml 中的 Maven 属性

    我想替换 Maven 属性pom xml通过某些 Maven 插件使用命令行调用文件
  • 调用另一个对象的触摸开始iOS

    假设我有 view1 正在拦截触摸事件 而 view2 则没有 view1 可以将这些事件传递给 view2 并调用 view2 TouchesBegin view2 TouchMoved 等吗 是的 有时 也许 您所询问的技术被称为事件转
  • 有没有办法在 C# 中继续异常?

    当您的程序 在调试器中 发生意外异常时 有时您只想跳过它 因为此时终止程序比继续运行更有害 或者您只是想继续 因为您对另一个错误 错误更感兴趣 是否有选项 编译器标志 秘密开关来启用此功能 我知道应该立即解决异常 但在某些情况下 就像我所描
  • 如何使内联ckeditor工具栏固定在顶部而不是浮动

    我在我的页面中使用内联 CKEditor 我想将其固定在 contenteditable div 的顶部 目前 每当我滚动页面时它就会浮动 如何让工具栏位置固定在顶部 结合使用内联编辑器和共享空间 http ckeditor com add
  • 如何将模块添加到我的 SystemJs 配置文件中,以便我可以以角度导入它

    如何使用 SystemJS 和此 system config js 文件将我刚刚从 npm 下载的新包添加到我的 Angular 2 组件中 下面的代码是由入门包为我生成的 我尝试将模块的链接放在该文件的地图和包部分中 但它似乎不起作用 我
  • d3.js 如何从 csv 或表生成树层次结构

    我有一个包含以下数据的 csv world country state World US CA World US NJ World INDIA OR World INDIA AP 我需要转换为树层次结构 如下所示 name World ch
  • 在 Rails 中显示 404 而不是 500

    在我的 Rails 应用程序中 我定义了路线 以便用户可以访问类似的记录http mydomain com qwe2 http mydomain com qwe2 但如果他们输入错误的 qwe2 他们会得到 500 页 我认为404会更合适
  • 从文本文件的行范围中删除 \n 字符

    假设我们有一个 1000 行的文本文件 我们如何删除第20行到第500行的新行字符 例如用空格替换它们 My try sed 20 500p N s n better not to say anything 所有其他行 1 19 501 1
  • 如何在没有 MANIFEST.in 文件的情况下包含 package_data?

    我怎样才能包括package data for sdist没有 MANIFEST in 文件 我的 setup py 看起来像这样 import setuptools setuptools setup name foo version 20
  • “MEIPASS”代表什么?

    PyInstaller 设置sys MEIPASS属性让应用程序知道在哪里可以找到其捆绑的资源 来源 这个答案 https stackoverflow com q 7674790 119527 我知道什么 MEIPASS does 名字是什
  • SQL 日期范围分割

    你能告诉我当日期范围重叠时分割日期范围的 SQL 吗 数据 具有日期范围和可能的其他列的示例数据 Col1 FromDate ToDate 1 1 1 1 2008 31 12 2010 2 1 1 1 2009 31 12 2012 3
  • 更改 UIButton 内的 SF 符号大小

    我声明一个这样的按钮 let menuButton UIButton 之后 我尝试更改它的参数并在 LBTATools 一个 pod 的帮助下通过以下函数设置他在视图上的位置 fileprivate func setMenuButtonUI
  • 如何使用 SimpleMembership 获取角色?

    我正在使用 SimpleMembership 开发 MVC4 应用程序 我有一个表 userInfo 其中存储用户的信息 例如姓名 电子邮件 地址 电话 角色等 当我注册用户时 数据存储在该表和webpages Membership 中 其
  • Three.js 立方体黑色但我添加了纹理?

    我尝试向使用 JS THREE JS 制作的立方体添加纹理 但是当我在浏览器中打开它时 它全黑了 这是我的代码