在 Three.js 中,Alpha 通道工作不一致

2024-03-02

我正在用 Three.js 构建一个“剪纸”世界。我的所有模型都是简单的“平面”,我使用带有 Alpha 通道的 PNG 来对它们进行纹理处理,以将平面修剪成更令人愉悦的形状。

奇怪的是:根据飞机的位置和相机的位置,透明度不可预测地出现和消失。

症状 1:如果平面部分低于地平面,则透明度起作用,但如果我将其移至地平面上方,则透明区域将填充白色。

症状 2:建立在症状 1 的基础上:如果我现在移动相机,使外观矢量几乎平行于平面,透明度将再次开始工作。

有什么想法吗?看起来有点像优化出错或者可能是 z-write 问题?无论 alpha 值如何,纹理都会写入 z 吗?如果是这样的话,我认为它不会对位置或相机角度敏感。


您需要设置transparent在材料中标记为 true。

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

在 Three.js 中,Alpha 通道工作不一致 的相关文章

  • 有什么方法可以从 Three.js Object3D 中获取边界框吗?

    我正在使用 Three js 和 OBJLoader js 加载 OBJ 文件 这将返回一个 Three Object3D 对象 它具有您期望从 3D 模型中获得的内容 位置向量 向上向量 我不明白的是如何获得它的边界框 这可能吗 您不需要
  • 在 Three.js 中针对“子场景”进行光线投射

    因此 我正在使用 Three js 示例中的 webgl interactive cubes html 并且我有一个相对简单的问题 是否可以测试光线与对象的子对象的相交 例如 如果我做类似的事情 for var i 0 i lt 2000
  • 具有材质颜色的三个 js 动画搅拌机模型

    我有一个导出的 三个 js json 格式 搅拌机模型 该模型有一些带有颜色的材料 如果我使用 THREE MorphAnimMesh 和 THREE MeshPhongMaterial 动画工作正常 但没有材质颜色 如果我使用 THREE
  • 计算相机近平面和远平面边界

    我正在尝试执行中提到的计算使用 THREE Frustum 计算近 远平面顶点 https stackoverflow com questions 12018710 calculate near far plane vertices usi
  • 如何将 SketchUp 模型导出到 Three.js?

    我通过谷歌创建了一个模型SketchUp 我想将其导出到three js节省一些时间 因为我想使用SketchUp比three js 那么有人可以告诉我该怎么做吗 非常感谢 您可以从 SketcUp 导出 collada DAE 然后使用
  • 三个js如何手动添加三角形到BufferGeometry

    我一直在尝试找到使用 Three js 更改网格顶点的最快方法 我发现 如果我更改 mesh geometry attributes position array 的部分内容 然后设置 mesh geometry attributes po
  • Three.js 支持波斯语/阿拉伯语文本

    我需要以波斯语 阿拉伯语显示一些文本 我加载了包含字符的字体 并使用 TextGeometry 在场景上创建文本 var loader new THREE FontLoader loader load B Zar Regular js fu
  • 在 Java 中设置 BufferedImage alpha 掩码

    我有两个从 png 加载的 BufferedImage 第一个包含图像 第二个包含图像的 alpha 蒙版 我想通过应用 alpha 蒙版从这两个图像创建一个组合图像 我的谷歌搜索失败了 我知道如何加载 保存图像 我只需要从两个 Buffe
  • 将 A 框架与 Three.js 相结合

    我想知道 是否可以将 Three js 元素添加到 A 框架场景中 假设 A frame 是基于 Three js 构建的 并且 three Version 0 74 0 登录到你的控制台这不应该是一件奇怪的事情 对吧 我在我的 A 框架场
  • 如何在 Three.js 中从三角面获取多边形?

    我在网上查了一下是否有人遇到同样的问题 我正在使用 Three js 我有一个 3DObject 其中可能包含孔 面是三角形的 假设我想从上面看到它 我的目标是获得一个代表顶面周长的多边形 这对我来说意味着不再有三角面 而只有 1 个多边形
  • THREE.js 导入的模型不应用面部纹理

    我正在尝试导入使用 THREEJS 导出器从搅拌机导出的模型 到目前为止 模型已加载并出现在我的场景中 并且正确应用了材质 汽车应为黄色 玻璃应为透明 但它并没有将我的纹理应用到以 tga 形式保存的汽车上 如果我不将纹理包含在模型所在的服
  • 重复凹凸贴图

    我正在尝试使用 Three js r55 将凹凸贴图应用到平面上 以创建一个模糊的感觉表面 这是我的代码 var mapHeight THREE ImageUtils loadTexture images felt png mapHeigh
  • 三.js Raycaster intersectObjects

    我正在尝试修改这个例子 https github com timoxley threejs blob master examples webgl morphtargets md2 control html来自 Three js 通过鼠标点击
  • 一次性渲染阴影

    考虑到阴影投射的成本 我想知道对于动态定位的静态对象 例如 程序城市 是否有一个功能或可能 实验性的方法可以在 Three js 中仅渲染一次阴影贴图 甚至在 webgl 中 因此 结果可以在静态对象的下一帧中免费使用 仅当物体移动时才会进
  • 控制 n 个重叠区域的 alpha 混合/不透明度

    我很难理解 和控制 alpha 的混合 不幸的是 alpha 值并不是简单地 相加 0 5 0 5 不是 1 但我怎样才能做到这一点呢 目的是定义重叠区域相对于观测总数的 绝对 灰度值 请参见下面的示例 我尝试设置scale alpha r
  • 获取 png 图像的像素的 alpha 值?

    我正在使用以下代码 img imagecreatefrompng image png col imagecolorat img x y alpha col gt gt 24 0x7F 但 alpha 值始终为 127 即使像素位于 x y
  • 三.JS Shadow 到对象

    我想添加castShadow and receiveShadow在一个物体上 但是下面的代码有什么问题吗 var mtlLoader new THREE MTLLoader mtlLoader setPath objects Tree mt
  • Three.js 椭圆

    如何在 Three js 中创建一个椭圆 我看过这个 在 THREE js 中绘制椭圆 https stackoverflow com questions 11419896 drawing an ellipse in three js 但如
  • 解决 Three.js / webGL 中的 gl_PointSize 限制

    我正在使用 Three js 创建交互式数据可视化 此可视化涉及渲染 68000 个节点 其中每个不同的节点具有不同的大小和颜色 最初我尝试通过渲染网格来实现此目的 但事实证明这非常昂贵 我当前的尝试是使用 Three js 粒子系统 每个
  • Three.js canvas.toDataURL 有时为空

    我正在尝试使用 html2canvas js 渲染 THREE js 场景 一些覆盖的 HTML 元素 有用大多数时候 但并非一直如此 在失败的情况下 将渲染 HTML 元素 背景 覆盖层等 但不会渲染其他元素 THREE js 场景表现得

