透明和半透明效果

news2024/11/23 6:59:24

Alpha通道

        透明度可以通过base map的alpha通道来控制。Alpha值低的话,mesh就变得更加透明,alpha值高的话,mesh的透明度会变低,变得能更加轻松地被看到。当alpha为0时,mesh就完全不可见了,alpha值在中间时,就会呈现出半透明效果。

创建玻璃材质

        在Unity中,如何创建一个类似玻璃效果的材质呢?对于一个理想的非常干净的玻璃平面来说,它不会有漫反射(所有的光线都直接穿过了它而没有发生反射),但它却拥有高光反射。但在真实世界中,找不到这种玻璃,现实中的玻璃会带有一点点漫反射。

        接下来在Unity下创建一个类似玻璃的材质,首先新建一个材质GlassMaterial,在场景中添加一个圆柱体,然后对这个圆柱体应用这个材质:


        在材质的Inspetor中,将Surface Options中的Surface Type属性,从Opaque改为Transparent。然后将Render Face设置为Both,表示正反都要做渲染。


        此时圆柱体看起来非常奇怪,那是因为我们给了矛盾的指令:Surface Type是透明的,但alpha通常仍然是默认值(255,不透明)。通过修改Base Map中的A值,我们可以调节表面的透明度。


        现在看起来有点像是玻璃了,但是还是差点意思。差的点什么意思呢?就是之前所说的高光反射。这里我们调节一下Smoothness和Metallic属性,来让这个材质看起来更像玻璃一点。


        最后,我们还可以改变一下“玻璃”本身的颜色,通过修改Base Map的R,G,B通道的值,让它变绿一点。


使用alpha clipping添加细节

        来看下图的物体,它是一片叶子。这个物体是通过创建叶子和叶脉的mesh(较多的顶点)来实现的。


        我们当然可以直接使用这个mesh。但是在一个场景中,叶子可能被重复使用非常多次,比如对于一个树来说,可能会有非常多的叶子。如果直接使用mesh,这意味着会有相当大的渲染压力。

        实际使用中,通常不会采用这种方式来做。对于叶子来说,它可以是一个非常简单的mesh,只包含非常少的顶点,其表面上的细节比如叶脉等,可以在纹理中使用alpha clipping来实现。这样做的话会使得建模过程和实际运行时的处理过程都变得更加简单。

        一般我们通过设置Base Map属性的纹理文件为带alpha clipping的纹理来实现此功能(首先将Surface Type选成Transparent)。如下图:


        这些叶子的模式实际只是一个简单的由少数顶点构成的平面:


        在Surface Options属性下,将Sureface Type选成Opague,然后将Alpha Clipping勾选上,会出现一个Threshold滑动条,这个阈值会调节alpha clipping的影响权重。根据实际想要的效果进行拖动观察即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/346893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kubernetes(k8s) 知识总结(第2期)

1. “控制器”思想 kube-controller-manager 是一系列控制器的集合,这些控制器被放在 Kubernetes 项目的 pkg/controller 目录,这些控制器都以独有的方式负责某种编排功能。它们都遵循一个通用的编排模式——控制循环。 以 Deployment 为例介绍它对控…

最最普通程序员,如何利用工资攒够彩礼,成为人生赢家

今天我们不讲如何提升你的专业技能去涨工资,不讲面试技巧如何跳槽涨工资,不讲如何干兼职赚人生第一桶金,就讲一个最最普通的程序员,如何在工作几年后,可以攒够彩礼钱,婚礼酒席钱,在自己人生大事…

什么是网络流量分析(NTA),有什么好用的NTA软件

分析网络的稳定性首先要监控其性能、设备功能、网络速度以及许多网络管理员忽略的另一个方面:网络流量。网络流量分析 (NTA) 通常是考虑最少的方面,但它会影响许多问题,例如性能下降和用户速度缓慢。忽视它可能会让位于…

SQL语句实现找到一行中数据最大值(greatest)/最小值(least);mysql行转列

今日我在刷题时遇到这样一个题,它提到了以下需求: 有一场节目表演,五名裁判会对节目提供1-10分的打分,节目最终得分为去掉一个最高分和一个最低分后的平均分。 存在以下一张表performence_detail,包含字段有performa…

Docker安装RocketMQ 4.8

1拉取4.8镜像 docker pull foxiswho/rocketmq:4.8.0拉取控制台镜像 docker pull styletang/rocketmq-console-ng2创建rocketmq使用的共有网络,便于相互访问 docker network create rocketmq_network3启动rmqnamesrv docker run -d --name rmqnamesrv --network …

电脑录屏怎样不录到外界声音?调整这一个开关,即可实现

