可编程渲染管线报错 Unity Universal RP asset not assigned

这篇具有很好参考价值的文章主要介绍了可编程渲染管线报错 Unity Universal RP asset not assigned。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

可编程渲染管线报错  Unity Universal RP asset not assigned

可编程渲染管线报错 Unity Universal RP asset not assigned,U3D,U3D shader编程,unity,游戏引擎

 文章来源地址https://www.toymoban.com/news/detail-686573.html

 

解决

1.创建urp资产

可编程渲染管线报错 Unity Universal RP asset not assigned,U3D,U3D shader编程,unity,游戏引擎

创建成功如下图

可编程渲染管线报错 Unity Universal RP asset not assigned,U3D,U3D shader编程,unity,游戏引擎

 

2.打开Edit > Project Settings… > Graphics

3.设置资产

可编程渲染管线报错 Unity Universal RP asset not assigned,U3D,U3D shader编程,unity,游戏引擎

 

 如果你安装了URP包,当你编写自定义渲染管线时,既是你设置的上图资产也会报同样的错误。

解决办法是卸载URP包。安装自定义可编程渲染管线基础包。Url为 com.unity.render-pipelines.core。复制url到packageManager里面添加基础包。

可编程渲染管线报错 Unity Universal RP asset not assigned,U3D,U3D shader编程,unity,游戏引擎

点击add package from git url ,输入url为com.unity.render-pipelines.core  ,然后add可编程渲染管线报错 Unity Universal RP asset not assigned,U3D,U3D shader编程,unity,游戏引擎

 

 安装完成如下

可编程渲染管线报错 Unity Universal RP asset not assigned,U3D,U3D shader编程,unity,游戏引擎

后面就可以编写自定义渲染管线了

渲染管线资产

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.Rendering;
[CreateAssetMenu(menuName = "Rendering/MyPipeLineAsset")]
public class MyPipeLineAsset : RenderPipelineAsset
{
    
    protected override RenderPipeline CreatePipeline()
    {
        return new MyRenderPipeLine();
    }
}

 渲染脚本

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;

public class CameraRender
{
    private ScriptableRenderContext context;
    private Camera _camera;

    public void Render(ScriptableRenderContext context, Camera camera)
    {
        this.context = context;
        this._camera = camera;
        Draw();
    }

    private void Draw()
    {
        // 创建并调度命令以清除当前渲染目标
        var cmd = new CommandBuffer();
        cmd.ClearRenderTarget(true, true, Color.black);
        context.ExecuteCommandBuffer(cmd);
        cmd.Release();
        DrawSky();
        CameraCull();
        Submit();
    }

    private void DrawSky()
    {
        context.SetupCameraProperties(_camera);
        context.DrawSkybox(_camera);
    }

    private void CameraCull()
    {
        _camera.TryGetCullingParameters(out var parameters);
        var result = context.Cull(ref parameters);

        DrawingSettings drawingSettings = new DrawingSettings();
        drawingSettings.SetShaderPassName(1, new ShaderTagId("SRPDefaultUnlit"));
        SortingSettings sortingSettings = new SortingSettings();
        sortingSettings.criteria = SortingCriteria.CommonOpaque;
        drawingSettings.sortingSettings = sortingSettings;
        FilteringSettings filteringSettings = new FilteringSettings(RenderQueueRange.opaque);
        context.DrawRenderers(result, ref drawingSettings, ref filteringSettings);


        sortingSettings.criteria = SortingCriteria.CommonTransparent;
        filteringSettings.renderQueueRange = RenderQueueRange.transparent;
        context.DrawRenderers(result, ref drawingSettings, ref filteringSettings);
    }

    private void Submit()
    {
        context.Submit();
    }
}

public class MyRenderPipeLine : RenderPipeline
{
    private CameraRender _cameraRender = new CameraRender();

    protected override void Render(ScriptableRenderContext context, Camera[] cameras)
    {
        foreach (var camera in cameras)
        {
            _cameraRender.Render(context, camera);
        }
    }
}

