问题标签 [tabletop-simulator]

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.

0 投票
1 回答
491 浏览

3d - 合并 Faces 会导致 OBJ 没有人脸

我制作了一个非常简单的 3d 对象,用于桌面模拟器。构造对象会产生许多面:

在此处输入图像描述

如果我将其导出为 OBJ 并导入它,该对象就可以正常工作:

在此处输入图像描述

但是,如果我将一些面合并在一起以减少顶点数(合并 3 个中间面):

在此处输入图像描述

当我导入 OBJ 时,一张大脸完全不见了:

在此处输入图像描述

我不确定这里发生了什么。我希望能够将我制作的对象的每一侧合并为一个面(例如顶面和底面)。但是,我一直无法这样做,并且无法让该对象在其他程序中工作。我究竟做错了什么?

0 投票
1 回答
881 浏览

blender - Blender 模型在桌面模拟器中为银色/金属灰色,不带纹理

我正在尝试为棋盘游戏创建一个非常基本的六角圆柱体。我终于想出了如何制作模型,将其导出为 .obj 并通过我的网站将其导入 Tabletop Simulator。

导入模型时,它似乎是正确的形状,但是是金属灰色/银色,不接受我尝试使用的纹理。

我如何让它接受纹理?

和/或,如何从模型中获取模板以正确对齐模型的纹理?

对象如下:(我确实删除了 .mtl 文件引用和 .blend 引用以使其正常工作)

0 投票
1 回答
69 浏览

lua - 在 Lua 中措辞大(ish)文本字符串

我是一个使用 Lua 的名为 TableTop Simulator 的游戏的 hobbest modder。

我有一个字符串,其中包含代表一副纸牌的多行数据列表。

我需要做的是将该字符串转换为短语格式,然后我可以使用它来取出卡片和数量来构建套牌。

我正在考虑尝试制作一些看起来像这样的桌子..

等等等等……

然后我可以使用名称字符串来查找匹配的卡,然后使用数量值来获取它的那么多副本。

我遇到的问题是我不知道该怎么做......我需要以某种方式分隔每一行,然后取出价值和东西。我认为因为它总是 1,2,3 而不是切割和复杂,我可以将一条线变成“1x”,因为删除它会使“名称”完美地用于搜索。我仍然需要阅读每一行和内容。

0 投票
3 回答
203 浏览

lua - 如何根据其中的 1 个单个数据部分对表进行排序?

我是使用 LUA 在 TableTop Simulator 中制作模组的最业余爱好者,并且有一个我无法解决的问题。

我有许多“对象”,它们是 TTS 中的一个表,其中包含这些对象的各种数据。例如.. obj.position = {x,y,z}... 并且也可以在轴级别访问。

这是一个例子。TTS 的制造商已经做到了,因此您可以访问所有这样的部分。所以我可以访问对象..然后是它的各个部分。有一个堆,比如名称、网格、漫反射等等。旋转{x,y,z}等

反正。我有一个对象表......并且想根据 x 轴的位置数据对这些对象进行排序......所以从最高到最低。因此,如果我有一个表,并且该表中的 obj1 为 x=3 且 obj2 为 x=1 且 obj3 = x=2 它将被排序为 obj2,obj3,obj1

伪代码:

我希望我说得通。在过去的几个月里,我是自学的!

所以基本上我有一个对象表,并希望根据附加到表中每个单独对象的单个值对该表中的对象进行排序。在这种情况下,obj.position.x

谢谢!

0 投票
2 回答
1498 浏览

lua - 用 LUA 将字符串中的重音字符替换为标准

**此错误看起来像是 UNITY 中的错误。该代码似乎在桌面模拟器之外运行良好(我正在修改的游戏)

我将此标记为已解决,但如果需要,将其留给模组删除,因为该代码可能仍然对其他人谷歌搜索有用。**

我正在尝试处理几行的大字符串..并希望将它找到的所有重音字符转换为标准字符。我有一些我从网上得到的代码,但是代码中有一个小错误,我不明白它是如何工作的,所以如果你能的话,需要一些关于这个问题的帮助。

这段代码似乎工作得很好,但它不适用于 u 类型的字符......所以......

有什么想法吗?..我认为这与模式有关..但我不知道它在第一个位置是如何工作的。(见大字符表下的代码块底部)

0 投票
1 回答
1561 浏览

lua - 计算相对于lua中对象的位置和旋转的世界坐标

我正在尝试基于我的“打包袋”为桌面模拟器社区制作一个新工具。Packup Bag 是一种工具,它可以记住您放置在其中的物体的世界位置和旋转,因此您可以将它们放回它们在“打开包装袋”时所来自的相同位置和旋转。

我一直在尝试修改它,以便它以相对位置和旋转到袋子的方式吐出东西,而不是使用硬编码的世界坐标。这里的想法是玩家可以坐在桌子上的任何位置,选择他们想要玩的派系包。将它放在为他们标记的已知位置并按下该位置,它将填充相对于其位置的包的内容.

现在我已经解决了其中的一些问题......我能够以某种方式让包相对放置..但我发现它超出了我的数学技能来计算变换的修改。

基本上我有这部分工作..

  • mod了解包的相对位置
  • mod了解包的相对旋转

但是.. mod 不能同时理解相对位置和旋转....我需要以某种方式修改相对于旋转数据的位置数据...但无法弄清楚如何。

看这个视频...... https://screencast-o-matic.com/watch/cFiOeYFsyi

正如你所看到的,当我将袋子绕着物体移动时,物体是相对于它放置的……但是如果我旋转袋子,物体就会有正确的旋转,但是如果它旋转了,我需要数学来计算出正确的位置。你可以看到它只是被放置在与没有旋转一样的位置......因为我还没有弄清楚如何编写代码来做到这一点。

现在我听说过一种叫做“矩阵数学”的东西,但我无法理解。在我开始改装 TTS 几个月后,我成为了一名自学成才的程序员。

你可以理解我的意思我希望。在视频示例中,当我旋转包时,对象应该以正确的旋转放置,但需要更改世界位置。

请参阅此示例以查看相对旋转.... https://screencast-o-matic.com/watch/cFiOeZFsyq

我的代码通过记住袋子的 self.getPostion() 和被打包的对象的 obj.Position() 来实现这一点。然后它给一个 self - obj 并存储 X 和 Y 位置的值。它还记得它是负数还是位置,然后在放置时使用 self.postion() 并添加或减去调整值。旋转也一样。

我仍然不知道从这里开始会发生什么。我对此有点头疼,并认为你们中的一些数学家可能对如何做到这一点有更好的想法。

:长话短说;博士:

所以我有

  • bag.getPosition() 和 obj.getRotation()
  • bag.getRotation(0 和 obj.getRotation()

这些返回 (x,y,z}

我可以用什么数学来找到物体与袋子的相对位置和旋转,所以如果我旋转袋子。物体以相对的方式从它里面出来......

最好在LUA ..谢谢!

0 投票
2 回答
919 浏览

lua - 如何在对象上设置 onCollisionEnter?

我正在使用 Atom 获取脚本我的 TTS mod。在我的游戏中,我有一个带有 GUID 的包,ed743f我有一个调用我的文件的全局#include Shard/shard文件。在该文件中#include diceroller,我的diceRoller.ttslua文件中有以下代码:

打印工作正常,因此文件被正确包含,但是如何将 onCollisionEnter 函数与正确的对象(diceRoller)“连接”?因为现在当我把骰子放在袋子里时,什么也没有发生。

0 投票
1 回答
63 浏览

lua - 如何遍历集合中的结果?

在我的桌面模拟器模块中,我有一个袋子,当袋子里有东西掉进时,这个emptyContents()函数就会被调用。例如,我可以在袋子里放 15 个骰子。

emptyContents()函数中,我遍历包中的对象。但是正如你所看到的,我必须输入多个 if 语句来捕捉放入的骰子数量,因为我希望骰子在不同的位置产生。

内容变量是袋子中骰子的数量。

如何使函数不那么静态?因为现在我需要为每组 6 个骰子编写 if 语句。

0 投票
0 回答
1824 浏览

lua - 桌面模拟器中的 LUA 脚本

不确定这是否是发布此类问题的地方,我认为需要有人熟悉 TableTop Simulator 游戏才能提供帮助,但我想我会尝试。我正在尝试创建一个脚本,该脚本使用脚本框来检查卡片的描述在该位置,一旦一张新卡片被绘制到 4 个脚本框之一,如果该描述等于“快速”,卡片就会得到移动到第一个盒子,所有之前的卡片都移动超过 1 个盒子。然而,每次第 4 张牌快速移动时,它会读取第 4 张牌两次并将其移动到第一个盒子,然后再回到第 4 个盒子,而不是将第 3 张牌移动到第 4 个盒子。我不明白为什么它会两次获得第四张牌。

fc = 现有卡片数量 + 正在添加的卡片数量

0 投票
1 回答
169 浏览

batch-file - 将文件列表从目录+子文件夹复制到另一个文件夹

首先,我是一个完全的初学者。我正在尝试一个游戏的终极脚本 bat 文件解决方案。为了不惹恼你的细节,让我告诉你我试图做什么。

例子:

  1. 我有 17 个文件。其中 10 个是 .jpg 文件,其中 7 个是 .obj 文件。
  2. 图像在 path\mods\images中,对象在 path 中\mods\models
  3. 我想列出所有 17 个丢失的文件list.txt
  4. bat 文件将读取该列表,搜索文件并将它们粘贴到TTSmissing文件夹中

这是我的问题:

  1. bat 脚本只查看源路径,但不查看子文件夹(这就是我写的原因 \mods\images\以测试它是否有效)所以我基本上想要的是:\Tabletop Simulator\Mods\作为源路径,脚本也应该查看所有子文件夹。
  2. list.txt文件名也有扩展名时,唯一有效。是否可以更改脚本,所以我不需要扩展名?所以它只会查找名称并复制文件?(例如:列表中的名称必须像: hello123.jpg只有它时它不起作用 hello123。)
  3. 如果我不想要 list.txt 而只是将文件列表直接放入 bat 文件中,我需要如何更改 bat 脚本?