Unity基于URP管线使用GL画线时UV的使用参考

        其实初衷只是觉得画虚线的话一段一段的画太不优雅,看看能不能用虚线贴图解决问题,看了下GL下的uv使用,看来是可行的,呵呵。

        这里贴图坐标使用Vector3,常规形况下x,y对应u,v,以下两种情况需要访问z。

1、访问立方体贴图(这是使用矢量坐标访问的,因此为 x、y 和 z)。
2、进行“投影纹理”,在这种情况下,X 和 Y 坐标除以 Z 可获得最终坐标。这最适用于水反射等类似情形。

参考代码:

using UnityEngine;
using UnityEngine.Rendering;

public class GLTexCoord : MonoBehaviour
{
	[SerializeField]
	Material mat;

	void OnEnable()
	{
		RenderPipelineManager.endCameraRendering += EndCameraRendering;
	}

	void OnDisable()
	{
		RenderPipelineManager.endCameraRendering -= EndCameraRendering;
	}

	void EndCameraRendering(ScriptableRenderContext context, Camera camera)
	{
		float len = 10;
		Vector3 p1, p2;
		p1 = new Vector3(len * Mathf.Cos(Time.time), len * Mathf.Sin(Time.time), 0);
		p2 = -p1;

		mat.SetPass(0);

		GL.MultMatrix(transform.localToWorldMatrix);

		GL.Begin(GL.LINES);

		GL.TexCoord(new Vector3(0, 0, 0));
		GL.Vertex(p1);
		GL.TexCoord(new Vector3(0, 1, 0));
		GL.Vertex(p2);

		GL.End();
	}
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Unity使用Universal Render Pipeline(URP管线,请按照以下步骤操作: 1. 创建一个新项目或打开现有项目。 2. 在Unity的Package Manager中,找到Universal RP并安装它。 3. 在Project视图中创建一个新的URP Asset资源。此资源包含了所有URP管线的设置,包括渲染设置、光照设置和材质设置。 4. 在Project视图中创建一个新的Material资源。将其渲染模式设置为使用URP管线,并将其属性调整为您所需的外观。 5. 在Scene视图中创建一个新的GameObject并将其添加到场景中。将该GameObject的Renderer组件的材质设置为您刚刚创建的Material资源。 6. 在Project视图中创建一个新的Light资源。将其类型设置为Directional,并将其属性调整为您所需的光照效果。 7. 在Scene视图中将该Light资源添加到场景中。 8. 在Project视图中创建一个新的Camera资源。将其属性调整为您所需的摄像机设置。 9. 在Scene视图中将该Camera资源添加到场景中。 10. 在Project视图中创建一个新的Post-processing Profile资源。此资源包含了所有后期处理效果的设置。 11. 在Scene视图中将该Post-processing Profile资源添加到您的Camera组件的Post-processing Settings中。 12. 在Unity的菜单栏中选择Window > Rendering > Lighting Settings。在其中,将Scene视图中的Environment Lighting属性设置为使用Skybox,并将其Skybox属性设置为您所需的天空盒材质。 13. 最后,按下Play按钮,您将看到使用URP管线的场景开始渲染。 这些步骤将为您提供使用URP管线的基础知识。根据您的需求,您可以使用URP管线的其他功能和设置来进一步优化您的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值