2

最終的にスクリプトから BuildPipeline を呼び出してアプリケーションを作成するビルド スクリプトを使用して、Unity を使用しようとしています。ただし、アイコンを設定する方法を理解しようとしています。PlayerSettings.SetIconsForTargetGroup を呼び出して BuildPipline.BuildPlayer を呼び出した後、生成された実行可能ファイルに適切なアイコンが表示されず、プログラムの実行中にも表示されません。

現在、次のコードを使用しています。

Texture2D texture = AssetDatabase.LoadMainAssetAtPath(iconFile) as Texture2D;               
int [] sizeList = PlayerSettings.GetIconSizesForTargetGroup(BuildTargetGroup.Standalone);
Texture2D[] iconList = new Texture2D[sizeList.Length];
for(int i=0;i<sizeList.Length;i++)
{
    int iconSize = sizeList[i];
    iconList[i] = (Texture2D)Instantiate(texture);
    iconList[i].Resize(iconSize,iconSize,TextureFormat.ARGB32,false);
}
PlayerSettings.SetIconsForTargetGroup(BuildTargetGroup.Standalone,iconList);

私は何を間違っていますか?

どんな援助でも大歓迎です。ありがとうございました

4

3 に答える 3

0

OSX 用の BuildPipline.BuildPlayer を呼び出す場合は、完全なフォルダーを指定する必要があります。

/MyPath/MyApp.app

つまり、「.app」の部分を省略しないでください。これがないと、Unity はアプリをビルドしますが、解像度ダイアログにアイコンやスプラッシュ画像を含めません。

于 2015-11-05T10:15:18.927 に答える
0

これも私のために働いた:

BuildTargetGroup.Unknown

しかし、望ましくない結果: Unity は 1 つの Texture2D PNG を設定するときにすべてのアイコン サイズをオーバーライドしないため、Windows エクスプローラーはアプリケーション EXE のアイコンを Unity のデフォルト アイコンと異なる解像度のアイコンの間で交換します。確かに、Unity3D BuildPipeline.BuildPlayer(..) または SetIconsForTargetGroup(..) のバグのようです。

于 2015-10-05T10:51:30.787 に答える
0

使用BuildTargetGroup.Unknownするとうまくいきます。

于 2013-08-29T01:38:35.507 に答える