​有很多小伙伴希望自己电脑录屏的时候,不要录制自己的声音,而是通过后期配音的方式完成视频创作。电脑录屏怎样不录到外界声音?其实只需要调整这一个开关,就能实现不录外界声音,一起来看看吧。 不录外界声音1&#xf…

什么是 Java 泛型?

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注! 作者| 慕课网精英讲师 ColorfulC 通过本篇文章你将了解到什么是泛型,为什么需要泛型,如何使用泛型,如何自定义泛型&…

记一次以小勃大,紧张刺激的渗透测试(2017年老文)

零、前言 有技术交流或渗透测试培训需求的朋友欢迎联系QQ/VX-547006660,需要代码审计、渗透测试、红蓝对抗网络安全相关业务可以看置顶博文 2000人网络安全交流群,欢迎大佬们来玩 群号820783253 一、起因 emmm,炎炎夏日到来,这…

libxlsxwriter数据验证

今天要分享的这个问题其实也属于excel的高级用法。我们想通过libxlsxwriter来实现一个能对用户的输入进行数据验证的表格功能。 内心os:小白最近是不是有点走火入魔了……我们真的会遇上这样的场景吗:需要通过代码生成一个表格,这个表格中还有…

智慧机场,或将成为航空领域数字孪生技术得完美应用

在《智慧民航建设路线图》文件中,民航局明确指出,智慧机场是实现智慧民航的四个核心抓手之一。这一战略性举措旨在推进数字化技术与航空产业的深度融合,为旅客提供更加智能化、便捷化、安全化的出行服务,进一步提升我国民航发展的…

IO流进阶

🏡个人主页 : 守夜人st 🚀系列专栏:Java …持续更新中敬请关注… 🙉博主简介:软件工程专业,在校学生,写博客是为了总结回顾一些所学知识点 目录IO流进阶缓冲流缓冲流概述字节缓冲流(…

【LeetCode】剑指 Offer(1)

目录 写在前面: 题目1:剑指 Offer 03. 数组中重复的数字 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 题目2:剑指 Offer 06. 从…

JavaEE初阶---TCP/IP协议

一:概述 本文是网络编程的理论基础,也是网络部分的重点和难点,在笔试,面试中,这部分内容也多有考察.二:详解 TCP/IP五层协议 应用层传输层网络层数据链路层物理层 2.1应用层 我们自己编写的代码,就是在应用层,这也是在实际开发中接触最多的层.应用层里有许多现成的协议 , 而在…

springboot(5)静态资源访问前缀+欢迎页+REST风格的传递参数

Springboot的访问规则是 先访问controller的请求,如果没有的话,我们在访问静态资源。 但是静态资源过多的情况下这样不好处理,所以我们可以加一个前缀,这样可以拦截掉非静态资源的请求,每次都可以准确快速无风险的访…

镀镍废水处理,企业污水处理,离子交换树脂在镀镍废水中的应用

传统沉淀法不能满足日益提的环保要求(如电镀表三镍含量要求0.1mg/l以下)。针对特定重金属离子的特点,利用螯合树脂的特种功能基团与重金属离子形成络合物的特性,实现重金属离子的回收利用及深度去除。 CH-90Na对除铜镍铅锌钴锰等具有特定的选择性&#x…

API的应用

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节 应用程序接口 想…

安卓|aar和jar打包引入流程演示

安卓|aar和jar打包引入流程演示aar和jar存在相关意义打包环境工具aar和jar|Module项目目录aar打包|引入总览步骤|aar配置打包创建java or kotlin类文件及资源|截图展示步骤|aar包引入jar打包|引入总览步骤|jar配置打包任务创建java类文件|截图展示步骤|jar包引入aar和jar运行在…

OpenTracing协议规范链接

一、官网链接 OpenTracing specificationhttps://opentracing.io/specification/不过目前OpenTracing项目已归档,不再维护。需要参考OpenTelemetry官网链接 Migrating from OpenTracing | OpenTelemetryBackward compatibility with OpenTracing has been a prior…

Promise 的理解

promise 是什么?promise 是JS 中进行异步编程的最新的解决方案从语法上来说:Promise 是一个构造函数从功能上来说:promise 对象时用来封装一个异步操作并可以获取其结果其三种状态,reasolve 、pendding、 rejectedPromise 的基本运…

计算机网络-ip数据报

在图中,网络层包含了四种协议:ARP、IP、ICMP、IGMP,由上下关系表明,ARP为IP协议服务,IP为ICMP和IGMP服务。 IP数据报格式 此处不区分数据报和分组的概念:当数据部分过长时,将数据部分拆分&…