不太确定问题发生在哪里。我在Blender有一个模型看起来是这样的:
我有它所有的UV贴图和这样的 ,蓝色高亮的边缘是从一个透明的.png纹理。下面是节点编辑器:
现在,当我按照LibGDX建议导出到.fbx时,我使用以下设置:
但当我通过fbx-convert运行它并生成我的g3dj文件时,材料显示如下:
"materials": [
{
"id": "blue_wireframe_glow",
"ambient": [ 0.200000, 0.200000, 0.200000],
"diffuse": [ 0.800000, 0.800000, 0.800000],
"emissive": [ 0.000000, 0.000000, 0.000000],
"opacity": 0.000000,
"specular": [ 0.200000, 0.200000, 0.200000],
"shininess": 20.000000
}
],
没有图像纹理在视线内(即使当不透明度更改为1.0)。是不是有什么其他的东西我应该做,将使它的图像纹理将出现在g3dj文件?是我装错了还是搅拌机出了什么问题?我用的是搅拌机循环,如果重要的话。我还将图像文件与我的项目中的g3dj文件放在同一个文件夹中。下面是我用来加载它的代码:
modelBatch = new ModelBatch();
modelLoader = new G3dModelLoader(new JsonReader());
heatExchangerModel = modelLoader.loadModel(Gdx.files.internal("models/heat_exchanger.g3dj"));
modelInstance = new ModelInstance(heatExchangerModel);
当我在我的桌面Java应用程序中查看它时,它只是出现一个黑色的模型,没有纹理,我在g3dj文件中手动设置不透明度为1.0。不知道我错在哪了- ,有什么想法吗?
编辑:我已经读了一些更多的,并发现搅拌器循环不能导出它的材料到FBX(不确定是否真的?或者只有非常基本的材料,至少)和尝试与搅拌器渲染,并能够得到纹理加载,但模型仍然不太像它应该与搅拌器。
有人能告诉我在libgdx中做素材的正确方法吗?我应该从头开始写我自己的吗?我想做这一切在搅拌机然后出口可能不是我应该做的方式。
凉凉的看着色的山岭。
我会从这里尝试一些事情。首先,导出您的FBX作为ASCII从搅拌器。看看你能不能从那里找到你的文件路径。我敢打赌,在FBX->G3DJ进程之前,它已经丢失了。
其次,我认为用节点构建着色器可能会抛弃FBX导出器。Blender是令人敬畏的,但它仍然是开源的,并受到不完善的影响。(其他的包裹也是如此,但没有一家公司会承认这一点!)尝试在“着色器生成器”窗格中生成相同的着色器,看看这是否有帮助。
否则,您将不得不在libgdx中重建着色器。要么用Java编码。或者,我敢打赌,你可以修改你的g3dj,把文件路径包括为发射图。
例如:这是我的一个g3dj文件的一部分,在那里我添加了一个法线地图。把类型改成“emissive”或“emit”,我想。你应该在那之后继续做生意。
"materials": [
{
"id": "background",
"ambient": [ 0.000000, 0.000000, 0.000000],
"diffuse": [ 0.800000, 0.800000, 0.800000],
"emissive": [ 0.800000, 0.800000, 0.800000],
"opacity": 1.000000,
"reflection": [ 0.100000, 0.100000, 0.100000],
"shininess": 65.098038,
"textures": [
{
"id": "Texture.005",
"filename": "carbonClr.png",
"type": "DIFFUSE"
},
{
"id": "Texture.006",
"filename": "carbonNormal.png",
"type": "NORMAL"
}
]
}
]
希望有帮助!
我不熟悉Java图形(一般来说是计算机图形)和堆栈溢出,所以请帮助我解决问题,帮助我更好地表达我的问题。 目前,我正在尝试在JavaGUI中的原始图像旁边显示BufferedImage。这是我的代码: “put”功能如下: 但是,生成的GUI如下所示 因此,图像可以工作,但BuffereImage不能。我假设它可以工作,因为BuffereImage是Image的一个子类……知道吗?如果需要其他代码
我试图用opengl在Qt中显示纹理,但当我运行时它就是不显示纹理。 我做了一些研究,发现我需要将纹理的高度和宽度设为2的幂。我的纹理现在是(1024x1024)。 我还添加了很多glTexParameterf,可以解决我的问题,但仍然没有运气。 EDIT1:是不是我的质地太大了? EDIT2:glBindTexture(GL_TEXTURE_2D,m_textureID);放置在glBindTe
有问题显示纹理在我的3D框在LWJGL使用光滑。早些时候我犯了一个错误: BasicShader类: BasicVertex.vs basicfragment.fs
我在下面的帖子中提到了这个问题和我的答案:来自Apache FOP 1.1和Java的PDF图像。我试图在每页上显示背景图像(有点像水印): 我让它在我的机器上从Eclipse和导出的jar中工作,如上面提到的帖子所述,但它不适用于我以外的机器。它总是说不支持该格式。 我正在使用 FOP 网站上的 FOP 1.1 罐子,并将它们全部添加到我的锁片中。也将它们与罐子一起导出。我没有解决方案的想法了。
我在Eclipse中有一个Java项目。这是文件夹结构: 代码包位于src中,所有图像都位于res文件夹中。 代码中的图像参照如下: 但是,在我将项目导出到JAR文件后(通过使用导出- 所有图像都在根文件夹中,无法正确引用。如何正确地引用这些图像,使它们在Eclipse和导出的JAR中都可见?
我正在使用此代码显示图像 图片存在于storage\app\public\images上,但它没有显示在我的页面上,顺便说一句,我已经创建了php artisan storage:link