私は作っているエディタスクリプトで単純なResources.Load呼び出しを実装しようとしていましたが、私が試した数多くのアプローチにもかかわらずnullが返され続けます。Resources.Loadはエディタスクリプトでnullを返します
目的
ユーザーは、この場合には、プロジェクト内のフォルダに.JPG年代を追加資産/リソース/ 360Photos
- 、キューブマップテクスチャのインポートを適用します
スクリプトはskybox/cubemapマテリアルを作成し、テクスチャtを適用しますそれはポストキューブマップとして処理されており、どのようにそれがその後、スカイボックス/キューブマップ日陰の_Texプロパティに適用される後の材料
後処理スクリプトがこのファイルを検出
oを私がヒットしているバリケードは、テクスチャオブジェクトを取得していますマテリアルは、インポートしてキューブマップに処理するテクスチャに関連付けられたリソースをロードすることさえできないようです。
Unity Editor Scripting(特にAssetPostProcessor)でResources.Loadを使用することはできますか、実行時にしか利用できない機能を実行しようとしていますか?
誰かが自分のコードを見て、私が提供したUnityのスクリーンショットを見ることができれば、それは非常に高く評価されます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class Postprocess360Photo : AssetPostprocessor {
void OnPostprocessTexture(Texture2D texture)
{
string lowerCaseAssetPath = assetPath.ToLower();
bool isIn360PhotoDirectory = lowerCaseAssetPath.IndexOf ("360photos") != -1;
if (isIn360PhotoDirectory)
{
TextureImporter textureImporter = (TextureImporter)assetImporter;
textureImporter.textureType = TextureImporterType.Default;
textureImporter.textureShape = TextureImporterShape.TextureCube;
textureImporter.generateCubemap = TextureImporterGenerateCubemap.Cylindrical;
textureImporter.sRGBTexture = true;
textureImporter.alphaSource = TextureImporterAlphaSource.FromInput;
textureImporter.alphaIsTransparency = true;
textureImporter.npotScale = TextureImporterNPOTScale.ToSmaller;
textureImporter.isReadable = true;
textureImporter.mipmapEnabled = false;
textureImporter.wrapMode = TextureWrapMode.Clamp;
textureImporter.filterMode = FilterMode.Bilinear;
}
AssetDatabase.ImportAsset (assetPath);
CreateMaterial();
}
void CreateMaterial()
{
Cubemap cubemap = (Cubemap)Resources.Load ("360Photos/FrontDriveway");
Debug.Log (cubemap);
}
}
ヌル戻り値の階層構造とコンソール検証のための画像をご参照ください: - それは場合に役立ちますユニティ5.5.0f3を使用して
。
あなたはキューブマップとして 'キューブマップキューブマップ= Resources.Load(「360Photos/FrontDriveway」)を試みることができる;'そして、あなたのリソースの「テクスチャタイプは、」「キューブマップ」 – Chong
こんにちは@Chong、であることを検査官に確認してくださいあなたの応答に感謝します。 あなたが言ったようにコードを試しましたが、まだ結果はありませんでした。インスペクタのテクスチャタイプにもう "Cubemap"という型がなくなり、Unity 5.5でそれを変更したと思います。そのような型は、テクスチャシェイプオブキューブでDefaultです。 必要に応じて画像リンクをご覧ください: - http://imgur.com/a/A4aYj – AndrewMMG
FrontDrivewayファイルのフォーマット/拡張子とは何ですか?また、これはあなたのプロジェクトで現在使用しているコードですか? – Programmer