unable to load texture at BitmapTexture.cpp:270

在使用obj2json处理obj文件的纹理贴图时遇到'unable to load texture at BitmapTexture.cpp:270'的错误。问题出现在mtl文件的map_Kd属性指向的纹理图片。发现png格式的图片处理起来更顺利,通过用Windows画图另存为png格式可以解决某些纹理加载失败的问题。此外,调整烘焙纹理参数如超级取样也可能解决该问题,但质量可能不理想。该问题在搜索中鲜有提及。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情景:在使用tungsten源码编译出来的obj2json.exe处理*.obj对象的纹理贴图(由blend导出的obj)时,出现了如题的错误:unable to load texture at BitmapTexture.cpp:270

我打开了与obj文件一同导出的mtl文件,发现里面有个map_Kd属性,他的值就是我的纹理图片路径,没错啊,为什么会找不到呢?

而且当时很诡异,共有两个纹理贴图,而其中一个就可以,另一个就会报错。

做的多了我发现png格式的图片更好处理,不会报错。于是我就用win10自带的画图简单的另存为png图片,再试一次的时候,完美通过。另外即使你本身就是png格式图片,却仍然报错时,你也可以用画图打开另存为png格式,就能通过。这种情况我也遇到过,亲测可用。

在此之前遇到这种不能添加的纹理图,我搜索了下,一般是用烘焙纹理的办法解决。这种办法也可以,不过,出来的质量往往不尽如人意。特别是需要里边的几个参数要调好,相如:超级取样。就是采样率,最高是10,但是实际我也试过,对比图如下

使用原始图片,正常的:

使用烘焙纹理导出图片后:

最坑爹的是我去百度,没人说这个事,那我就吃第一个番茄吧:

顺便说下无关紧要的,环境配置

系统:win10 1703

软件:CINME 4D R18

Tungsten:2017.9.7从GitHub上下载的源码,用vs2015和Cmake编译的。

齐活了。

UATHelper: 烘焙 (Android (ASTC)): LogInit: Display: Warning/Error Summary (Unique only) UATHelper: 烘焙 (Android (ASTC)): LogInit: Display: ----------------------------------- UATHelper: 烘焙 (Android (ASTC)): LogInit: Display: LogCook: Error: Failed to cook /Game/PowerAccident/Blueprints/Character/110KVBD_PlayerCharacter for platform Android_ASTC. It imports class /Script/SteamVR.SteamVRChaperoneComponent, which is in a module that is not available on the platform. UATHelper: 烘焙 (Android (ASTC)): LogInit: Display: LogCook: Error: Failed to cook /Game/PowerAccident/Blueprints/Character/110KVBD_ViveCharacter for platform Android_ASTC. It imports class /Script/SteamVR.SteamVRChaperoneComponent, which is in a module that is not available on the platform. UATHelper: 烘焙 (Android (ASTC)): LogInit: Display: LogCook: Warning: Unable to find package for cooking /Game/PowerAccident/Blueprints/Mode/ViveGameMode. Instigator: { GameDefaultObject: GlobalDefaultGameMode }. UATHelper: 烘焙 (Android (ASTC)): LogInit: Display: LogBlueprint: Warning: [AssetLog] E:\BaiduNetdiskDownload\twl\twlPack\VR_110KV\VR_110KV\Content\PowerAccident\Blueprints\Character\110KVBD_PlayerCharacter.uasset: [Compiler] InputKey事件为 MotionController_Right_Shoulder 指定了无效的FKey“MotionController_Right_Shoulder” UATHelper: 烘焙 (Android (ASTC)): LogInit: Display: UATHelper: 烘焙 (Android (ASTC)): LogInit: Display: Failure - 2 error(s), 2 warning(s) UATHelper: 烘焙 (Android (ASTC)): LogInit: Display: UATHelper: 烘焙 (Android (ASTC)): Execution of commandlet took: 5.09 seconds UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: ================================================ UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: === FShaderJobCache stats === UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: Total job queries 0, among them cache hits 0 (0.00%) UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: Tracking 0 distinct input hashes that result in 0 distinct outputs (0.00%) UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: RAM used: 0.00 MB (0.00 GB) of 3276.80 MB (3.20 GB) budget. Usage: 0.00% UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: === Shader Compilation stats === UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: Shaders Compiled: 0 UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: Jobs assigned 0, completed 0 (0.00%) UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: Time at least one job was in flight (either pending or executed): 0.00 s UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: ================================================ UATHelper: 烘焙 (Android (ASTC)): LogShaderCompilers: Display: Shaders left to compile 0 UATHelper: 烘焙 (Android (ASTC)): FPICOAnchorManager Destruction UATHelper: 烘焙 (Android (ASTC)): FPICOAnchorManager Destruction UATHelper: 烘焙 (Android (ASTC)): Took 11.5812159s to run UnrealEditor-Cmd.exe, ExitCode=1 UATHelper: 烘焙 (Android (ASTC)): ERROR: Cook failed.
06-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值