Shader for Quest 2: 自定义shader在Unity Editor中可以使用,但是在Quest 2中却不可以

这篇具有很好参考价值的文章主要介绍了Shader for Quest 2: 自定义shader在Unity Editor中可以使用,但是在Quest 2中却不可以。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GameObject segment = GameObject.Find("DisplayArea_" + i);
MeshRenderer renderer = segment.GetComponent<MeshRenderer>();
Material mat = new Material(Shader.Find("Custom/MyShader")); 
mat.mainTexture = option.Image360;

上面这份代码,在Unity Editor中可以使用,但是编译到Quest 2之后,却没有反应。这可能是由于多种原因引起的,可以按照下面的步骤修改。

设置Graphics API

The Oculus Quest 2 primarily uses OpenGL ES and Vulkan.
Shader for Quest 2: 自定义shader在Unity Editor中可以使用,但是在Quest 2中却不可以,Unity C#开发语法,unity,游戏引擎,Oculus,vr

确保shader compatible with the Graphics API

Shader for Quest 2: 自定义shader在Unity Editor中可以使用,但是在Quest 2中却不可以,Unity C#开发语法,unity,游戏引擎,Oculus,vr

设置Graphics

如果使用Visual Studio联调的话,可能会看到这个报错:

System.ArgumentNullException: Value cannot be null.
Parameter name: shader

解决方案:

Go to the graphics settings in Unity (Edit > Project Settings > Graphics) and make sure your custom shader is included in the list of always included shaders. This ensures the shader is compiled into the build.Shader for Quest 2: 自定义shader在Unity Editor中可以使用,但是在Quest 2中却不可以,Unity C#开发语法,unity,游戏引擎,Oculus,vr
除了自己的custom shader需要拖进来之外,一些内置的shaders,例如Unlit/Texture 也需要拖进来。这可能是由于将Graphics API修改了,这些内置的shaders也不能被找到了。

其他

如果还不行,那可能是其他代码逻辑的问题,或者是shader的问题。那可以先写一个简单的shader,例如简单变成红色,赋值到一个default cube or sphere上,一步一步地看是哪里出了问题。例如在我的代码中,就发现全部360图片呈现白色,是因为另外一个球遮挡住了其他球。文章来源地址https://www.toymoban.com/news/detail-861751.html

到了这里,关于Shader for Quest 2: 自定义shader在Unity Editor中可以使用,但是在Quest 2中却不可以的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Unity】Shader自定义GUI笔记

    0、效果 可折叠展开,自定义排版 1、首先做好一个Shader,手写、SG、ASE都行,节点名称命名要规范! 打开Shader代码,在结尾添加上 2、创建一个C#脚本 继承自ShaderGUI类 3、画布绘制 4、常用API 布局类 (在OnGUI类里面使用) ​

    2024年02月13日
    浏览(35)
  • 在unity shader当中定义枚举值(两种方法)

    第一种方法 :使用Enum标识符 在properties当中定义Enum,后面option1为显示面板内容,逗号分隔开的是值类型 注意:值只能是整数 定义之后直接可以在代码段中使用 第二种方法:定义KeywordEnum标识符,并创建变体 properties当中定义如上所述; 之后在cg代码段中定义变体,前面加

    2024年02月16日
    浏览(29)
  • Unity Shader 学习笔记(4)URP渲染管线带阴影PBR-Shader模板 -- 新增可自定义阴影颜色

    材质面板截图 功能实现(URP渲染管线下): 1、进一步优化Shader结构和算法; 2、包含PBR材质; 3、投射和接收阴影,并升级 支持自定义阴影颜色 ; 4、支持点光源照射(但不支持点光源阴影)。 通用渲染截图 自定义阴影颜色截图 完整代码: 写在最后: 1、在我的上一篇文

    2024年02月12日
    浏览(50)
  • 【Unity Shader Graph URP渲染管线下的自定义半透明效果_半透明案例分享】

    URP的渲染管线下 在项目设置里找到“Graphic” 找到URP Asset文件 索引到Renderer List文件——“ForwardRenderer” 在这个“ForwardRenderer”文件里找到“Add Renderer Feature” 添加一个渲染对象,类似下图:Render Object (Experimental) 如图设置,将“Event”设置成 AfterRenderingSkybox ,然后“Layer M

    2024年02月09日
    浏览(59)
  • 【unity实战】使用shader和shader Graph实现2d图片描边效果(附源码)

    最近在学习shader Graph相关内容,其实关于实现2d图片描边效果,网上可以看到很多教程,但是我发现大多数都是基于比较老旧的2018unity版本,可是我们实际开发使用可能是比较新的2021及以上版本,差别还是有的,实际在升级或者使用过程中,会遇到诸多问题,而且也很少有人

    2024年02月16日
    浏览(56)
  • Unity 使用Shader实现序列帧动画

    序列帧动画图片使用shader逐帧播放 可以直接使用,拿走不谢。 可以挂到材质上放入Image组件的材质中使用。

    2024年02月13日
    浏览(44)
  • Threejs进阶之十五:在Thereejs 使用自定义shader

    先看下这次代码最终要实现的效果, 效果分析: 要实现上述效果,我们需要两张图片,作为纹理贴图,使其图案产生明暗效果;然后通过定义ShaderMaterial对象通过自定义Shader实现上述效果;后面代码中会进行详细分析; 这里我们先介绍下基础知识 Shader(着色器)是一种在图

    2024年02月05日
    浏览(42)
  • 【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)

    最近在学习shader Graph相关内容,其实关于实现2d图片描边效果,网上可以看到很多教程,但是我发现大多数都是基于比较老旧的2018unity版本,可是我们实际开发使用可能是比较新的2021及以上版本,差别还是有的,实际在升级或者使用过程中,会遇到诸多问题,而且也很少有人

    2024年01月21日
    浏览(66)
  • 【Unity】从零使用Amplify Shader - 屏幕抓取与扭曲

    前言: 很多实际项目中,我们都需要对当前整个屏幕进行一些特殊处理,那再ASE中其实可以非常快速的实现,下面就跟着教程试试吧。 创建材质: ● 右键 - Create - Amplify Shader - Legacy - Unlit ● 在创建出的Shader上右键 - Create - Material - 起个名字 ● 打开ASE编辑器。 初步实现:

    2024年02月10日
    浏览(47)
  • Unity中Shader的扭曲(同样使用了UV的扭曲)

    Unity中Shader的扭曲 注意:扭曲效果比较消耗手机性能 类似于透过 火焰 看火焰后的物体,火焰后的物体扭曲 类似于透过 水 看水中的物体,水中物体的扭曲

    2024年02月06日
    浏览(56)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包