问题标签 [level-of-detail]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unity3d - Unity 中大型复杂网格的 LOD(使用 Blender)
我已经进行了一些非常彻底的挖掘,但我似乎找不到任何关于我正在寻找的信息。我真的希望这并不意味着这是不可能的......所以如果有人可以为我提供任何见解或至少为我指出正确的方向,我将不胜感激!
我有一个来自客户的搅拌机中的 3D 模型,不是我设计的,由于 NDA,我无法透露许多细节。最终,手动编辑搅拌机模型无济于事,因为此过程不可避免地应应用于多个相似成分的模型。我想要做的是将 LOD 组应用于模型中的子网格,以提高在 Unity 中查看此模型的性能。
对于模型中的每个子网格,我已经有多个 LOD 差异,但是当我将模型导入 Unity 时,它将它们全部组合在一起 - 而不是在不同的子网格中。这有点违背了目的,因为当您靠近时它会在 LOD0 中渲染整个模型,而我希望只有模型中离您最近的部分是 LOD0 并且您不直接靠近的所有内容都会减少。
目前,我将搅拌机模型导出为 FBX,但如果有更好的替代方案来帮助解决此问题,则不需要这样做。
由于 NDA,我无法展示有问题的模型,所以我将尝试提供一个使用猴子的示例。同样,我需要一个可以应用于多个模型的过程,因此手动更改所有内容不是答案。但是,为了演示我正在寻找的内容,我手动开发了一个示例。
第一张图就是我想要的。每个部分都有自己的 LOD,可以从其他部分单独计算。第二张图片是我现在得到的,所有的部分都被计算为一个 LOD。
如果有任何设置、过程或脚本可以应用到 Blender 或 Unity 上,可以让我对我想要的结果有所进步,请帮助!有点绝望,因为我的任何计划都不认为这是一个问题,如果无法解决,我将面临重大挫折。
ios - 使用 SCNGeometry 进行关键值观察以获取详细程度
我正在尝试使用 kvo 来观察节点的几何形状,因为 Scenekit 没有提供某种回调来让我知道节点的详细级别何时更新。这样做的目的是我的节点有空闲动画,当细节级别更改为最详细版本以外的任何内容时,我想从节点中删除动画,以避免运行不必要的空闲动画。
下面是观察设置。将细节级别添加到几何图形的代码在其他地方,但它确实运行,因为我可以看到几何图形随着节点的像素半径的变化而变化。
永远不会调用更改处理程序。如果我改为观察节点的位置,则当我将节点放置在场景中的位置时会触发更改处理程序。是否有另一个我应该监控的属性,或者是否有另一种方法可以确定节点已更改使用中的细节级别,以便我可以从该节点中删除动画?
tableau-api - 需要 Tableau 详细级别修复
上面是实际 Tableau 布局的图片链接,以及带有前后过滤器的表格结构
我有两个表——用户和类别
用户表:用户表有 userid、name、title、channel、team、sub-team 列。我使用 Tableau 过滤器从中过滤掉了三个标题。约 700 个用户
类别表:此表有用户 ID、类别名称、子类别名称、日期列。该表实质上捕获了哪些用户最常使用哪个子类别。~15000 条记录
用户表
LEFT JOIN
类别表
我在用户 ID 上使用了左连接。我使用 Tableau 过滤器过滤了三个标题,现在我总共有 350 个用户以及针对每个用户 ID 的类别使用情况。
我需要输出表之类的东西,但是,我还想为所有列添加详细信息级别。例如,当我选择 6 个通道之一时,我希望数字动态变化。
为了获得用户总数(350),我使用公式创建了一个计算字段:
此外,为了按渠道获取固定总值,我创建了一个计算字段:
但是,当我在参数中选择特定通道时,我会得到正确的结果,但是当我选择“所有通道”时,它会抛出错误的结果,这是实际 350 数字的 7 倍。我尝试了多个使用 Fixed 和 Include 函数的用例,但无法正确使用。有人能帮我吗?
datetime - Dax : LOD 提取最新值
我有下表,我正在尝试根据最新日期提取状态
我使用了以下 DAX
这给了我以下结果
我的表2,
我已经定义了与 table1 和 table2 的关系。[将 ID 映射到两个表中的 ID] 当我将 Car 和 Type 添加到表中时,数据会膨胀(类似于交叉连接)。
我想要的输出,
tableau-api - 无法在 Tableau 中计算聚合的聚合
我正在尝试计算嵌套计算度量的标准偏差。
在此示例中,不同的国家/地区每月生产许多商品,每种商品都有特定的颜色。我正在尝试按每个国家/地区的暖色和冷色之间的月度比率的标准差对国家/地区进行排序。
底层数据如下(每一行是某个国家在某个日期生产的一个项目):
第一个计算的度量识别所有暖色或冷色的项目:
然后,我计算暖色和冷色之间的比率:
最后,我想为每个国家计算这个比率的标准差,但这会产生错误:
最终期望的结果是我想按每个时间段(例如月)的暖色/冷色比的标准差的降序对国家进行排序。具体来说,每个月暖/冷比变化很大的国家会排在首位,而每个月暖/冷比相同的国家会排在最后。
tableau-api - 当原始字段使用固定 LOD 计算时,如何计算画面中的百分比变化?
我目前在 tableau 工作,在 tableau 论坛或堆栈溢出上找不到这个问题的答案。为了获得所附屏幕截图中的年度门票销售额,我必须使用固定 LOD 计算来获得准确的 2018 年和 2019 年售出的门票。由于某种原因,COUNT 公式无法提供正确的售票数量,所以我不能使用下面的,这是我以前使用的。
COUNT(IIF(CONTAINS([Event Year],"2018"),[Ticket ID],0))
我现在分别使用以下 2018 年和 2019 年的数据,这在与 excel 中的数据交叉引用时为我提供了正确的票务数据:
{ FIXED [Ticket Id] : SUM( IF [Event Year] = "2018" THEN 1 ELSE 0 END)}
但是,由于我必须使用此固定 LOD 计算,因此从 2018 年到 2019 年的百分比变化是不正确的(见屏幕截图)。
有谁知道如何计算使用固定 LOD 的字段的百分比变化?
当我去创建一个表格计算来获得百分比变化时,没有行百分比差异的选项,我假设这与到位的 LOD 有关。
提前感谢您提供的任何帮助!
three.js - THREE.JS:四叉树地形故障
我有一个非常简单的代码,用于根据伪四叉树算法从不同缩放级别的图块中可视化地理地形。
由于跨域限制和 StackOverflow 限制,我发布代码仅供参考,现场演示可在http://vault.vkuchinov.co.uk/lod/获得
旅行时出现故障,请查看YouTube 视频
似乎我搞砸了结构,但我不知道那里。
谁能帮我解决这个故障?
three.js - THREE.JS 一个复杂几何体(地形)上的多个纹理(60+)
假设我想根据细节层次算法和非常高分辨率的卫星纹理(即 32.768x32.768px)创建一个动态地形。最终,我根据级别从这张图片中创建了图块:
我附上了一个非常基本的片段,它已经根据相机位置划分了平面(THREE.BufferGeometry)。
Mapbox 的 Delaunator 工作得非常快,但是我不知道如何将纹理放置到平面上,如下图所示:
我敢打赌它必须用着色器完成,但不知道如何去做。将这些图块合并到一个大纹理会导致我们达到 32.768x32.768,所以这是死胡同。
是的,它可以使用 THREE.MeshFaceMaterial(materials) 进行多重纹理化,并将每种材质(平铺)分配给某些顶点。但是,我正在寻找能够处理至少 512x512、更好的 1024x1024 的 ~60-65 纹理的直接 GLSL 解决方案。
PS:是的,我已经有这个单平面被分割成小平面的版本,但是我正在寻找单平面的方法,因为瓷砖接头上有裂缝,类似于本文所述,图 8。
PS:请忽略四叉树算法。我要求为一个几何体渲染 60-70 个纹理的通用解决方案。
mysql - 在 mySQL 中按固定详细级别比较日期
早上好,
我正在尝试使用以下输出创建一个 mySQL 查询:
为了获得 60_days_since_seen,我需要将当前行的 reference_date 与相对于 unique_identifier 的下一个最近的 reference_date 进行比较,并确定该 reference_date 是否比该行的 reference_date 早 60 天。
例如:unique_identifier = 123456789
id = 1:由于此实例之前没有日期,因此 60_days_since_seen 为 TRUE(或 1)。
id = 2:由于相对于 unique_identifier 在此 id 之前的 reference_date 出现日期距离此行的 reference_date 不到 60 天,因此 60_days_since_seen 为 FALSE(或 0)。
id = 3:由于相对于 unique_identifier 在此 id 之前的 reference_date 出现日期大于此行的 reference_date 以来的 60 天,因此 60_days_since_seen 为 TRUE(或 1)。
id = 4:由于在此实例之前没有日期,因此 60_days_since_seen 为 TRUE(或 1)。
id = 5:由于相对于 unique_identifier 在此 id 之前的 reference_date 出现日期距离此行的 reference_date 不到 60 天,因此 60_days_since_seen 为 FALSE(或 0)。
if-statement - Tableau LOD 找出每个字段值的第一个日期
我有一张桌子challenge_submissions
——
还有一张将球员与球队相匹配的桌子——
我想要一张表格,告诉我哪个团队首先解决了多少挑战,例如:
我试着为它制作一个LOD——
首先解决 -{FIXED [challenge]: MIN([date])}
然后另一个计算字段是首先解决 -IF [date] = [First Solve] THEN [First Solve] ELSE NULL END
然后将团队和提交者放在一个层次结构中,但这对我不起作用。