コード例 #1
0
        IEnumerator LoadAssets(string[] assetPaths)
        {
            var result = new LoadAssetFolderOperation();

            for (int i = 0; i < assetPaths.Length; i++)
            {
                var assetPath = assetPaths[i];
                if (assetPath.EndsWith(".meta"))
                {
                    continue;
                }

                if (DelightingHelpers.IsPathSuffixed(assetPath, vm.positionsTextureSuffix))
                {
                    var texture = AssetDatabase.LoadAssetAtPath <Texture2D>(assetPath);
                    if (texture != null)
                    {
                        log.LogFormat(LogType.Log, "Found Position Texture {0}", assetPath);
                        result.positionTexture    = texture;
                        result.hasPositionTexture = true;
                    }
                }
                else if (DelightingHelpers.IsPathSuffixed(assetPath, vm.ambientOcclusionTextureSuffix))
                {
                    var texture = AssetDatabase.LoadAssetAtPath <Texture2D>(assetPath);
                    if (texture != null)
                    {
                        log.LogFormat(LogType.Log, "Found Ambient Occlusion Texture {0}", assetPath);
                        result.ambientOcclusionTexture    = texture;
                        result.hasAmbientOcclusionTexture = true;
                    }
                }
                else if (DelightingHelpers.IsPathSuffixed(assetPath, vm.baseTextureSuffix))
                {
                    var texture = AssetDatabase.LoadAssetAtPath <Texture2D>(assetPath);
                    if (texture != null)
                    {
                        log.LogFormat(LogType.Log, "Found Base Texture {0}", assetPath);
                        result.baseTexture    = texture;
                        result.hasBaseTexture = true;
                    }
                }
                else if (DelightingHelpers.IsPathSuffixed(assetPath, vm.bentNormalsTextureSuffix))
                {
                    var texture = AssetDatabase.LoadAssetAtPath <Texture2D>(assetPath);
                    if (texture != null)
                    {
                        log.LogFormat(LogType.Log, "Found Bent Normals Texture {0}", assetPath);
                        result.bentNormalsTexture    = texture;
                        result.hasBentNormalsTexture = true;
                    }
                }
                else if (DelightingHelpers.IsPathSuffixed(assetPath, vm.normalsTextureSuffix))
                {
                    var texture = AssetDatabase.LoadAssetAtPath <Texture2D>(assetPath);
                    if (texture != null)
                    {
                        log.LogFormat(LogType.Log, "Found Normals Texture {0}", assetPath);
                        result.normalsTexture    = texture;
                        result.hasNormalsTexture = true;
                    }
                }
                else if (DelightingHelpers.IsPathSuffixed(assetPath, vm.maskTextureSuffix))
                {
                    var texture = AssetDatabase.LoadAssetAtPath <Texture2D>(assetPath);
                    if (texture != null)
                    {
                        log.LogFormat(LogType.Log, "Found Normals Texture {0}", assetPath);
                        result.maskTexture    = texture;
                        result.hasMaskTexture = true;
                    }
                }

                yield return(null);
            }

            yield return(result);
        }