Q1:如果場景中有大量物體,請問如何利用相機拾取擷取不同範圍内的物體?
題主可以采用Physics.SphereCastAll函數來擷取,類似下面這個場景:在SphereCastAll這個API的參數中,第二radius可以控制擷取半徑,我們分别設定5和10的效果是這樣的: radius=5:![]()
技術分享連載(七十九) radius=10:![]()
技術分享連載(七十九) ![]()
技術分享連載(七十九)
該問題來自UWA問答社群,感謝Andrew提供了回答,如您對該問題仍有疑問,可以轉至社群進行進一步交流。
https://answer.uwa4d.com/question/59b60249167ed31465945c2d
Q2:将一個Unity 4.7.2的項目更新到Unity 5.5.3。打成安卓包,發現APK檔案比之前大了200MB。然後分别對4.7.2打出來的APK包和5.5.3打出來的包分别進行解包,發現音頻檔案個數一樣,但所占大小多了200MB左右,平均每個檔案都大了幾百KB。Unity 4.7.2的解包為Mp3格式,Unity 5.5.3的解包為Wav格式。
于是我在Unity 4.7.2和Unity 5.5.3下,分别建立一個空工程,将單獨一個音頻檔案(ogg格式)放入Resources檔案下,即兩個Unity版本的空工程裡隻有一個Resources檔案夾,檔案夾裡隻有一個相同的Ogg格式音頻檔案,打成安卓包。使用解包工具解包,發現Unity 4.7.2的音頻檔案轉成了mp3格式,大小幾十kb;Unity 5.5.3的音頻檔案轉成Wav格式,大小200多KB。
請問這種問題怎麼解決?針對音頻,Unity 4.x和Unity 5.x在打包過程中,作了那些修改?
引用Unity 5.0的release note:https://unity3d.com/unity/whats-new/unity-5.0
可以看到,在Unity 5.x中,不同平台的音頻不再與特定的檔案格式關聯,而是與檔案編碼關聯。檔案格式不等同于音頻編碼,雖然同是Wav格式的檔案,但其有不同的編碼方法(PCM,ADPCM,Vorbis,Wav也可以用mp3編碼),編碼方法會影響到Apk的大小。標明編碼方式後降低quality和sample rate也會降低apk大小。![]()
技術分享連載(七十九)
該問題來自UWA 社群,感謝Saber提供了回答,如您對該問題仍有疑問,可以轉至社群進行進一步交流。
https://answer.uwa4d.com/question/59b76e7ac66541837c1fd911
Q3:如下圖,藍色部分為Unity視圖,綠色為Android圖檔,我現在需要把Unity藍色區域透視或者去除,iOS上已經透視成功,但Android一直失敗,Unity版本為5.5.2,大家有什麼建議呢?
我在安卓平台上實作了下,基本思路是: 1)使用TextureView代替SurfaceView; 2)TextureView需要setOpaque(false)來透明; 3)Camera的Clear Flags需要使用Solid Color,Background 為 #00000000 必須是黑色,不然和安卓視圖顔色混合有問題; 4)由于Unity在安卓上額外做了一步操作,會把Alpha強制改成1後輸出,這裡需要改libunity.so的二進制檔案來臨時繞過,後面Unity2017.2可選了,詳見https://forum.unity3d.com/threads/big-performance-issue-with-unity5-on-android.338847 Demo工程放在Github上:https://github.com/littlesome/UnityTransparent
該問題來自UWA問答社群,感謝 littlesome提供了回答,如您對該問題仍有疑問,可以轉至社群進行進一步交流。
https://answer.uwa4d.com/question/59a92dcaaa04563e0d0d7bd8
Q4:scrollPosition = GUILayout.BeginScrollView(scrollPosition, false, true); 這個函數建立之後一直嘗試更改對應的滑動條寬度均告失敗,請問如何更改呢?
我寫了個簡單的例子:
![]()
技術分享連載(七十九)
該問題來自UWA問答社群,如您對該問題仍有疑問,可以轉至社群進行進一步交流。
https://answer.uwa4d.com/question/59b2517e6a3c64fe76fc00ad
Q5:我在Editor下測試, 前一幀Mono還是67.2MB,下一幀突然自己掉到了51.5MB。然而并沒有gc.collect()調用,這Mono是為什麼減少?因為有不明原因的減少,是以擔心也有不明原因的增多。
如果題主是在Editor測的,這個Mono的回落就正常了。Editor本身(渲染視窗,處理互動事件等)就會造成記憶體配置設定,同時也會觸發GC。 但預設情況下,Editor本身的開銷在Profiler裡是看不到的,除非題主點選一下“Profile Editor”。 點選之後,就可以看到Editor本身函數的耗時和GC的觸發了。例如下圖:![]()
技術分享連載(七十九)
原文出處:侑虎科技
本文作者:admin
轉載請與作者聯系,同時請務必标明文章原始出處和原文連結及本聲明。