赞
踩
目录
HDRP和UPR是两种完全不同的渲染模式,不能混用,只能选择其中一种,最好在项目刚开始的时候就确定好。否则后期所有模型的材质都要改变非常麻烦。
project settins:
1. graphics->Scriptable render pipeline settings 要修改,假如从hdrp改为upr那么在asset里首先创建一个upr 渲染assets(with universal renderer即可),然后再添加进去。
2. player->webgl格式 里other setting gamma\linear要修改,linear对应hdrp,gamma 对应 urp,hdrp不能使用gamma;publishing settings->decompression fallback 使用render streaming 方便在浏览器查看时要勾选
3. Quality里render pipleline assets 需要修改,这个过程时间比较长,修改渲染管线的方式好像主要就是这个。
4. 创建材质时,不同的渲染模式要选择不同的shader,hdrp只能选择hdrp/lit的那个,普通的选择standard即可
在创建Unity项目时,你可以选择使用不同的渲染管线,如HDRP(High Definition Render Pipeline)、URP(Universal Render Pipeline)或普通项目(通常指的是使用内置渲染管线)。
这些渲染管线之间存在一些区别,主要涉及到渲染质量、性能、功能和兼容性等方面。以下是它们的一些主要区别:
HDRP(High Definition Render Pipeline):
渲染质量: HDRP专注于提供高质量的渲染效果,包括逼真的光照、阴影、反射和全局照明等,适用于需要高度逼真视觉效果的项目。
功能: HDRP提供了更多高级的图形特效和渲染功能,如体积雾、透明度抗锯齿、透射、真实材质等。
性能: 由于提供了更高质量的渲染效果,HDRP在性能方面可能相对较高,需要更强大的硬件支持。
URP(Universal Render Pipeline):
渲染质量: URP平衡了渲染质量和性能,适用于中等和较低性能设备,并提供了一定程度的图形效果。
功能: URP提供了一些常用的渲染特效,同时也具有一定的可定制性,开发者可以根据项目需求进行调整。
性能: URP相对于HDRP来说在性能方面更轻量级,适用于移动设备和性能有限的平台。
普通项目(Built-in Render Pipeline):
渲染质量: 内置渲染管线提供了基本的渲染功能,适用于简单的项目或者对渲染质量要求不高的项目。
功能: 内置渲染管线的功能相对较少,但在一些简单的项目中可能足够使用。
性能: 内置渲染管线通常较轻量级,适用于性能较低的设备和平台。
选择合适的渲染管线取决于你的项目需求、目标平台以及你愿意在渲染质量和性能之间进行的权衡。如果你希望项目具有逼真的视觉效果并愿意在性能上付出一些代价,可以考虑使用HDRP。如果你需要在不同平台上取得良好的性能表现,可以考虑使用URP。对于较简单的项目或者对性能要求较低的项目,内置渲染管线也是一个选择。
修改custom Evenet System后
要安装input system package
并且在project setting-> player->
允许enter unsafe mode
Custom Event System 脚本内容如下:
- using UnityEngine.EventSystems;
- using UnityEngine.InputSystem;
- using UnityEngine.InputSystem.LowLevel;
-
- public class CustomEventSystem : EventSystem
- {
- protected override void Awake()
- {
- base.Awake();
- unsafe
- {
- InputSystem.onDeviceCommand += InputSystemOnDeviceCommand;
- }
- }
-
- private static unsafe long? InputSystemOnDeviceCommand(InputDevice device, InputDeviceCommand* command)
- {
- if (command->type != QueryCanRunInBackground.Type)
- {
- // return null is skip this evaluation
- return null;
- }
-
- ((QueryCanRunInBackground*)command)->canRunInBackground = true;
- return InputDeviceCommand.GenericSuccess;
- }
-
- protected override void OnApplicationFocus(bool hasFocus)
- {
- //Do not change focus flag on eventsystem
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。