Unity中ShaderGraph下获取主灯

这篇具有很好参考价值的文章主要介绍了Unity中ShaderGraph下获取主灯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

在上一篇文章中,我们知道了URP下获取主灯的方法。

  • Unity中URP下获取主灯信息

在这篇文章中,我们来了解一下ShaderGraph下怎么获取主灯。方便我们之后,快速调试光照效果。


一、ShaderGraph获取主灯

1、创建ShaderGraph

Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎

2、创建一个自定义方法(Custom Function)节点

Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎

3、新建两个 Vector3 类型的输出变量

Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎

4、选择自定义节点程序体为 string 类型

  • 这里也可以选择文件类型,我们选择文本框形式,只是方便修改

5、编写程序体

  • 给定方法名
  • 判断 SHADERGRAPH_PREVIEW,让其在预览模式下不要报错
  • 通过 _MainLightPosition 获取主光方向
  • 通过 _MainLightColor 获取主光颜色
    Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎

6、我们输出主光方向看看效果

Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎

Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎

7、我们输出主光颜色看看效果

Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎
Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎

8、计算Lambert光照

  • 使用 主光方向向量 点积 法线向量

  • 获取法线
    Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎

  • 创建点积节点
    Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎

  • 得到 dot(N,L)
    Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎

  • 输出
    Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎
    Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎


二、测试节点图 及 测试代码

Unity中ShaderGraph下获取主灯,Unity,unity,游戏引擎文章来源地址https://www.toymoban.com/news/detail-812289.html

#if SHADERGRAPH_PREVIEW
Direction = 1;
Color = 1;
#else
Direction = _MainLightPosition.xyz;
Color = _MainLightColor.rgb;
#endif

到了这里,关于Unity中ShaderGraph下获取主灯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity vs Godot :哪个游戏引擎更适合你?

    游戏引擎的选择对开发过程和最终产品质量有着重大影响。近年来,Godot和Unity这两款引擎受到广泛关注。本文将从多个维度对两者进行比较,以期为开发者提供正确的选择建议。 Godot和Unity都有各自的优势,没有绝对的好坏之分。Godot开源免费,上手简单,更适合2D和小型游戏

    2024年01月23日
    浏览(74)
  • 30分钟了解所有引擎组件,132个Unity 游戏引擎组件速通!【收藏 == 学会】

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2024年02月11日
    浏览(52)
  • Unity Physics2D 2d物理引擎游戏 笔记

    2d 材质 里面可以设置 摩擦力 和 弹力 Simulated:是否在当前的物理环境中模拟,取消勾选该框类似于Disable Rigidbody,但使用这个参数更加高效,因为Disable会销毁内部产生的GameObject,而取消勾选Simulated只是禁用。 Kinematic 动力学刚体 动力学刚体不受重力和力的影响,而受用户的

    2023年04月24日
    浏览(102)
  • Unity和UE4两大游戏引擎,你该如何选择?

    目录 游戏引擎 2 —— 难易区别 编程语言 3 —— 游戏产品 UE4制作的游戏产品  Unity制作的游戏产品  产品类型 5 —— 资源商店 6 —— 人才需求 平均薪资 总结      Unity和UE4都是游戏引擎,所谓游戏引擎就是集成了复杂功能的游戏开发软件,他们帮我们实现了复杂的底层逻

    2023年04月08日
    浏览(53)
  • GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议

    GODOT,是一个免费开源的3D引擎。本文以unity作对比,简述两者区别和选型建议。由于是很久以前写的ppt,技术原因视频和部分章节丢失了。建议当做业务参考。 GODOT目前为止遇到3个比较重大的机遇,第一个是oprea的合作奖,第二个是用支持c#换来的微软的投资,第三个是虚幻

    2024年02月14日
    浏览(48)
  • Unity 3D:获取未激活游戏对象的方法

    一、获取已激活游戏对象 Gameobject.Find(\\\"游戏对象名\\\") //根据对象名直接获取游戏对象 这个方法可以找到指定的对象,但是一些缺陷。 1、如果场景中有重名,此方法找到的是Hierarchy从上至下第一次出现此对象名的对象。 2、如果对象的activeSelf为false,那么这个方法永远无法找到

    2023年04月08日
    浏览(32)
  • Unity 开发人员转CGE(castle Game engine)城堡游戏引擎指导手册

    一、简介 2. Unity相当于什么GameObject? 3. 如何设计一个由多种资产、生物等组成的关卡? 4. 在哪里放置特定角色的代码(例如生物、物品)?Unity 中“向 GameObject 添加 MonoBehaviour”相当于什么? 5.Unity子目录相当于什么Assets? 6. 支持哪些模型格式? 7. 支持FBX模型格式吗? 8.

    2024年02月07日
    浏览(41)
  • Unity中获取游戏对象的几种方式

    在学习如何获取物体和组件时先明白说明什么是物体,组件和对象。 物体:unity中在层级显示的东西都可以叫做物体 组件:unity中提供了大量已经写好的组件,比如刚体,碰撞体等,自己 编写的脚本也是一种组件类 对象:挂载到物体上的脚本是一个实例化的组件,也就是一

    2024年01月17日
    浏览(27)
  • 【unity】ShaderGraph学习笔记

    创建ShaderGraph 创建URP的shaderGraph文件 在Project面板里Create→ShaderGraph→URP→这里主要有几个选项 Lit Shader Graph :有光照三维着色器 Unlit Shader Graph :无光照三维着色器 Sprite Custom Lit Shader Graph:自定义光照图片着色器 Sprite Unlit Shader Graph:无光照图片着色器 Sprite Lit Shader Graph:光

    2024年02月06日
    浏览(37)
  • Unity之ShaderGraph入门

    随着Unity版本的不断升级,URP(可编程渲染管线)也越来越普及了。不管是从效果还是性能,都是吊打老版的build-in-shader。所以无论如何我们都要开始 拥抱URP,升级Unity的时候到了。 我这里选择了Unity 2021.3.23f1版本,大家只要选的是Unity2019-2021之间的版本都可以。 我们可以使

    2024年02月12日
    浏览(27)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包