国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity中運行Python —集成— 解決可能會遇到的問題

這篇具有很好參考價值的文章主要介紹了Unity中運行Python —集成— 解決可能會遇到的問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

該文章旨在介紹如何在Unity中調(diào)用和執(zhí)行Python程序。與以往只能事先運行Python程序不同,集成的方法可以根據(jù)Unity中某些參數(shù)的變化,自由的控制Python程序的開啟。此外,我們還對過程中,可能會遇到的問題給出解決方法。

希望能幫助到你。??ヽ(°▽°)ノ?


一. 在Unity中引入Python模塊

1. 打開文件

在Unity程序Assets同一目錄下找到 Package 文件夾;以記事本方式打開 manifest.json 文件。
unity python,unity,python,游戲引擎,opencvunity python,unity,python,游戲引擎,opencv


2. 修改文件

添加一行 "com.unity.scripting.python": "5.0.0-pre.5", 注意有個逗號。保存之后回到Unity 等待自動安裝相應(yīng)的包。
unity python,unity,python,游戲引擎,opencv


3. Unity中的Python控制面板

Window/General/Python Console下打開 Python的控制面板。如果可以到這一步,就說明接口安裝成功。
unity python,unity,python,游戲引擎,opencv


4. 測試一下

上方是結(jié)果輸出臺,下方是python腳本編寫區(qū)域。點擊“Execute”執(zhí)行腳本。
當然,腳本也可以外部獲得,點擊“Load”,選擇你要添加的Python腳本即可。
unity python,unity,python,游戲引擎,opencv


二. 在Unity中腳本調(diào)用Python

1. 存放Python文件夾

在Unity程序中,新建一個用于存放Python程序的文件夾。本文中python的路徑如下。
unity python,unity,python,游戲引擎,opencv
該腳本的代碼如下,其功能是找到Unity中的Para物體并修改它的名字。
如果,在運行時報錯:‘gbk‘ codec can‘t decode byte 0x80 ,快去看 3.1小節(jié)。

import UnityEngine as ue  #這個會劃紅線報錯,不用管
object =ue.Object.FindObjectsOfType(ue.GameObject) #獲取Unity中所有的GameObject類型
for go in object:
    if go.name =="Para": #找到一個名字是“Para”物體 就把它的名字改成“123”
        go.name="123"
    else:
        ue.Debug.Log(go.name) # 在Unity的控制臺中輸出物體的名字

2. Unity調(diào)用

① 引入頭文件:using UnityEditor.Scripting.Python;
② 獲取Python文件路徑:string python_path = Application.dataPath + "/Python/Python_Unity.py";
③ 設(shè)置開啟條件:我們以按下鍵盤A鍵為例。
④ 運行Python文件:調(diào)用 PythonRunner.RunFile

整體的代碼如下?;氐経nity中運行,當按下A鍵后,場景中名為“Para”的物體,名字被修改為“123”。

void Update()
    {
        if (Input.GetKeyDown(KeyCode.A))
        {
            string python_path = Application.dataPath + "/Python/Text_Sentiment.py";
            PythonRunner.RunFile(python_path);
        }
    }

至此,在腳本中如何運行Python程序已介紹完畢。
但是,在實際的應(yīng)用中還有一些問題,我們在下一章節(jié)展開。


三. 實操中的問題

1. 運行Python文件中出現(xiàn)的 gbk 問題

在運行時可能會報錯:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position 0: illegal multibyte sequence

這個錯誤我是真的會謝?。ǘd頭…)

解決方法:Python文件中的所有注釋全部刪除,即無“井號鍵 ”。


2. com.unity.scripting.python 版本

在 1.2 節(jié)中,我們下載的 unity.scripting.python 是 5.0.0版本,在Unity里安裝的Python版本為3.9,并且這個是不能更改的。在 Project Setting/ Python Scripting 可以查看詳細信息。如果你想更改其他版本可以參考這個鏈接 Using Python in Unity 。

unity python,unity,python,游戲引擎,opencv


3. 程序之前運行的環(huán)境 和 Unity中Python環(huán)境不一致

通常來說,想要在Unity中調(diào)用的Python程序(記為,A.py),我們都事先在Pycharm中的某個Python 環(huán)境下運行成功了(假設(shè),A.py在Python=3.6中成功運行)。此外,它可能還依附了其他包,這些包需要與python版本對應(yīng)起來,才能正常的運行。

