Airtest工具在使用時的卡頓問題

2022-09-10 15:39:23 字數 3285 閱讀 2560

1)airtest工具在使用時的卡頓問題

2)overdraw檢視問題

3)modelimportertangents.calculatemikk

4)astc格式的點陣圖轉換

5)animatorcontroller如何動態管理其中的掛點clip

a:自問自答一下,專案有管理ui的管理器,所以在pocomanager新增了rpc方法:

[rpc]

private object ismodulevisible(listparam)

然後air**裡新增:

from poco.drivers.unity3d import unitypoco

import time;

from poco.exceptions import pocotargettimeout

auto_setup(__file__)

poco = unitypoco()

def ismodulevisible(module):

return poco.agent.c.call("ismodulevisible", module)

start = time.time()

while not ismodulevisible(module):

poco.sleep_for_polling_interval();

if time.time() - start > timeout:

感謝題主coolfish games@uwa問答社群提供了回答

q:在scene檢視的rendermode->overdraw中,這裡的檢視只是提供了檢視物體遮擋的層數關係,並不是真正的最終螢幕繪製的overdraw,可以這麼理解嗎?

a:editor的做法只是將不透明的shader換成了半透明來畫,會帶來計算誤差。

比如兩個不透明物體疊加時,實際上在移動端不透明只會有一層overdraw,但是在editor中會被統計為2層。

同時editor的overdraw檢視對很多專案自定義的shader是不支援的,所以也看不到對應的overdraw檢視。

該回答由uwa提供q:最近在做unity公升級的工作,在unity 4中,關於mesh的切線的設定是定義在modelimportertangentspacemodeimport

calculate

none

在unity 2018中,切線的匯入設定是乙個新的列舉

modelimportertangents

import

calculatelegacy:對應著原有的calculate和splittangentsacrossseams等於false

none

calculatemikk

calculatelegacywithsplittangents : 對應著原有的calculate和splittangentsacrossseams等於true

這個calculatemikk是個什麼含義,unity官方文件中提到:

calculate tangents using mikktspace (default).

現在不知道calculatelegacy和calculatemikk之間的詳細一些的區別,也就是我們什麼時候應該使用calculatelegacy,什麼時候應該使用calculatemikk?

a:看下dcc是怎麼生成的,如果本身模型裡有tb就不用生成;如果是用sp之類的比較新的dcc就用mikkt;如果是老一點的工具,就用legacy。本質是保持tb在引擎和dcc一致,這樣法線貼圖效果一致。

感謝錢康來@uwa問答社群提供了回答

(2)要怎麼把astc貼圖匯出成jpg格式的貼圖出來呢?

a:(1)實際上astc格式是價效比更好的格式。不過你可以將其載入到unity引擎中,讓其讀取出texture2d,然後將其轉出成位圖格式。可以閱讀該篇文章:bitmap & texture2d 互轉方法蒐集

同時,也可以使用imageconversion方法來做乙個中轉,最後將其轉換成位圖。

再或者可以google下讀取astc格式紋理的工具,看看是否可以直接將其轉成點陣圖(這個我沒有搜尋過,可以自行google)。

(2)這個可以幫到你。

該回答由uwa提供用animator來做,貌似需要把所有的動畫都拖入狀態機中,載入的時候上百個動畫一併載入出來太浪費記憶體了。有沒有辦法在執行時動態修改動畫狀態機裡面的motion資訊呢?或者如何優化狀態機呢?

a1:可以動態載入animationclip,然後替換掉狀態繫結的animationclip。

詳見官方手冊:animation override controller

感謝李澤興@uwa問答社群提供了回答

a2:試試playable,可以支援動態載入clip,缺點是也要自己寫一套狀態機管理。

感謝唐崇@uwa問答社群提供了回答今天的分享就到這裡。當然,生有涯而知無涯。在漫漫的開發周期中,您看到的這些問題也許都只是冰山一角,我們早已在uwa問答**上準備了更多的技術話題等你一起來探索和分享。歡迎熱愛進步的你加入,也許你的方法恰能解別人的燃眉之急;而他山之「石」,也能攻你之「玉」。

官網:www.uwa4d.com

官方技術部落格:blog.uwa4d.com

官方問答社群:answer.uwa4d.com

uwa學堂:edu.uwa4d.com

官方技術qq群:793972859(原群已滿員)

this在使用時指向的理解

先看導圖有大概的理解 a.嚴格模式下this指向的undefined b.非嚴格模式 use strict this指向window 在函式中使用理解 1 誰執行函式this就指向誰 var obj obj.b 10 obj.b call obj 指向的是呼叫的它的obj物件 var fn obj....

MySQL的LOAD FILE方法在使用時的問題

mysql的load file方法在使用時的問題 在執行 update tables name set file path load file tmp aa.txt where file id 1 時file path的值一直為 null 無法把檔案匯入到資料庫裡面 後來試了無數次,偶然在資料庫服務...

MySQL在VC中使用時出現的問題

1 出現以下 debug 資訊時 testnewsql.obj error lnk2001 unresolved external symbol mysql close 4 testnewsql.obj error lnk2001 unresolved external symbol mysql s...