- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们目前正在让客户端在页面加载时检索对象状态(这将导致模型中的“待处理”对象变成不同的颜色)。然后我们轮询更改以更新着色(首先:当查看器加载时,挂起的对象会着色,然后我们继续轮询以再次检查和更改状态,以使 Forge 以不同的颜色渲染它们并存储它们的旧颜色/ Material 。当轮询收到一个对象不应再着色的更改时,它会告诉 Forge 再次使用旧的颜色/ Material 。
问题:我们已经找到了问题所在,但不知道如何解决。问题是,在 Forge 中更改 Material 在启动后不再起作用,它只在前 3 秒左右起作用( Material 用于显示颜色)。
但是,即使在前约 3 秒后,设置叠加层仍然有效(显示叠加层而不是 Material 来显示颜色)。这不是我们想要实现的目标。这看起来未经优化,因为覆盖层将显示在所有内容中。
然而,这些 Material 似乎被“锁定”,因为它们在前 3 秒后就无法再更改。好像没有刷新什么的
在示例中,我们发现他们使用viewer.impl.invalidate(true) 来刷新Forge 查看器,但在大约3 秒后没有执行任何操作。
我们还尝试了viewer.impl.invalidate(true, true, true)的每种组合以及将material.needsUpdate设置为true,以及尝试重新渲染整个场景。
我们还发现了这个:https://github.com/mrdoob/three.js/issues/790 ,但我们在 Forge 中找不到一个好的方法来做到这一点,我们尝试了viewer.requestSilentRender(),但也没有做任何事情。
无论如何,我们已经尝试了一切我们能想到的并且可以在网上找到的 Material 来使 Material 发挥作用,但没有任何效果。我们正在寻找对 Forge 工作原理更有经验的人,能够看到 Material 代码哪里出了问题。
至于内容,以下是您了解正在发生的情况所需的所有代码: DROPBOX LINK
这是设置颜色的“index.html”文件的一小部分:
try
{
viewer.restoreAllColorOverlays(); //for materials instead of overlays: viewer.restoreAllColorMaterials();
$.each(colors, function(color, selectionIds)
{
viewer.setColorOverlay(selectionIds, color); //for materials instead of overlays: viewer.setColorMaterial(selectionIds, color);
});
}
catch(error)
{
console.error(error);
}
最佳答案
我不知道你是如何实现你的应用程序的,所以我只告诉你我在你的代码中发现的内容。如果您想解决您所解决的问题,您可以考虑提供一个可重现的案例来证明这一点,我很乐意将其传递给我们的开发团队。以下项目应处于可重现的情况下:
Forge 应用
,可以通过简单的过程来运行和调试,以分析示例模型中的行为。two.js 应用
,可以运行并演示您想要的着色器效果。 注意。 Forge Viewer 正在使用 r71 third.js
。如果您的可重现案例无法在此处公开发布,请将其发送至 forge.help@autodesk.com
并在发送前删除敏感数据或信息。
=== 我在你的代码中发现了一些东西:
我发现您的 ColorMaterial
扩展中有一些错误的类型和缺失的操作。 Material 的颜色属性应该是THREE.Color
类型。这是我的修改:
Autodesk.Viewing.Viewer3D.prototype.setColorMaterial = function(objectIds, color)
{
if( !(color instanceof THREE.Color) ) throw 'Invalid argument: Color';
var material = new THREE.MeshPhongMaterial
({
color: color,
opacity: 0.8,
transparent: true
});
viewer.impl.matman().addMaterial( 'ColorMaterial-' + new Date().getTime(), material, true );
// ...........
};
在ColorOverlay
扩展中, Material 颜色属性的类型也是错误的,它也应该是THREE.Color
类型。将其更改为 THREE.Color
应该可以正常工作。此外,overlay 会覆盖 3D 对象,因此您应该将 viewer.hide()
与 setColorOverlay()
一起调用。否则,它看起来就不像透明物体。
关于autodesk-forge - 更改 Forge 中的 Material ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45947925/
在我们的 Web 应用程序中,我们希望使用 Autodesk 查看器 API 查看 AutoCAD 文件。根据我们的要求,我们要选择文件并需要直接在 auto-desk 查看器站点中打开,其中所有默认
我们最近更新了我们的一个项目,以使用最新版本的 Autodesk Forge Viewer (v7.x)。 总的来说,迁移进行得很顺利,但我们注意到,对于某些模型,我们在相机的远切面方面存在问题。我发
我试图让 Autodesk 查看器默认以正交模式显示文件。到目前为止,我想出的最佳解决方案如下: forgeViewer.addEventListener( Autodesk.Viewing.
我浏览了 developer.autodesk.com 以了解有关 Forge 平台的更多信息,我仍在寻找获取 obj 文件的 URN 的方法。 我只需要一个示例代码即可继续。 :) 最佳答案 htt
一个人如何共享对他们的 Autodesk 存储桶的访问权限,以使其他用户能够查看和协作处理他们上传的模型?如果 Autodesk Forge 数据管理 API 支持共享存储桶访问或类似的东西,我在此处
我在 Autodesk Viewer LayerManager 扩展中遇到了一个错误,该错误会破坏 restoreState 功能。我正在使用 getState 保存多层 DWG 文件的状态,并使用
当我将 Forge Viewer 从 SVF 迁移到 SVF2 时,某些几何图形未加载,并且每个元素都会出现“无效的 OGT header ”和“无法解析 OGT 几何图形”。 Console err
我们正尝试使用 Autodesk Forge API 请求/命令检索描述或自定义属性字段,如 BIM360 文档中所示。 我们尝试了以下请求来检索有关特定文件的信息: https://forge.au
我们想将我们的一些 forge 查看器代码库移动到一个 react-app 中,并且无法弄清楚如何在不附加所有 Autodesk.Viewer.... 的情况下使用 viewer3d js api。在
我们想将我们的一些 forge 查看器代码库移动到一个 react-app 中,并且无法弄清楚如何在不附加所有 Autodesk.Viewer.... 的情况下使用 viewer3d js api。在
我收到此错误:未捕获类型错误:> 无法读取未定义的属性“getRootId”即使我使用 Autodesk.Viewing.GEOMETRY_LOADED_EVENT..仍然没有效果。 最佳答案 当您想
我正在为 Maya 编写一个简单的工具菜单,我想将它粘贴到模型面板的边框(透视)。 from PySide import QtCore, QtGui from maya import OpenMaya
我正在尝试对在 Solidworks 和 OnShape 中创建的 STEP 文件使用剖面工具,并且在剖面处看到沿着零件边缘的非常粗的线条。我尝试了最新的查看器版本 (6.1),但问题仍然存在。请参见
以前我使用过这个用于正确加载 dwg 的查看器脚本 现在正在按照本教程设置初始查看器: https://developer.autodesk.com/en/docs/viewer/v2/tutori
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
在下面的示例中,有一个名为generateTexture() 的函数。 是否可以将文本(数字)绘制到像素阵列中?或者是否可以在该着色器上绘制文本(数字)? 我们的目标是画一个圆圈,里面有一个数字。 h
我正在尝试使用 Autodesk Forge API 创建在线 Revit 查看器。我想要实现的任务是能够编辑现有几何图形的颜色,并从浏览器向模型添加新几何图形。有谁知道如何做到这一点,我可以从哪里开
我想知道下面的两个矩阵是什么以及它们的用途: 放置变换 (1 x 12) refPointTransform (1 x 16) 有人知道它们的用途吗?我认为这与 3D 对象的平移(Tx,Ty,Tz)/
我看到一个已经运行多年的基准有一些奇怪的行为。该基准适用于 Autodesk Revit,它可以使用日志文件来自动执行任务和记录时间。基准测试将读取一系列模块化日志文件的 XML 文件,这些文件可以根
我们正在开发一个 Java 应用程序,该应用程序应该显示来自用户存储的模型。最初,我尝试允许用户使用他们的 Autodesk 帐户登录,并检查他们是否有权访问我的应用程序。 我找不到任何好的例子来展示
我是一名优秀的程序员,十分优秀!