到了这里,关于可编程渲染管线报错 Unity Universal RP asset not assigned的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UnityShader——03图形硬件简史与可编程管线

    GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”,在现代计算机系统中的作用变得越来越重要 20世纪六七十年代,受硬件条件的限制,图形显示器只是计算机输出的一种工具,限于硬件发展水平。人们只是纯粹从软件实现的角度来考虑图形用户界面的规范问题,此

    2024年02月19日
    浏览(43)
  • 西电微机原理实验四 可编程并行接口实验

       1. 了解可编程并行接口8255的内部结构。   2. 掌握工作方式、初始化编程及应用。    1. 流水灯实验:利用8255的A口循环点亮发光二极管。   2. 在完成(1)基础上,增加通过读取开关控制流水灯的循环方向和循环方式。    8255是一个通用可编程并行接口电路。它具

    2024年02月05日
    浏览(59)
  • 可编程逻辑器件之数码管显示实验

    一、实验目标 能够熟练的进行可编程逻辑器件开发,能够通过具体工程需求进行需求分析、模块划分、代码编写、功能仿真、综合分析、板级验证,能够独立正确的进行实验操作,培养学生的工程实践研究能力和动手实践能力,具备借助可编程逻辑器件开发平台和仿真工具科

    2024年02月02日
    浏览(133)
  • SG-8201CJA(汽车可编程晶体振荡器)

    nbsp; nbsp; nbsp; nbsp; nbsp;爱普生的SG-8021CJA是一款符合AEC-Q100标准的晶体振荡器,专为要求苛刻的汽车/ADAS应用(如激光雷达和相机ECU)而设计。它采用爱普生的内部低噪声小数NPLL,输出nbsp;频率高达170MHz,相位抖动小于1/25,稳定性比之前的产品SG-8101CGA高出约2倍。此外,2.0*1.6m

    2024年02月21日
    浏览(49)
  • 可编程网关:如何助力智慧工厂实现智能化管理

    一个具体的实际案例,详细说明可编程网关在某汽车零部件智慧工厂中的应用细节: 案例背景: 某大型汽车零部件制造企业,致力于提升生产效率、降低运营成本、确保产品质量,决定对其传统工厂进行全面数字化改造,构建智慧工厂。其中,可编程网关作为关键组件,被

    2024年04月08日
    浏览(48)
  • 可编程交易区块为DeFi机器人提供强大动力

    对于选择基金投资的人来说,一个基本指导原则就是寻找那些管理费最低的基金。资本应该是在运转,而不是用于支付费用。同样,Mysten Lab的Capy交易机器人利用可编程交易区块(Programmable Transaction Blocks ,PTBs)将资本集中用于交易,而不是gas费,并且能够执行复杂的输入策

    2024年02月07日
    浏览(54)
  • FPGA的可编程逻辑单元(LUT和寄存器)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 1.根据PLD器件单片集成度的高低,可将PLD分为低密度可编程逻辑器件和高密度可编程逻辑器件。 2.按器件结构类型划分      

    2024年02月19日
    浏览(53)
  • SG-9101CGA(汽车+125°C可编程晶体振荡器)

    nbsp; nbsp; nbsp; nbsp;SG-9101CGA是用于汽车CMOS输出的可编程晶体振荡器,彩用2.5 x 2.0 (mm)封装,0.67 MHz至170 MHz频率范围、工作温度范围为-40℃~+125℃,符合车规级晶振,无铅,绿色环保,满足汽车工业标准,电源电压范围为1.62 V ~ 3.63 V,具有低功耗特性。广泛应用于汽车多媒体、车

    2024年01月22日
    浏览(59)
  • Verilog实现FPGA可编程电路中的RAM存储器

    Verilog实现FPGA可编程电路中的RAM存储器 在FPGA可编程电路的设计中,RAM存储器通常被广泛使用。而手写RAM存储器则可以提供更加灵活、高效的设计方案。本文将介绍如何使用Verilog语言来手写FPGA中的RAM存储器。 首先,我们需要确定RAM存储器的大小和宽度。假设我们需要实现一个

    2024年02月04日
    浏览(57)
  • 使用 zk-SNARKs 的可编程零知识证明:第 3 部分

    之前,我们已经展示了如何使用称为零知识密钥声明证明 (ZKKSP) 的技术为以下声明构建零知识证明 (ZKP)。 基本上,它证明了不仅证明者知道给定公钥的密钥,而且还证明知道给定摘要的秘密哈希,而不会泄露秘密。 图片来自 CoinGeek 虽然 ZKKSP 有效,但它有一个严重的限制:它

    2024年02月02日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包