我想用IronPython作为Unity的外部语言脚本。IronPython执行加载所需的DLL放在Assets\Plugins。然而,当我运行脚本的时候出现了如下错误:
PythonImportErrorException: No module named UnityEngine
IronPython.Modules.Builtin.__import__ (IronPython.Runtime.Calls.ICallerContext,string,object,object,object)
(wrapper dynamic-method) object.__import__##5 (IronPython.Runtime.Calls.ICallerContext,object,object,object,object)
IronPython.Runtime.Calls.FastCallableWithContextAny.Call (IronPython.Runtime.Calls.ICallerContext,object,object,object,object)
IronPython.Runtime.Calls.BuiltinFunction.Call (IronPython.Runtime.Calls.ICallerContext,object,object,object,object)
IronPython.Runtime.Operations.Ops.CallWithContext (IronPython.Runtime.Calls.ICallerContext,object,object,object,object,object)
IronPython.Runtime.Importer.Import (IronPython.Runtime.PythonModule,string,IronPython.Runtime.List)
IronPython.Runtime.Operations.Ops.Import (IronPython.Runtime.PythonModule,string)
(wrapper dynamic-method) object.##1 (IronPython.Runtime.ModuleScope)
脚本和UnityEngine.dll是在同一个文件夹里的。这个是脚本。
import clr
clr.LoadAssemblyFromFile("UnityEngine.dll")
import UnityEngine
from UnityEngine import *
Debug.Log("Hello World from Python!")
原问题:IronPython in Unity3D
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
来自@Storm Kiernan 的回答:
从Unity的脚本:
python脚本里的(我的pple.py和game.exe放在一个文件夹里的):
Edit #1
我要指出我出错的原因是运行时版本指定为4.0,而不是3.5或者更低。
Edit #2
如果你需要从IronPython 访问脚本,你也可以通过加载程序集:
然后用到脚本里:
注意你不需要为每个脚本都加载程序集,只需一次获得程序集。
Edit #3
IronPython DLL应该放在Assets下的 Plugins文件夹,这是我的设置。
Edit #4
脚本可以放在任何程序访问的到的地方。例如,你想直接把apple.py"放在C:\,你可以通过以下方法来执行:
Edit #5
我现在用的版本是:
