因为有不少人都问过我压缩格式问题,今天飞哥又重新提醒了一次。整理一下发个,以供大家查阅和讨论。各种纹理格式,大家参照下U3DMANUAL里面的具体描述介绍,这是官方东西。但我觉得有一部内容是错,例如占用内存大小。基本知识点:DXT格式是NvidiaTegra提供,ETC是安卓原生支持,OPNEGL2.0都支持。ETC2只有OPENGL3.0支持,PVRTC是ImaginationPow
转载 2024-08-06 18:07:24
97阅读
透明渲染:渲染模型时控制它透明通道(Alpha Channel)透明度测试(Alpha Test)全透明/不透明:不需关闭深度写入(ZWrite),根据透明度来舍弃片元。透明度混合(Alpha Blending)可半透明:关闭深度写入(不关闭深度测试,还是会比较j,从而决定是否混合)用片元透明度作为混合因子,与颜色缓冲中颜色值进行混合。 对不透明(opaque)物体,由于深度缓冲(depth
一.单位,比例统一在建模型前先设置好单位,在同一场景中会用到模型单位设置必须一样,模型与模型之间比例要正确,和程序导入单位一致,即便到程序需要缩放也可以统一调整缩放比例。统一单位为米。二.模型规范⒈所有角色模型最好站立在原点。没有特定要求下,必须以物体对象中心为轴心。⒉面数控制。移动设备每个网格模型控制在300-1500个多边形将会达到比较好效果。   而对于桌面平
An implementation of mixed ortho-persp camera in Unity3D (本文需要一定Unity3D及其ShaderLab知识)1. 动机 在2D游戏开发中,经常会出现需要处理前景遮挡物体。我之前做法是新建一个相机,然后depth设置大于主相机。把遮挡物体sprite 都放在这个相机里。一直觉得这样对相机进行分层渲染场景没什么问题,直到有一天,看到
透明效果一 一、基础要在模型中实现透明效果,可以通过两种方式来实现:透明测试和透明混合。 透明测试:这种方式其实是通过透明度来判断哪些地方需要去渲染,如果透明度低于设定值就不去渲染。其实这里和遮罩有点相似。透明测试主要去判断一张贴图透明通道,然后将低于该透明通道部分取消渲染。 透明度混合:这种方式可以实现半透明效果。二、一些关键词 深度缓冲(z-buffer):深度缓冲对应深度测试中
转载 2024-07-11 04:36:57
105阅读
Shader "TA/ShaderDemoTwe" { Properties { _FronTexture("FrontTexture",2D) = "white" {} _BackTexture("BackTexure",2D) = "white" {} _Color("color",Color) = (1,1,1,1) }
转载 2024-09-27 20:14:36
37阅读
prefab:   提供类似于C++中类概念,方便用户建立对象。比如在建立碰撞盒时候,可以建立prefab,方便同时修改碰撞盒现实和隐藏。 透明贴图   unity3d中自带shader没有提供一种支持:透明贴图层+漫反射贴图层shader。因此在使用透明贴图时候,需要将透明贴图制作为PNG格式。    使用transparent——>bu
转载 2024-03-01 12:18:45
154阅读
单张纹理我们通常会使用一张纹理来代替漫反射颜色。在本节中,我们讲学习如何在Unity Shader中使用单张纹理来作为模拟颜色。实践本实践中任然使用Blinn-Phong光照模型来计算光照。 我们先在新建场景里去掉天空盒,去掉天空盒方法在这:去掉天空盒方法在这在此文章最底下 再新建有个材质,最后在新建有个Shader,把这个Shader赋给刚刚建好材质 我们打开Shander文件开始编写
庄懂TA笔记(十五)<特效:流动 + 扰动>效果展示:正文:大纲:一、增广:1、排序问题:造成这个问题原因是,他在取背景前,小人胳膊不算是透明,所以在编译过程中他就是被忽略透明。问题 Detach Attach Zwrite Off 解决。(如何使用呢?这里暂时没讲)判断 前方物体,是否遮挡了后方物体。并判断前方物体是否透明,Z深度像素点,是否更靠前,更近。2、Alpha 通道
透明效果二对于我来说,透明效果编写非常重要,甚至于比一些高级渲染效果还要重要。那么我需要实现效果就是,给一张含透明通道图,能够实现双面渲染,并且双面不会出现透明效果错误。之前很多次尝试都是错误(主要是没有正儿八经学过shader)因此,这次学了之后好好总结一下。一、透明度混合从名词中可以看出,透明度混合能够实现透明度与其他不透明物体混合。为了实现半透明效果我们考虑到: 1、关闭
转载 2024-07-06 21:25:53
84阅读
SubShader TagsSubShader中Tags必须放置于SubShader中Tags内,具体参数有以下这些:Queue渲染队列,指定对象什么时候渲染,每个队列其实都是利用一个整数进行索引。有以下取值:Background值为1000,此队列对象最先进行渲染。GeometryQueue默认值,值为2000,通常用于不透明对象,比如场景中物件与角色等。AlphaTest值为245
转载 2024-04-23 13:18:06
152阅读
第7章 透明效果不透明和半透明物体渲染顺序、混合效果、透明测试、模板测试不透明物体渲染顺序按照正常思维,先绘制距离摄像机远物体,然后再绘制离摄像机近物体,绘制出来结果并没有问题,但是如果从性能方面考虑,这个会产生重叠绘制(OverDraw)当重叠过多会造成巨大性能开销,但是如果仅仅改变绘制顺序并不能解决性能开销反而还会造成绘制出来物体显示错误。所以引入了深度值(Depth)存储在屏幕空
转载 2024-08-05 11:09:40
393阅读
0.前言这些简单shader程序都是写于2015年暑假。当时实验室空调坏了,30多个人在实验室中挥汗如雨,闷热中学习shader日子还历历在目。这些文章闲置在我个人博客中,一年将过,师弟也到了学shader时候,这些例程虽然很简单,刚接触shader时却可以练练手,所以从个人博客中中搬了出来。而对于有一个月以上shaderLab编程经验同学来说,这篇文章可以不用看了:-)1.表面着色器概
由于 Android 平台各种硬件标准不统一,为了开发软件项目能够在大部分 Android 机上完美运行,我们需要以较差硬件支持为基础做准备。Android 平台基本上都支持对不带 Alpha 通道图片进行 ETC1 压缩。Android 4.3 由于对 OpenGL ES 3.0 支持,添加了对透明图 ETC2 压缩。为了实现在大部分 Android 机上以低容量低存储以及处理图片,
   AR为现在是虚拟现实较为火爆一个技术,其中有个比较炫酷就是AR涂涂乐玩法,这个技术可以把扫描到图片上纹理 粘贴到模型上实现为模型上色功能,但是我们需要怎么才能实现其功能呢?大体方法是将扫描到图片保存成纹理,在将纹理保存到模型材质球上然后实现上色功能。   那么有什么方式可以实现这个功能呢?我在参考EsayARDemo以及在网上查找
转载 2024-07-04 11:03:39
32阅读
前言:        在unity中主要有两种透明效果实现,透明度测试和透明度混合,明度测试比较简单暴力,就是对片元alpha通道值进行测试,满足条件就留下该片元,不满足就抛弃该片元,所以在本章中主要讨论第二种---透明度混合。本书主要内容是对UnityShader入门精要总结。一、透明度混合与渲染顺序联系为什么半透明效果渲染要打开深度测试而要
本文重点:1、用着色器挖洞2、使用不同渲染队列3、支持半透明材质4、结合反射和透明度这是关于渲染系列教程第十一部分。之前,我们使着色器能够渲染复杂材质。但是这些材质一直都是完全不透明。现在,我们将添加对透明度支持。本教程是使用Unity 5.5.0f3制作。             (一些不完整四边形)1 抠图渲染
unity地图贴图绘制常常使用是paint texture里面的但是这个方式往往费时很多,却只能做出很少效果,这里要介绍就是通过外部绘制splatalpha来替换,达到unity中地形更强效果使用软件基本有worldmachine,ps,unity地形一般流程通常是创建了地形,先刷高度,然后再进行贴图绘制,可以看到保存文件之后,project中会生成一个terrain文件,并且可
室内场景光照需要考虑重点问题        在为室内场景做光照设计时候,间接光照非常重要。大部分室内场景光线会经过多次反射后才进入到了我们眼睛(或者说是Unity摄像机)。环境光和反射光在室内场景中为场景真实感起到了巨大提升作用。        室内场景会对光照设计师提出一些挑战。对于只渲染正面的mesh
Unity材质应用        游戏中,大多数材质应用都离不开纹理,而纹理本身是图片。所以,在学习本章时,最好在电脑上安装一个可以编辑图片功能强大软件,如Photoshop和GIMP。本章使用是前者。另外,有些纹理需要包含Transparents通道,所以图片最好保存成可以存储相应信息格式,例如,PSD
  • 1
  • 2
  • 3
  • 4
  • 5