-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
テスクチャベイク(TexTransTool等)を含む設定で別プラットフォームでmanual bake avatarしたものをアップロードするとアバターが黒色になる #164
Comments
んー… これはNDMFの管轄外な気がするような? |
どっちかというとTexTransToolなんですかね(雑にNDMFにテクスチャ参照つっこむとこうなるのかなと思ってたのでNDMFにたてたけど |
Bake後にアップロードするときに警告するならNDMFにPlatform Dependantなアセットかどうかを伝えてndmf側で警告してほしい気はします。 |
参考までですが、生成したテクスチャをPNGで保存してTextureImporterにいい感じプラットフォーム依存を吸収してもらおうとしても、ビルド完了までPNGをインポートできません。ビルド開始時にNDMF側で 現状はPass内でテクスチャを生成する場合はTexture2Dのまま扱う(=プラットフォーム依存な形式に自分で圧縮する)必要がありました。 using nadena.dev.ndmf;
using System.IO;
using UnityEditor;
using UnityEngine;
using UnityEngine.Assertions;
[assembly: ExportsPlugin(typeof(TextureTestPlugin))]
public class TextureTestPlugin : Plugin<TextureTestPlugin>
{
protected override void Configure()
{
InPhase(BuildPhase.Resolving).Run("Generate png", (ctx) =>
{
var tex = Texture2D.redTexture;
var png = tex.EncodeToPNG();
var path = "Assets/TextureTestPlugin.png";
File.WriteAllBytes(path, png);
AssetDatabase.Refresh();
var newTex = AssetDatabase.LoadAssetAtPath<Texture2D>(path);
Assert.IsNotNull(newTex); // ここで例外
});
}
} 一応、Passの開始時に |
Related?: #225 |
#225 での圧縮・保存時にフォーマットをチェックして警告を出すとかはできそうな気がしますね。 |
PCでmanual bakeするとアセット内にDXT5などでTexture2Dアセットが生成される。
これはTexture2DアセットなのでプラットフォームをAndroidにしたときにASTCに自動でならない。
このためエディタ上では正常に動作したまま、アップロードするとテクスチャが黒色などの状態になると思われる。
挙動は仕方ない雰囲気があるので、なんか警告があると嬉しい気がする(どこに?いつ?問題があるがあまりイメージは出来ていない)。
The text was updated successfully, but these errors were encountered: