Unity的compute shader 中的numthreads? shader用什么语言写
- 有没有筒子使用过Unity的ComputeShader
- unity3d 的Transparent Cutout Soft Edge Unlit 这个shader是怎么解析。是否有两个层次?c#
- unity中的shader的效果有哪些
- 材质球的shader选项中却找不到projector/mulity?
有没有筒子使用过Unity的ComputeShader
一般你在建立工程的时候可以选择导入,这样就在你的工程目录下的Assets;Standard Assets (Mobile);Shaders 中。
U3D本身的shader其实是在安装目录的;Unity;Editor;Standard Packages中
unity3d 的Transparent Cutout Soft Edge Unlit 这个shader是怎么解析。是否有两个层次?c#
官方说明: Renders doubled sides objects without lighting. Useful for grass, trees or foliage.
This shader renders two passes for all geometry, one for opaque parts and one with semitransparent details.
意思是,这个shader是专门渲染树叶或小草这些具有软边缘的双面渲染物体,其中这个shader使用两个Pass{}来处理物品,一个pass专门渲染不透明物体然后另一个处理的是般透明物体,由于官方的shader大多数是用C语言或汇编语言,所以建议将着色器的问题放到C或汇编或opengl而非C#这个分类
补充说明一下:一般人要完成这种功能会选择使用Alpha Blending,可参考一下Alpha Blending的说明
unity中的shader的效果有哪些
如果是进行3d游戏开 发的话,想必您对着两个词不会陌生。Shader(着色器)实际上就是一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组 合作用,然后输出。绘图单元可以依据这个输出来将图像绘制到屏幕上。输入的贴图或者颜色等,加上对应的Shader,以及对Shader的特定的参数设 置,将这些内容(Shader及输入参数)打包存储在一起,得到的就是一个Material(材质)。之后,我们便可以将材质赋予合适的 renderer(渲染器)来进行渲染(输出)了。
所以说Shader并没有什么特别神奇的,它只是一段规定好输入(颜色,贴图等)和输出(渲染器能够读懂的点和颜色的对应关系)的程序。而Shader开发者要做的就是根据输入,进行计算变换,产生输出而已。
Shader大体上可以分为两类,简单来说
表面着色器(Surface Shader) - 为你做了大部分的工作,只需要简单的技巧即可实现很多不错的效果。类比卡片机,上手以后不太需要很多努力就能拍出不错的效果。
片段着色器(Fragment Shader) - 可以做的事情更多,但是也比较难写。使用片段着色器的主要目的是可以在比较低的层级上进行更复杂(或者针对目标设备更高效)的开发。
材质球的shader选项中却找不到projector/mulity?
楼上正解,就是少了这个资源包才无法出现对应的选项。