随机推荐

  • 为什么 Akka Streams 会吞掉我的异常?

    为什么异常在 import akka actor ActorSystem import akka stream ActorMaterializer import akka stream scaladsl Source object Test
  • 如何在android中对齐自定义对话框中心?

    我正在开发一个应用程序 我想将对话框显示为屏幕尺寸 所以我使用了下面的代码 我通过这里得到了解决方案警报对话框中未显示警报消息 https stackoverflow com questions 10432184 alert message
  • MySQL vs. SQL Server vs. Oracle [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直只使用MySQL 没有使用其他数据库系统 今天在公司会议上提出了一个问题 我很尴尬我不知道 对于开发人员来说 MS 或 Oracle
  • 日志在 yii2 中不起作用

    我想在 app log 中添加日志 我的配置文件 log gt traceLevel gt YII DEBUG 3 0 targets gt file gt class gt yii log FileTarget levels gt err
  • 如何多次执行带参数的 Rake 任务?

    这是不可能的invoke循环内相同的 rake 任务不止一次 https stackoverflow com questions 4822020 rake task in loop executes only first task 但是 我
  • 将PIL图像传递到google云视觉,无需保存和读取

    更新如下 有没有办法将 PIL 图像传递到谷歌云视觉 我尝试使用io Bytes io String and Image tobytes 但我总是得到 Traceback most recent call last C Users visi
  • 开发占用空间较小的 Spring Boot 应用程序

    为了让我们在 spring boot 中开发并在 Cloud Foundry 上运行的微服务占用空间更小 我们正在寻找实现这一目标的最佳方法 任何朝这个方向的输入或指示都将受到欢迎 最好总是从最低限度的依赖项开始向上构建应用程序 并且仅在需
  • Volley 加上列表适配器中的 OutOfMemoryError

    我在用凌空加 https github com DWorkS VolleyPlus图书馆 我正在展示ListView图像和文本视图没有错误 但是当我在这个列表视图中上下滚动很多时间时 它得到OutOfMemoryError并使应用程序崩溃
  • R Roxygen 链接到父函数

    考虑一个基础包XYZ 别人写的 有一个函数ABC 我想扩展功能ABC通过以下方法在我的新 不是 XYZ 包中 ABC lt function INSERT EXTRA WORK CALL THE BASE METHOD XYZ ABC 现在
  • 如何将控制器包含在 Ruby on Rails gem 中?

    我正在尝试为一个开源项目做出贡献 我需要一个控制器来处理几个需要提交的表单 我在 gem 内的一个目录中创建了这些控制器 名为app controllers gemname my controller rb 但是 当我尝试访问控制器时 它似
  • Mac中如何获取usb设备的设备描述符和配置描述符?

    I have minimum exposure to xcode and I Okit framework I have seen device descriptor and configuration descriptor of a us
  • 使用 PhantomJS 设置远程调试

    我正在尝试使用 PhantomJS 设置远程调试 但运气不佳 我正在按照以下说明进行操作https github com ariya phantomjs wiki Troubleshooting https github com ariya
  • r、ggplot2、形状/颜色。它们之间有什么区别?

    set seed 123 library data table library ggplot2 dat data table data frame a rnorm 12 b rnorm 12 c rep c 1 2 6 d rep c 1
  • 如何对实例创建进行单元测试?

    我有一个Carpenter类 它的工作使用Lathe and a Wood object class Carpenter function Work tool new Lathe material new Wood tool gt Appl
  • 红帽的订阅管理器如何工作?

    红帽subscription manager是一个从命令行注册 附加和删除订阅的工具 如果我理解正确的话 该工具会连接到客户门户以检索证书 然后 这些证书可用于从 Red Hat 存储库下载 yum 软件包等 Sources https l
  • 我的 Beaker、WSGI、Apache2、Python 有什么问题吗?

    好的 我的代码如下 我正在使用 apache2 mod wsgi beaker python def application environ start response session environ beaker session if
  • 删除行后数据库大小不变

    我有 2 个数据库 我从其中删除了特定表中的行 以减少数据库的大小 删除后大小为DB mdf不会改变 我还尝试重建索引并使用cleantable 但没有效果 ALTER INDEX ALL ON dbo Tablename REBUILD
  • Jetpack Compose Surface 单击波纹未根据形状进行剪裁?

    我有 3 个表面 如 gif 所示 当我单击波纹效果传播时 无需考虑表面的形状 哪些是用创建的 Composable fun SurfaceClickPropagationExample Provides a Context that ca
  • Perl-我在寻找什么功能?将多个规则分配给指定结果

    我在脑海中概念化了一个函数 我想象它存在 但如果它存在 我不知道它的名字 因此很难用谷歌搜索 假设我想定义两个结果 我将称之为Pass and Fail 我想要几个不同的规则适用于这两种结果 因此 为了清楚起见 希望如此 假设我有一个文件
  • 在 Three.js 中,Alpha 通道工作不一致

    我正在用 Three js 构建一个 剪纸 世界 我的所有模型都是简单的 平面 我使用带有 Alpha 通道的 PNG 来对它们进行纹理处理 以将平面修剪成更令人愉悦的形状 奇怪的是 根据飞机的位置和相机的位置 透明度不可预测地出现和消失