Unity 摄像机实现镜面显示效果

本文介绍了一种在Unity中实现镜面显示效果的方法,通过自定义脚本MirrorCamera,可以轻松地为游戏场景中的摄像机添加镜像翻转功能。只需将此脚本挂载到目标摄像机上,并设置Horizontal参数为True,即可实现水平方向的镜像效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using UnityEngine;
[RequireComponent(typeof(Camera))]
[ExecuteInEditMode]
public class MirrorCamera : MonoBehaviour
{
    new Camera camera;
    public bool Horizontal;
    void Awake()
    {
        camera = GetComponent<Camera>();
    }
    void OnPreCull()
    {
        camera.ResetWorldToCameraMatrix();
        camera.ResetProjectionMatrix();
        Vector3 scale = new Vector3(Horizontal ? -1 : 1, 1, 1);
        camera.projectionMatrix = camera.projectionMatrix * Matrix4x4.Scale(scale);
    }
    void OnPreRender()
    {
        GL.invertCulling = Horizontal;
    }

    void OnPostRender()
    {
        GL.invertCulling = false;
    }
}

将代码挂在到需要实现镜面显示效果的摄像机物体上,并将Horizontal选为True即可。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值