所以,A.py 直接在Unity的python=3.9 環(huán)境下運行可能會報錯。此外,程序里需要的包在Unity下的環(huán)境中都是沒有的。因為,現(xiàn)在的程序都依賴于一個sit-package 即 Assets/sit-package。


為解決這個問題,我認為有三種方法:

① 在Unity的Python=3.9環(huán)境下,重新 pip install 需要的包;

在Python Scripting面板下點擊 Spawn shell in enviorment ,包的安裝與配置Python一致。

注意
這種方法或許有效,但是可能還是會有錯,因為畢竟是在Unity下去安裝包。可能會因為Unity平臺自身的原因出錯。我在嘗試的時候,導(dǎo)入某個包的時候會一直報錯(具體是哪個忘記了> <)。所以,大家可以試一下后面兩種方法。

unity python,unity,python,游戲引擎,opencv
unity python,unity,python,游戲引擎,opencv


② 添加site-package;

假設(shè),A.py是在Python=3.6中運行,則添加正常運行A.py的python=3.6的環(huán)境下的sit-package。
把路徑復(fù)制到 Python Scripting面板下,重啟Unity生效。

注意:
這個方法,基本上沒有問題,比較推薦。
但是當你在運行多個Python程序時,可能每個程序的環(huán)境都不一樣,這就需要添加多個site-package。在Unity腳本執(zhí)行 PythonRunner.RunFile時,可能會先執(zhí)行 Element 1路徑下的site-package,如果不是對應(yīng)的環(huán)境信息還是會報錯。這里我就沒有細究PythonRunner能否指定site-package的功能了。直接開搞第三個方法!一勞永逸!

unity python,unity,python,游戲引擎,opencv
unity python,unity,python,游戲引擎,opencv


③ 重新創(chuàng)建一個python=3.9的環(huán)境;
最后,我自己在Unity執(zhí)行Python時,還是采用了最后一種方法。在conda 下新建了一個虛擬環(huán)境,且在python=3.9版本下配置環(huán)境。然后,在把這個環(huán)境對應(yīng)的site-package添加到 ②中提及的路徑中。

我用這個方法實現(xiàn)了自己想要達到的功能。
所以,大家還是根據(jù) A.py的實際情況,來選擇解決方法吧。
最后,有什么問題歡迎大家留言交流哦~


寫在最后
今年過的好快啊,我也希望自己能成功,加油吧!文章來源地址http://www.zghlxwxcb.cn/news/detail-784864.html

