public void SetSourceTexture(Texture texture) { CheckInit(); if (texture != null) { _sourceTexture = texture; } else { _sourceTexture = _textureNull; } RenderTextureUtils.SetRenderTextureSize(ref _texture, _sourceTexture.width, _sourceTexture.height); foreach (var component in _components) { if (component != null) { component.UpdateSourceTexture(); } } }
public virtual void SaveAsset() { string path = "Assets/" + assetName + ".asset"; switch (dimension) { case TextureDimension.Tex2D: Texture2D output2D = RenderTextureUtils.ConvertToTexture2D(renderTexture, 0, size, assetTextureFormat); UnityEditor.AssetDatabase.CreateAsset(output2D, path); Debug.Log("Wrote 2D " + output2D + " to " + path, this); break; case TextureDimension.Tex3D: Texture3D output3D = RenderTextureUtils.ConvertToTexture3D(renderTexture, size, assetTextureFormat); UnityEditor.AssetDatabase.CreateAsset(output3D, path); Debug.Log("Wrote 3D " + output3D + " to " + path, this); break; default: Debug.LogError("Only Tex2D and Tex3D dimensions are supported"); break; } }
public override void UpdateSourceTexture() { RenderTextureUtils.SetRenderTextureSize(ref _rtC, _mskController.sourceTexture.width, _mskController.sourceTexture.height); }