首页 文章
  • 40 votes
     answers
     views

    如何检测three.js中的碰撞? [关闭]

    我正在使用three.js . 我的场景中有两个网格几何体 . 如果这些几何形状相交(或者如果被翻译则相交)我想将其检测为碰撞 . 如何使用three.js执行碰撞检测?如果three.js没有碰撞检测设施,是否还有其他库可以与three.js结合使用?
  • 6 votes
     answers
     views

    THREE.js / GLSL:WebGL着色器,根据世界空间位置对片段进行着色

    我已经看到了基于颜色片段在屏幕空间或其本地对象空间中的位置的解决方案,如Three.js/GLSL - Convert Pixel Coordinate to World Coordinate . 那些正在使用屏幕坐标,并在相机移动或旋转时进行更改;或仅适用于本地对象空间 . 我想要完成的是基于它们在世界空间中的 position 来着色碎片(如在three.js场景图的世界空间中) . 即使相机...
  • 0 votes
     answers
     views

    强制精灵对象始终位于THREE.js中的天幕对象前面

    我目前有一个自定义着色器在天幕上绘制渐变,并希望在天幕前面有一个太阳/月亮(从用户的角度来看) . 最简单的方法是为太阳和月亮准备精灵,但出现的问题是精灵会被留在天空中(精灵位于天幕的前方和中间位置) . 我试图用polygonoffset解决这个问题,但这似乎不适用于精灵对象 . 所以我的问题是,如何在天空之上设置太阳/月亮而不必修改我的自定义天幕着色器以添加渐变的太阳/月亮纹理(这可能最终会非...
  • 0 votes
     answers
     views

    Unity的WebView可以玩WebGL游戏吗?

    我是将旧的WebGL / Cocos2D-JS游戏移植到Unity游戏中的团队的一部分,但由于它们中有很多,所以需要一段时间 . 所以其中一个人问,为什么不使用Unity的webview(as can be seen here)来展示WebGL游戏,而Unity版本正在建设中? 我继续尝试,尝试使用Prepros托管一些使用Cocos2D创建的网页游戏,然后通过Unity中的链接访问 . 不幸的是...
  • 14 votes
     answers
     views

    如何使用三个JS为Camera.lookAt设置动画

    我有一个场景,呈现一个有几个对象的板 . 单击其中一个对象并使用对象拾取,我可以获取对象并为摄像机位置设置动画,使其位于对象的“俯视”视图中 . 然后使用camera.lookAt方法我可以强制相机直接查看对象 . 我在动画开始时注意到在onUpdate方法中调用camera.lookAt时的快速跳转,因为它最初有一个很大的距离来旋转以查看所选对象 . 相比之下,每次对camera.lookAt的...
  • 2 votes
     answers
     views

    在ThreeJs的中心点上下移动3D相机

    我在ThreeJs中做了一个非常基本的应用程序,我在中心有一个物体和2个滑块(水平旋转和垂直旋转) . 两个滑块都输出0到360之间的整数 . 到目前为止,我设法用第一个滑块水平移动我的相机 . 但我希望能够使用第二个滑块在对象周围上下移动相机,我无法弄清楚正确的数学运算 . 这是我的方程式现在的样子: camera.position.x = originX + radius * Math.co...
  • 2 votes
     answers
     views

    Three.js(R71)无法在IE11 windows 8.1上运行

    我正在运行R71 of three.js并且它不能在Windows 8.1上运行,即11版本:11.096更新版本11.0.7我收到以下警告: THREE.WebGLRenderer: OES_texture_half_float extension not supported. THREE.WebGLRenderer: OES_texture_half_float_linear extensio...
  • 2 votes
     answers
     views

    多次重复纹理

    我画的线条充满了我在着色器中重复的纹理 . 如下图所示 这条线是单点 - 每个顶点我在我的顶点着色器中展开,并且无论我们是什么缩放,一些计算始终都是相同的像素宽度 . 比我正在创建我的三角形,在我们正在X轴上重复绘制我的纹理 . 所以线条的宽度始终是图像高度 . 用户可以根据需要放大,随着变焦的变化,形状变得越来越大 . 虽然纹理节省了它的大小,但意味着有更多的重复 . 当用户非常放大我开始得...
  • 51 votes
     answers
     views

    使用多个索引渲染网格

    我有一些顶点数据 . 位置,法线,纹理坐标 . 我可能从.obj文件或其他格式加载它 . 也许我正在画一个立方体 . 但是每个顶点数据都有自己的索引 . 我可以使用OpenGL / Direct3D渲染这个网格数据吗?
  • 2 votes
     answers
     views

    计算3D地形的正确纹理坐标

    使用纹理,我正在尝试将数据传递给我的着色器,因此它知道每个片段应该是什么颜色 . 我正在尝试使用8位整数创建体素类型的地形(Minecraft样式体素),每个RGBA值是着色器上指定的不同颜色 . 值1可能是绿色,2可能是棕色 . 如果我的数学是正确的,那么2048 x 2048大小的纹理就是体素地形数据所需的确切大小: 2048 x 2048大小纹理= 4194304像素 . 一次装入8 x ...
  • 51 votes
     answers
     views

    使用多个索引渲染网格

    我有一些顶点数据 . 位置,法线,纹理坐标 . 我可能从.obj文件或其他格式加载它 . 也许我正在画一个立方体 . 但是每个顶点数据都有自己的索引 . 我可以使用OpenGL / Direct3D渲染这个网格数据吗?
  • 3 votes
     answers
     views

    在three.js中有数千行的性能问题

    这是我的第一个问题,所以我希望它符合指南 . 还请原谅我糟糕的英语 . 我目前正在开发一个基于three.js的WebGL应用程序,它在这些多维数据集之间显示数千个立方体和线条 . 我有几个性能问题所以我决定将所有立方体合并到一个几何体 . 这有点帮助但实际上性能因数千行而减慢(所有行都有自己的几何形状(基于NURBSCurve示例为three.js)和着色器材质(着色器从行的开头到结尾混合两种颜...
  • 0 votes
     answers
     views

    事件处理程序中的webGL绘图似乎清除了画布

    这是一个来自webglfundamentals.com的非常轻微的重写介绍示例 . http://codepen.io/anon/pen/mVYrZd 画布上的Mousedown绘制一个新的矩形 . 先前绘制的矩形被清除 . 为什么? for循环和事件处理程序调用完全相同的函数 . 相关代码: // Draw 50 random rectangles in random colors. // Th...
  • 28 votes
     answers
     views

    WebGL或Canvas是获得SVG关键帧动画硬件加速的唯一方法吗?

    我正在寻找的是使用html5的手机闪存替代品 . 我正在研究SVG,看来获得硬件加速的唯一方法就是使用CSS转换 . 但CSS转换是不够的,我想动画构成矢量的实际节点(即路径上的点),这样我就可以得到更复杂的角色动画 . 为此,我正在寻找一些基于gui的编辑 . 我检查了adobe一直在做什么,他们似乎杀死了Edge Animate并将Flash重新命名为2016年的“Animate CC” . ...
  • 1 votes
     answers
     views

    如何在WebGL中实质上使用“色度键”?

    我试图弄清楚如何根据颜色设置我绘制的纹理方块的alpha . 我正在使用带有白色背景的红色阿拉巴马州A的照片 . 我希望能够切换它以取出红色并通过A显示并切换它以取出白色并离开A.我有2个纹理方块 . 一个是背景,所以我认为我不能在frag着色器中做到这一点,因为它会对两个图像做到这一点吗?在我的主要js文件中,当我点击切换HTML按钮时,我需要能够将“色度键”从红色切换为白色 . 那么,如果只有...
  • 2 votes
     answers
     views

    将WebGL游戏移植到iPhone的原生OpenGL?

    我们正在开发一种网页游戏,它使用WebGL作为其中最重要的两个部分 . 使用HTML / CSS太慢而且太有限,所以它不在桌面上 . 事实上,iOS尚未公开支持WebGL,仅适用于iAd . 据我所知,一旦他们和微软声称已经修复安全问题,Apple最终会支持它,并且看起来足够稳定 . 问题是,如果Apple没有通过发布下一个市长iOS版本来做到这一点,那么我们将拥有一个无法运行的移动WebGL游戏...
  • 1 votes
     answers
     views

    在Android 5的WebView上支持WebGL

    我有一个Web项目(取决于WebGL),它适用于计算机,任何浏览器 . 现在我正在尝试将此项目作为基于Android的手机上的应用程序打开 . 我使用WebView来实现这一目标 . 我的手机(Nexus 3)有Android 4.3,而我之前在Android 5之前了解到,WebView组件不支持WebGL . 在Android 5中,WebView成为可更新的独立组件,依赖于Chromium版...
  • 6 votes
     answers
     views

    Unity:如何将VR Cardboard游戏嵌入到网站中

    现在,我认为在Unity中没有办法做到这一点 . 这是我到目前为止所发现的(如果我错了,请纠正我): 与Android和iPhone兼容的最流行的VR插件是Durovis Dive SDK和Google Cardboard SDK . 我读过大多数Android手机都与那些VR插件兼容 . 我的经验是只有少数兼容 . Durovis Dive SDK似乎是当今最兼容的SDK . 如果An...
  • 0 votes
     answers
     views

    如何在WebGL中使用texture2D渲染图像来保持宽高比?

    我有一个宽度*高度= 1442 * 1303的图像,我能够通过webgl的texture2D读取它们并成功渲染到画布 . 在客户端,我有一个arraybuffer,可以获取size = width * height * 4的图像数据 . 因此,当我的画布宽度和高度为window.innerWidth * 0.90和window.innerHeight * 0.90时,如何保持图像的纵横比 . 另外...
  • 2 votes
     answers
     views

    奇怪的压缩html图像

    我想使用从WebGL中的服务器检索的base64编码的png . 为此,我将编码的png加载到html Image对象中 . 对于我的应用程序,我需要png数据绝对无损,但是着色器检索到的像素值在不同的浏览器中是不同的...(如果我将Image加载到画布并使用getImageData,则检索到的像素值是不同的浏览器) . 必须有一些奇怪的像素值过滤/压缩发生,但我无法弄清楚如何以及为什么 . 有谁...

热门问题