【unity】背景透明的图片显示在RawImage上发现图片边缘有一条线

项目场景:

项目场景:使用百度ai抠图人像,获得背景透明的人像图片。


问题描述

使用RawImage显示背景透明的图片,发现明明应该是透明的边缘出现一条线。
在里插入图片描述

原因分析:

1、是否抠图没抠干净。
2、是否unity哪里设置有问题。

解决方案:

1、尝试裁剪Texture2D去掉边缘线,结果还是存在。
2、找主程帮忙,一行代码解决。
tex2D.wrapMode = TextureWrapMode.Clamp;
用ai找了下解释:设置纹理的环绕模式(Wrap Mode)为 Clamp 模式,纹理将使用镜像的方式来填充超出纹理坐标范围的部分,以防止纹理坐标超出范围并产生不必要的重复或环绕效应。

Over。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你可以按照以下步骤在Unity中使用C#代码在RawImage上绘制2D折线: 1. 在场景中创建一个RawImage对象。 2. 在RawImage对象上附加一个CanvasRenderer组件。 3. 在RawImage对象上附加一个RectTransform组件,并将其缩放到所需大小。 4. 在RawImage对象上附加一个空的GameObject,命名为“LineRenderer”。 5. 在“LineRenderer”对象上添加LineRenderer组件。 6. 编写以下C#代码: ``` using UnityEngine; using System.Collections; public class DrawLine : MonoBehaviour { public RawImage rawImage; public LineRenderer lineRenderer; void Start () { lineRenderer = GetComponent<LineRenderer>(); lineRenderer.positionCount = 2; lineRenderer.SetPosition(0, new Vector3(0, 0, 0)); lineRenderer.SetPosition(1, new Vector3(100, 100, 0)); } void Update () { rawImage.texture = RenderTexture.GetTemporary(Screen.width, Screen.height, 16); RenderTexture renderTexture = rawImage.texture as RenderTexture; RenderTexture.active = renderTexture; GL.PushMatrix(); GL.LoadPixelMatrix(0, Screen.width, Screen.height, 0); lineRenderer.SetColors(Color.red, Color.red); lineRenderer.SetWidth(10, 10); lineRenderer.useWorldSpace = false; lineRenderer.material = new Material(Shader.Find("Sprites/Default")); lineRenderer.material.color = Color.red; lineRenderer.SetPosition(0, new Vector3(0, 0, 0)); lineRenderer.SetPosition(1, new Vector3(100, 100, 0)); lineRenderer.enabled = true; lineRenderer.Simplify(0.1f); lineRenderer.useWorldSpace = false; GL.PopMatrix(); RenderTexture.active = null; } } ``` 7. 在Inspector面板上将“RawImage”和“LineRenderer”对象拖动到“DrawLine”脚本中的相应字段中。 8. 运行场景并在RawImage上绘制2D折线。 请注意,这只是一个简单的示例,你可以根据自己的需求进行更改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值