1.这里我代码没啥问题~~~编辑器里也没毛病
void Start()
{
// 加载底图和上层图片
string backgroundImagePath = Application.streamingAssetsPath + "/background.jpg";
Texture2D backgroundTexture = new Texture2D(2, 2);
byte[] backgroundImageData = System.IO.File.ReadAllBytes(backgroundImagePath);
backgroundTexture.LoadImage(backgroundImageData);
string overlayImagePath = Application.streamingAssetsPath + "/1.png";
Texture2D overlayTexture = new Texture2D(2, 2);
byte[] overlayImageData = System.IO.File.ReadAllBytes(overlayImagePath);
overlayTexture.LoadImage(overlayImageData);
// 创建合成材质
Material imageProcessingMaterial = new Material(Shader.Find("Custom/ImageProcessingShader"));
imageProcessingMaterial.SetTexture("_MainTex", backgroundTexture);
imageProcessingMaterial.SetTexture("_OverlayTex", overlayTexture);
// 创建RenderTexture,并渲染到其中
RenderTexture renderTexture = new RenderTexture(backgroundTexture.width, backgroundTexture.height, 0);
Graphics.Blit(null, renderTexture, imageProcessingMaterial);
// 将RenderTexture转换为Texture2D
Texture2D outputTexture = new Texture2D(renderTexture.width, renderTexture.height, TextureFormat.RGBA32, false);
RenderTexture.active = renderTexture;
outputTexture.ReadPixels(new UnityEngine.Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
outputTexture.Apply();
RenderTexture.active = null;
// 显示处理后的图像
raw.texture = outputTexture;
}
2.但是打包完之后,原本要合并的图片却没有反应
3.解决方法如下:
选择Edit->ProjectSettings->Graphics:
在ProjectSettings里面的Graphics,Always Included Shaders数组更改size,并将所需用到的Shader拖入其中
原文地址:https://blog.csdn.net/weixin_53501436/article/details/134648479
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_21594.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。