当前位置: 首页 > 工具软件 > Armory3D > 使用案例 >

Armory3D游戏引擎运行armory_templates等工程报key "Principled BSDF" not found错误

纪枫
2023-12-01

         Blender是目前最受欢迎的开源免费3D建模软件,其版本已经更新至2.80稳定版,Armory3D是一个基于Blender的开源免费游戏引擎,作为Blender的拓展插件形式而存在,目前版本尚未更新至正式1.0版本,基本上每个月更新发布一次,虽然bug还有些多,但是还是希望这个引擎能够顺利存活下来,毕竟Blender是一个体积小巧但十分全能的软件,如果Armory3D也完善了将会使得设计师们可以在一个软件里完成所有创意的实现,这是一个非常Amazing的事情。

        目前在Blender 2.80 + Armory SDK-2019-10的环境下,运行官方给的github中的armory_templates工程时,几乎都会提示key "Principled BSDF" not found错误,这可能是个bug,也可能仅仅我是特例情况,反正解决了就放出来公开一下办法。

报错信息如下:

Traceback (most recent call last):
File "D:\ArmorySDK1908//armory/blender\arm\props_ui.py", line 523, in execute
make.play()
File "D:\ArmorySDK1908//armory/blender\arm\make.py", line 462, in play
build(target=runtime_to_target(), is_play=True)
File "D:\ArmorySDK1908//armory/blender\arm\make.py", line 346, in build
export_data(fp, sdk_path)
File "D:\ArmorySDK1908//armory/blender\arm\make.py", line 110, in export_data
exporter.execute(bpy.context, asset_path, scene=scene)
File "D:\ArmorySDK1908//armory/blender\arm\exporter.py", line 1970, in execute
self.make_default_mat('armdefault', self.defaultMaterialObjects)
File "D:\ArmorySDK1908//armory/blender\arm\exporter.py", line 1495, in make_default_mat
mat.node_tree.nodes['Principled BSDF'].inputs[7].default_value = 0.25
KeyError: 'bpy_prop_collection[key]: key "Principled BSDF" not found'

location: :-1

解决办法:在经过对少数能够正常运行的项目进行对比后发现,报上述错误的工程里面都总是有几个物体没有设置材质,估计Armory3d当前版本的程序中没有很好解决设定默认材质,然后就导致的空材质最后运行失败,解决起来也很简单,给这些无法正常运行的工程中未设置材质的物体增加一个材质,然后就能够正常运行了。

 类似资料: