这个是原始的projector 投影组件,边缘会有拉伸
经过修改shader 后边缘就没有拉伸了 (实现代码在文章最后)
这个着色器通过检查每个像素的UV坐标是否在定义的边界内,来确定是否应用黑色边框。如果UV坐标处于边缘区域,那么像素颜色会被强制设为黑色,从而在投影图像周围形成一个黑色边框,有效防止了纹理投影时可能出现的拉伸或变形现象,确保了投影效果的视觉一致性。
具体实现代码如下
Shader "Projector/ray_with_black_border"
{
Properties
{
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Cookie", 2D) = "white" {}
_BorderSize ("Border Size", Range(0, 1)) = 0.05 // 调整此值以改变边框大小,范围从0到1
}
SubShader
{
Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Tr
标签:拉伸,Color,投影,Shader,边框,边缘,Unity,投影机
From: https://blog.csdn.net/u012842807/article/details/140157926