Unity3D
文章平均质量分 66
别志华
这个作者很懒,什么都没留下…
展开
-
LIBDSM库对多平台、多方案支持的开发与探索 - Native Module
系列文章LIBDSM库对多平台、多方案支持的开发与探索 - 准备LIBDSM库对多平台、多方案支持的开发与探索 - Native CommonLIBDSM库对多平台、多方案支持的开发与探索 - iOSLIBDSM库对多平台、多方案支持的开发与探索 - AndroidLIBDSM库对多平台、多方案支持的开发与探索 - FlutterLIBDSM库对多平台、多方案支持的开发与探索 - U...原创 2020-03-14 19:25:58 · 16588 阅读 · 0 评论 -
Unity3D - Shader - 坐标空间变换
坐标空间变换原创 2017-12-26 23:22:20 · 1693 阅读 · 0 评论 -
Unity3D - Shader - Unity Shader 的渲染顺序
实现透明效果的两种方式:透明度测试(Alpha Test),这种方法无法得到真正的半透明效果。透明度混合(Alpha Blending)深度缓冲用于解决可见性(Visibility)问题,它决定那个物体那些部分会被渲染在前面,那些部分会被遮挡。其思想是:根据深度缓冲中的值来判断该片元距摄像机的距离,当渲染一个片元时,需要把它的深度值和已经存在于深度缓冲中的值进行比较(开启了深度测试)原创 2017-11-29 22:37:46 · 3760 阅读 · 0 评论 -
Unity3D - Shader - 遮罩纹理(mask texture)
遮罩纹理(mask texture),允许保护某些区域,免于某些修改。使用遮罩的流程:通过采样得到遮罩纹理的纹素值,然后使用其中某个通道的值来与某个表面属性进行相乘,这样当通道的值为0时,可以保护表面不受该属性的影响。总而言之,使用遮罩可以让美术人员更加精确地(像素级)的控制模型表面的各个性质。// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MV原创 2017-11-26 12:47:17 · 6953 阅读 · 0 评论 -
Unity3D - Shader - 渐变纹理
使用渐变纹理来控制漫反射控制。// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/C原创 2017-11-26 11:54:42 · 1115 阅读 · 0 评论 -
Unity3D - Shader - 矩阵和变换
矩阵与变换原创 2017-12-15 18:12:56 · 1346 阅读 · 0 评论 -
Unity3D - Shader - 顶点片段着色器(Vertex and Fragment Shaders)
顶点片段着色器运行于具有可编程渲染管线的硬件上,它包括顶点程序(Vertex Programs)和片段程序(Fragment Programs)。原创 2017-09-06 00:23:44 · 1671 阅读 · 0 评论 -
Unity3D - Shader - 表面着色器(Surface Shaders)
在Unity中,包面着色器的关键代码用Cg/HLSL语言编写,然后嵌在ShaderLab的结构代码中使用。原创 2017-09-05 23:23:24 · 1971 阅读 · 0 评论 -
Unity3D - Shader - ShaderLab基础语法
Unity3D - Shader - ShaderLab基础语法原创 2017-12-05 21:09:39 · 1681 阅读 · 0 评论 -
Unity3D - Shader - 渲染过程
渲染过程渲染过程 - 通常从是三维场景出发、生成一张二维图像,由CPU和GPU共同合作完成。原创 2017-12-05 21:02:48 · 2554 阅读 · 0 评论 -
Unity3D - Shader - 普通纹理
普通纹理原创 2017-11-23 23:10:52 · 834 阅读 · 0 评论 -
Unity3D - Shader - 开启深度写入的半透明效果
关闭深入写入后会引发错误的排序情况。原创 2017-12-01 20:11:16 · 6165 阅读 · 0 评论 -
Unity3D - Shader - 点和矢量
点和矢量原创 2017-12-10 22:02:34 · 937 阅读 · 0 评论 -
Unity3D - 关于Shader的介绍
Unity3D使一大部分人开发游戏更简单化了。但是,有一部分仍然还有很长的路要走,就是着色器编码。着色器是专门用于运行在GPU上的程序。根本上,它就是绘制3D模型所需的众多三角形。如果你想给你的游戏特别的外观,那么,学习如何编写着色器是至关重要的。Unity也会使用它们做后期处理,这对2D游戏也是至关重要的。这篇教程会向你介绍如何编码着色器,而且主要面向对着色器一无所知的开发者。介绍下原创 2017-08-17 01:01:23 · 1490 阅读 · 0 评论 -
Unity3D - 摄像机(Cameras)
原文教程:https://unity3d.com/cn/learn/tutorials/topics/graphics/cameras?playlist=17102(需翻墙)在Unity中,摄像机(Camera)是一个最基础的组件(Component)。摄像机将场景中的内容展示给用户。每个场景必须有至少一个摄像机,否则我们会什么也看不到。当一个新场景被创建时,一个摄像机也会随之被创建。这个原创 2017-08-19 13:21:01 · 3265 阅读 · 0 评论 -
Unity3D - Android SDK Tools 升级到26以后构建Apk报错 ( Unable to list target platforms. )
错误日志:CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details. C:/Program Files/Java/jdk1.8.0_144\bin\java.ex原创 2017-08-16 19:49:02 · 7033 阅读 · 0 评论 -
Unity3D - Shader - 凹凸映射(Bump mapping)
凹凸映射的目的:是使用纹理来修改模型表面的法线,用于为模型提供更多细节。凹凸映射的方式:高度纹理(height map):用于模拟表面位移(displacement),也称作高度映射(height mapping)法线纹理(normal map):用于直接存储表面法线,又称为法线映射(normal mapping)。高度纹理高度图中存储的是强度值(intensity),用原创 2017-11-26 02:28:53 · 5555 阅读 · 1 评论 -
Unity3D - Shader - ARB_precision_hint_fastest / ARB_precision_hint_nicest
+ Precision Hints (ARB_precision_hint_fastest, ARB_precision_hint_nicest)Fragment program computations are carried out at an implementation-dependent precision. However, some implementations may b原创 2018-01-23 17:00:35 · 3551 阅读 · 0 评论 -
Unity3D - Shader入门精要学习笔记
开始学习Shader啦~2017年12月5日 渲染过程2017年12月6日 ShaderLab基础语法2017年12月9日 笛卡尔坐标系2017年12月10日 点和矢量2017年12月15日 矩阵和变换2017年12月28日 坐标空间变换2017年12月29日 模型、世界、观察、裁剪空间坐标转换2017年12月31日 常用的Unity内置函数2018年1月2日原创 2017-12-06 19:29:09 · 1176 阅读 · 0 评论 -
Unity3D - Shader - 双面渲染的透明效果
默认情况下渲染引擎提出了背面(相对于摄像机的方向)的渲染图元,这样导致即使我们开启了透明(AlphaTest或者Alpha Blend)也无法看到背面的透明效果。若想要得到双面渲染效果,可以使用Cull指令来控制需要剔除的那个面。Cull Back | Front | Off若设置成Back,那么背对摄像机的面就不会被渲染。 若设置成Front,那么朝向摄像机的面就不会被渲染。原创 2018-01-23 16:29:59 · 3478 阅读 · 0 评论 -
Unity3D - Shader - ShaderLab的混合命令
混合是如何实现的?当片元着色器产生一个颜色时,可以选择与颜色缓存中的颜色进行混合。混合与两个操作数有关系:源颜色(Source Color)和目标颜色(Destination Color)。源颜色,用S表示,指的是片元着色器产生的颜色目标颜色,用D表示,指的是从颜色缓冲区中读取的颜色值。对他们进行混合后得到的输出颜色,用O表示,它会重写入到颜色缓冲中。混合中的源颜色、目标颜色、原创 2017-12-05 19:35:21 · 1209 阅读 · 1 评论 -
Unity3D - Shader - 透明度混合
透明度混合:此方法可以得到真正的半透明效果。它会使用当前片元的透明度作为混合因子,与已经存储在混合颜色缓冲区中的颜色值进行混合,得到新的颜色。此外,透明度混合需要关闭深度写入(ZWrite Off),这需要小心物体的渲染顺序。混合需要使用Blend命令: 语义 描述 Blend Off 关闭混合 Blend SrcFactor DstFactor 开启原创 2017-12-01 19:55:23 · 5316 阅读 · 0 评论 -
Unity3D - Shader - 实现漫反射光照模型
计算公式基本光照模型中漫反射部分的计算公式:Cdiffuse=(Clightmdiffuse)∗max(0,n^∗l^)C_{diffuse} = (C_{light} m_{diffuse} ) * max (0, \hat n * \hat l)ClightC_{light} = 入射光线的颜色和强度mdiffusem_{diffuse} = 材质的漫反射系数n^ \ha原创 2017-11-15 22:56:09 · 1097 阅读 · 0 评论 -
Unity3D - Shader - 基础光照
如何看到这个世界的如何产生一个图像:光线从光源(light source)中被发射出来光线和场景中的一些物体相交;一些被物体吸收了,而另一些光线被散射到其他方向。眼睛(摄像机)吸收到一些光,产生了一张图像。光线和物体相交只有两个结果,吸收和散射:散射只改变光的方向,但不改变光的密度和颜色吸收只改变光线的密度和颜色,但不改变光线的方向散射的方向:一种会散射到物原创 2017-11-14 22:40:27 · 572 阅读 · 0 评论 -
Unity3D - Shader - 顶点/片段着色器的基本结构
基本结构Shader "MyShaderName" { Properties { // 属性 } SubShader { // 针对显卡A的SubShader Pass { // 设置渲染状态和标签 // 开始CG代码片段 CGPROGRAM原创 2017-12-05 21:07:33 · 1142 阅读 · 0 评论 -
Unity3D - Shader - 模型、世界、观察、裁剪空间坐标转换
一个顶点要经过多个坐标空间的转换才能够被画到屏幕上。原创 2017-12-28 21:53:56 · 18584 阅读 · 8 评论 -
Unity3D - 使用Mesh创建弧面
Github源码效果动态创建长度固定的可调节弧度的面,效果如图:需求需要一个可以调节弧度的且长度固定的面(最多可调节至半圆型)。从官方手册中可以知道,想要使用代码来创建Mesh需要至少四个步骤:设置顶点数组(想要创建的面一共有多少个顶点)设置三角形信息(每三个顶点确定一个三角形,要顺时针的设置)设置法线信息(可以通过mesh的方法直接计算)设置UV信息(决定了图像信息如何在此Mesh上显示,原创 2017-12-13 11:21:35 · 8308 阅读 · 1 评论 -
Unity3D - 如何引入package到指定的目录 (Is there a way to import a package to a specific folder?)
https://forum.unity3d.com/threads/is-there-a-way-to-import-a-package-to-a-specific-folder.173393/Question :I just organized my assets folder. But every time I import something, Unity just dumps原创 2017-08-16 11:41:40 · 3969 阅读 · 0 评论 -
Unity3D - Shader - 笛卡尔坐标系
笛卡尔坐标系原创 2017-12-09 20:48:28 · 1885 阅读 · 2 评论 -
Unity3D - Shader - 透明度测试
透明度测试:只要有一个片元的透明度不满足条件(通常是小于某个阈值),那么它对应的片元就会被舍弃。被舍弃的片元不会再进行任何处理,也不会对颜色缓冲区产生任何影响。否则就会按照普通物体进行处理。原创 2017-11-30 23:36:29 · 635 阅读 · 0 评论 -
Unity3D - Shader - 常用的Unity内置函数
UnityCG.cginc中一些常用的函数原创 2017-11-20 23:15:09 · 5382 阅读 · 0 评论 -
Unity3D - The Standard Shader
官方视频:https://unity3d.com/cn/learn/tutorials/topics/graphics/standard-shader官方Demo:https://github.com/biezhihua/Unity3DTutorials/tree/master/Graphics/StandardShader视频字幕文件:https://github.com/biezhihua/Un原创 2017-08-13 15:28:17 · 855 阅读 · 1 评论 -
Unity3D - 预计算实时全局照明(Precomputed Realtime Gl)
在Unity中,实现全局照明(Global illumination)或反弹灯光(bound lighting)有两种不同的技术。分别是Baked Gl和Precomputed Realtime Gl。这篇教程聚焦于Precomputed Realtime Gl。原创 2017-08-13 00:57:31 · 2097 阅读 · 0 评论 -
Unity3D - 灯探测器(Light Probes)
在Unity中Baked和Precomputed Realtime Gl系统只应用于静态物体。为了让动态物体可以受到静态物体灯光的影响,我们需要将照明信息记录在一个格式中,这种格式可以在游戏中迅速被读取。原创 2017-08-11 23:53:01 · 2732 阅读 · 0 评论 -
Unity3D - 渲染路径 (Rendering Path)
Unity支持多种渲染技术,或者称作“路径”。原创 2017-08-05 00:34:27 · 8995 阅读 · 0 评论 -
Unity3D - 预计算过程 (Precomputed Process)
Unity3D的预计算过程原创 2017-08-05 00:05:43 · 1074 阅读 · 0 评论 -
Unity3D - 照明和渲染 (Lighting & Rendering)
什么是Global illumination原创 2017-08-02 23:45:33 · 2081 阅读 · 0 评论 -
Unity3D - 照明技术 (Lighting Technology)
Baked Gl 和 Precomputed Realtime Gl原创 2017-08-03 01:29:35 · 3313 阅读 · 0 评论 -
Unity3D - 发光材质(Emissive Materials)
Emissive Materials原创 2017-08-11 23:07:23 · 18313 阅读 · 0 评论 -
Unity3D - 灯光类型(Light Types)
一般来说Baked Gl 和 Gamma Color Space更适合移动设备,Precomputed Realtime Gl 和 Linear Color Space 更适合PC设备或者游戏机。原创 2017-08-11 22:12:46 · 5289 阅读 · 0 评论