blender導入ninjaripper的rip文件
提示
最終解決方案見 最終解決。
引子
玩AI少女的時候,捏了個老婆想把她導出來,發現了ninjaripper這個工具。導出的3D素材主要爲.rip格式,不是常用的模型格式。百度一般的解決辦法是用3dmax,導入轉成.fbx,我電腦上只有blender,發現無論用什麼都是需要從ninjaripper自帶的tool,用腳本導入,正好也有blender的導入腳本。
插件安裝問題
依照每個紳士都該學會提取老婆的模型操作基本的步驟,但是在開啓插件的時候會報如下錯誤
Traceback (most recent call last):
File "E:\Aplication\Blender\2.82\scripts\modules\addon_utils.py", line 330, in enable
importlib.reload(mod)
File "E:\Aplication\Blender\2.82\python\lib\importlib\__init__.py", line 169, in reload
_bootstrap._exec(spec, module)
File "<frozen importlib._bootstrap>", line 630, in _exec
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\hierfer\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\import-ninja.py", line 7, in <module>
from bpy_extras.io_utils import ImportHelper, orientation_helper_factory, axis_conversion, _check_axis_conversion
ImportError: cannot import name 'orientation_helper_factory' from 'bpy_extras.io_utils' (E:\Aplication\Blender\2.82\scripts\modules\bpy_extras\io_utils.py)
本人不懂py,查了一下,是"bpy_extras.io_utils"不包含"orientation_helper_factory"。上blender 手冊 查詢,"bpy_extras.io_utils"確實沒有"orientation_helper_factory"這個成員。最後在Blender 2.80: Helper Modules 查到原來這是2.7x的用法,2.8x改了。
2.7x:
from bpy_extras.io_utils import (
ImportHelper,
orientation_helper_factory,
)
IOFBXOrientationHelper = orientation_helper_factory("IOFBXOrientationHelper", axis_forward='-Z', axis_up='Y')
class ImportFBX(bpy.types.Operator, ImportHelper, IOFBXOrientationHelper):
pass
2.8x:
from bpy_extras.io_utils import (
ImportHelper,
orientation_helper,
)
@orientation_helper(axis_forward='-Z', axis_up='Y')
class ImportFBX(bpy.types.Operator, ImportHelper):
pass
看來直接把報錯的"orientation_helper_factory"注了就行。把import處"orientation_helper_factory"注了,RipImporter定義改爲"class RipImporter(bpy.types.Operator, ImportHelper):"。再次安裝,沒有報錯,但是import菜單裏並沒有出現想要的import rip選項。問題依舊。
版本問題
由於不懂py,不想再看代碼了。懷疑是版本太老的問題,我下載的是v1.7.1的漢化版。那麼上官網,最新版依然是v1.7.1。查看腳本還是老樣子。還是不行。
最終解決
也就是說官方的更新都是落後於版本的?那麼官方一定被提交過issue吧。
用bing國際版搜索"blender import rip"相關問題。github上有一個項目RipImport 從描述上看,顯然就是爲了 blender 2.8x解決rip improt 問題的。下載,然後按照README.md提示操作。報錯沒有io_import_rip_2模塊。把剛纔複製的文件夾io_import_rip_2.8改名爲io_import_rip_2再導入。成功。import中出現了導入rip的選項。導入時記得勾選整個文件夾導入。