问题标签 [jpct]
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.
java - 将 2D 平面拉伸到 3D 立方体
我正在开发一款同时具有 2D 游戏面板和“伪”-3D 面板的 Java 游戏。
它不是真正的 3D,因为它只是放置在 3D 环境中的一些 2D 平面(没有自定义创建的模型)。
我正在使用 jPCT 作为渲染引擎,目前正在研究渲染墙壁。
这是通过将 10 个平面堆叠在一起来实现的,从而产生 3D 墙的错觉。
得到这个的代码是:
这可以通过增加平面的数量并将它们靠得更近来减少,但我正在寻找一种更有效的方法来获得相同的效果。
我正在考虑使用 2D 图像作为顶部纹理渲染一个立方体,并使用最后一行像素作为侧面的纹理,例如从基础图像中提取 (0,0) 和 (0,39) 处的 40x1 图像并拉伸这些在立方体的侧面(原始图像为 40x40)。
虽然这不会完美地工作,因为这些图像的可见部分小于 40x40(例如,顶部和底部 40x9 像素对于水平墙是透明的),所以我应该做一些边缘检测并开始在那里切割。
有什么更好的建议来尝试做同样的事情吗?
java - 我的类路径有什么问题?
我正在尝试用 jPCT 制作一个小程序。使用 jPCT 需要将 jPCT jar 添加到类路径中。我以为我有它,但我仍然得到一个关于 jPCT 类之一的类未找到异常。
我的命令:
我的 HTML:
我正在使用 Apache,并且我已经验证我的 jar 可以从我的代码中的 URL 下载。
确切的错误信息:
我究竟做错了什么?
android - 为什么 JPCT-AE AGL 字体类仅适用于 Android 模拟器?
我目前正在使用 JPCT-AE 框架为 android 构建一个 3D 游戏。因为它还没有显示字体的类,所以它创建了一个所谓的 AGLFont 类来在 android 屏幕上显示文本。这是该课程的论坛链接。
http://www.jpct.net/forum2/index.php/topic,1563.0.html
此类在 Android 模拟器上运行良好,但在 Android 手机上使用时似乎不显示文本且不会导致游戏中断。我们曾尝试在两部 Android 手机 [Droid X & Nexus S] 上使用此类,但均未成功。
有谁知道如何配置此代码以使用物理电话,或者为什么它们可能是模拟器和实际电话之间的差异?
java - 由于 jpct 游戏引擎中未捕获的异常,线程主退出
我正在尝试运行 JPCT 的演示。但是正在发生运行时错误。我的代码如下。
我的 logcat 错误是
感谢提前帮助
android - JPCT 加载多个对象
我目前正在学习适用于 Android 的 JPCT。在阅读了一些教程和示例之后,我注意到每个人都将他们的对象和纹理一一加载到场景中,如下所示:
这应该加载一个 3ds 文件(我在 Blender 上创建的),对其应用纹理,然后将其放在世界上。如果这个 3ds 文件有多个对象,它会将纹理应用到所有对象。好的,到目前为止还不错。
但是,如果我在同一个文件中有数百个对象来为游戏创建一个场景,每个对象都有自己的纹理怎么办?
我必须一一加载它们和它们的纹理吗?
有没有办法自动化这个?也许一些已经拥有纹理关系的文件格式或类似的东西?
任何帮助表示赞赏!
android - 加载后是否可以推迟垃圾收集
我正在将 3d 模型(1MB - 10MB)加载到内存中,这需要很长时间(1.5MB 模型需要 20 秒)。当我查看日志时,我看到垃圾收集器不断释放内存并暂停。有关日志,请参见下文:
是否可以将垃圾收集推迟到加载模型之后。也欢迎任何其他性能提示:)
android - GLSurfaceView 上的性能
我在 GLSurfaceView 上使用 JPCT-AE 来创建动态壁纸。首先,我让渲染器在表面上自由绘制(不试图以任何方式限制帧速率)。显然,cpu 使用率达到了 90%(使用 Defy+ 和姜饼——我的壁纸渲染了一个包含约 200 个多边形的旋转球体,没有照明)。
现在我在表面上将 renderMode 设置为“RENDERMODE_WHEN_DIRTY”,并使用 Handler 发布的 Runnable 请求渲染每 33 毫秒绘制帧:
它将 cpu 使用率降低到 1% - 10% 之间,这很好,但现在我想知道这是否是最好的方法。
有没有更好的方法来提高 GLSurfaceView 的渲染性能?我使用的这种方法在技术上是正确的还是以后会让我有些头疼?
谢谢你。
opengl - JPCT - 3D 到 2D(平面透视)
我正在使用 JPCT 创建 3D 建模软件。程序的中心有一个模型的大视图。侧面有 xy、xz 和 yz 视图,可以详细查看模型的每一侧。
我遇到的问题是我无法删除侧视图上的“透视”。我想要一个“平顶向下”的视图。如果它们具有相同的 xy 位置(在 xy 视图中),则距离较远的点不应比接近点更靠近中心。换句话说:“将相机置于无限远,然后放大”是我想要的。
我尝试摆弄BillBoard Matrix,但没有成功(我什至不知道这是否是正确的选择)。不幸的是,JPCT 的文档/示例很少。
android - jpct-ae,变形形状
我使用 jpct wiki 的代码形式来显示形状。有没有办法在触摸屏幕时使这种形状变形,而不使用搅拌器或类似的应用程序?怎么做?
android - 将 JPCT-ae 与 QCAR(vuforia) 集成
我知道我要问的问题有时已经讨论过了,但是在经历了所有这些之后,我找不到完整的答案,所以我问了一个新问题
当我尝试将JPCT -ae与QCAR集成时,一切都按预期进行,我从 jni 的渲染框架中获得了我的模型视图矩阵,并成功地将其在 java 中转移到 jpct 模型中,如预期的那样完美显示。但是当我试图将此矩阵传递给 JPCT 世界相机时,我的模型消失了。
我的代码:在 onsurfacechanged:
在ondraw中:
经过一些研究,我发现 QCAR 使用右手坐标系,这意味着 X 正极向右,Y 正极向上,Z 正极从屏幕上出来,但在 JPCT 坐标系中,X 正极向右,Y 正极向右向下,Z 正极进入屏幕。
Qcar坐标系:
我知道 QCar 给出的矩阵是一个 4*4 矩阵,具有 3*3 旋转值和平移向量。
我发布矩阵更清楚:
模型视图矩阵:
使用 cam.setBack(modelviewmatrix.invert(modelviewmatrix)) 反向后的模型视图矩阵:
如果我删除 13,14 和 15 矩阵元素,假设 3*3 旋转矩阵...模型正确旋转但平移(图像的进出移动)不存在最后我不知道需要什么更改平移向量。所以请告诉我我在这里缺少什么?