到了這里,關(guān)于Unity中運行Python —集成— 解決可能會遇到的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Unity SpriteAtlas 打圖集流程,與遇到的問題和解決方法

    Unity SpriteAtlas 打圖集流程,與遇到的問題和解決方法

    在unity里面使用 SpriteAtlas ,把需要用到的游戲貼圖資源,創(chuàng)建成對應(yīng)的圖集。 貼圖資源沒有打進包里面,如果以文本的方式打開圖集,會發(fā)現(xiàn)文本里面關(guān)于m_PackedSprites的數(shù)組和m_PackedSpriteNamesToIndex的數(shù)組都是為空的,沒有值在里面,沒有值的這兩個變量,是用不了對應(yīng)的貼圖

    2024年02月16日
    瀏覽(22)
  • Unity 安裝Vuforia配置Android時遇到的問題及解決

    Unity 安裝Vuforia配置Android時遇到的問題及解決

    在做AR作業(yè)的時候,我遇到的最大的困難是配置環(huán)境。下面我說明下在配置環(huán)境中可以避免報錯的方法,希望能幫助遇到問題的人。 unity版本: Unity 2019.4.38f1c1 在老師分享的實驗報告里,有一個方法是:修改manifest.json文件,從第三行開始添加一行字\\\"com.ptc.vuforia.engine\\\":\\\"8.5.9\\\",

    2024年02月02日
    瀏覽(26)
  • unity webgl網(wǎng)頁運行后屏幕模糊,UI無響應(yīng)問題解決

    【記一個莫名其妙的問題】 工具:Unity 2019.4.40f1c1 先前Unity打包apk,設(shè)置了最大幀率15 在Project Settings -Quality中設(shè)置了Other-VSync Count:Don’t Sync 運行后,幀率穩(wěn)定在100上下,呵呵 后來在代碼中加了一行: 問題解決 今天,準備再打一個webgl包 打包運行后,打開網(wǎng)頁,畫面停留在

    2024年02月06日
    瀏覽(15)
  • 路由器升級可能遇到的問題及解決辦法

    一、出現(xiàn)亂碼 拿出路由器,通電后通過Console口連上去,發(fā)現(xiàn)超級屏幕出現(xiàn)了一些亂碼,會不會是Consol口壞了?如果出現(xiàn)Console口壞了,一般會在超級終端屏幕上不斷輸出很多的亂碼,回車后出現(xiàn)亂碼,可能是每秒傳輸速率不對,將默認值9600更換為l15200,路由器啟動成功,路由

    2024年02月05日
    瀏覽(27)
  • 解決:“Unity打包非全屏游戲,運行時仍然全屏” 的問題

    解決:“Unity打包非全屏游戲,運行時仍然全屏” 的問題

    前言 ?????? ??我們在使用Unity做游戲的時候,會碰到一些需要固定分辨率的游戲,可是有時候在固定了分辨率以后,打包出來的項目卻一直都是全屏的,那么有什么方法解決呢? 固定分辨率 ????????首先需要固定分辨率,我們可以從左上角 File → Build Settings → Playe

    2024年02月05日
    瀏覽(148)
  • Python: Django 服務(wù)部署可能遇到的一些問題

    不要用 python3 manage.py runserver 啟動服務(wù), 而要用: 此外,在 setting.py 中,修改: 在 setting.py 中,修改: 其中,域名有無 https:// 均可 此外,在 應(yīng)用名/views.py 中,修改: 運行: 在 script 中,聲明 WebSocket 時,注意 https 與 wss 對應(yīng),http 與 ws 對應(yīng):

    2024年02月14日
    瀏覽(22)
  • Android 使用modbus協(xié)議與可能遇到的問題解決一覽

    本篇文章主要演示android的串口通訊功能,其中需要使用serialport模塊(下載鏈接),注意: 串口通訊需要root權(quán)限,需要將應(yīng)用設(shè)置成‘a(chǎn)ndroid:sharedUserId=“android.uid.system”’即可,如果出現(xiàn)串口通訊無法訪問設(shè)備,首先看串口名稱與波特率是否一致,如果都一致看看是否是打開串口

    2024年02月14日
    瀏覽(26)
  • Unity關(guān)于無法新建項目的可能解決辦法

    Unity關(guān)于無法新建項目的可能解決辦法

    PISCOMAI ,1 年前 發(fā)布于異常報錯 有的朋友無法新建項目,可能會閃退,卡在新建界面加載,路徑不存在等錯誤,下面我為大家提供幾個解決辦法,請大家逐一嘗試,并希望在該帖子下留下你們的問題與解決辦法,幫助其他開發(fā)者?。?! 1 嘗試退出登錄然后重新登陸 2 有開發(fā)者

    2023年04月10日
    瀏覽(16)
  • Unity發(fā)布web遇到的問題

    Unity發(fā)布web遇到的問題

    1.WebGL 報錯 Uncaught RuntimeError: float unrepresentable in integer range ? 2.報 Maximum call stack size exceeded 超出最大調(diào)用堆棧大小 原因1:深拷貝 遞歸復(fù)制? 遇到循環(huán)引用時?堆棧會一直增長,直到達到限制 原因2:進入了死循環(huán),比如自身調(diào)用自身 善用ctrl+F5刷新清除緩存??! 3.unity發(fā)布webgl后

    2024年02月03日
    瀏覽(14)
  • Ubuntu20.04安裝sql server(內(nèi)含多個可能遇到的問題以及解決方法)

    Ubuntu20.04安裝sql server(內(nèi)含多個可能遇到的問題以及解決方法)

    這學(xué)期的課程有數(shù)據(jù)庫,因此今天(2022.3.6)在ubuntu上安裝了sql server2019 即使根據(jù)官方指引進行安裝也會遇到不少問題,因此為在這里總結(jié)了我自己遇到的所有問題,以及給出了相應(yīng)的解決方案,希望能為后來的人解決一些困惑和麻煩 根據(jù)指引,在終端輸入第一條語句:(導(dǎo)入

    2024年02月05日
    瀏覽(92)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包