无题
Substance Painter Blender工作流
注意点:
导出的模型需要带有材质
导出的模型需要为OBJ格式
导出的时候要选中select only
保存的地方会有两个文件
进入烘焙
substance shift + 右键 可以旋转背景光源
有了填充图层之后就可以给模型添加简单的颜色了
因为已经烘焙过了,所以法线贴图无法更改
PBR材质是一种材质输出规范,它具有通用性强,低消耗、高性能等优点
拥有两种智能材质的时候,我们可以通过遮罩的方式,让这两个材质显示在猴头的不同位置
导出可以将你不需要的材质隐藏掉,这样导出时候不会附加上这个滤镜
导出成功之后,可以看到我们的文件夹下面出现了几张贴图
之后我们来到blender的shading面板当中
导入PBR的前置条件
之后就会成功将纹理导入blender
无题
UnityShaderGraphYoutube教程UnityShaderGraphBasics
创建首先我们创建一个universal render pipeline的项目
进入项目,我们可以在package Manager当中查看Shader Graph插件是否已经正常安装
之后
我们在资源管理面板当中选择符合自己项目渲染管线的shader Graph
双击之后,unity就会打开这个shader graph
之后你可以调整fragment片元着色器输出的颜色
获取挂载了这个shadergraph的材质
在shadergraph里面创建属性
调整颜色之后赋值到场景中的物体上
纹理右键或者空格快速创建节点
创建了之后,我们把我们创建的texture属性连接上sampleTexture2D,一般来说,unity会自动在内存空间当中帮我们申明一段uv(也就是uv0)
之后我们将颜色和纹理的rgb值进行相乘
注意:
制作简单的uv动画
我们创建了一个scrollvelocity属性
之后创建time节点和multiply节点
这个结点可以计算uv的偏移
透明
que ...
无题
技术美术入门1,渲染流水线
详细描述渲染流水线=应用阶段:
==准备好基本场景数据:场景物体数据:物体变换数据(UnityTransform),位置、旋转缩放等等;物体网格数据,顶点位置UV贴图。
光源信息:光源类型:方向光、点光、聚光等等;位置、方向、角度等其他参数。
设置光源:方向光:颜色、方向等点光源:颜色、位置、范围等聚光源:颜色、位置、方向、内外圆锥角等
设置阴影:是否需要阴影:判断该光源可见范围内是否有可以投射阴影的物体阴影参数:对应光源序号、阴影强度、深度偏移、近平面偏移等
逐光源绘制阴影贴图:近平面偏移逐级联:计算当前光源+级联对应的观察矩阵、投影矩阵、以及对应到阴影贴图里的视口区域绘制到阴影贴图
摄像机参数:位置、方向、远近裁剪平面;正交、透视Fov;视口比例/尺寸等等
==碰撞检测,加速算法,粗粒度剔除:进行算法上的加速,削除不需要进行渲染的物体,做一些剔除
可见光裁剪:比如说点光和聚光由于它们都有衰减,而且聚光的光椎体还有区域,如果它们距离摄像机很远,比如聚光的光锥和摄像机的视椎体不相交,那么就进行裁 ...
无题
Gpu阳春白雪与下里巴人笔记第一章 绪论GPU的发展历程
1,GPU vs CPU:
GPU具有高效并行结构,所以GPU在处理图形数据和复杂算法方面拥有比CPU更高的效率
CPU大部分面积为控制器和寄存器,GPU拥有更多的ALU用于数据处理,而非数据高速缓存和流控制这样的结构适合对密集型数据进行并行处理。
CPU执行计算任务的时候,一个时刻只会处理一个数据,不存在真正意义上的并行。(OS的时间片轮转算法)
而GPU具有多个处理器核,在一个时刻可以并行处理多个数据
GPU采用流式并行计算模式,可以对每一个数据进行独立的并行计算,所谓“对数据进行独立计算”,即,流内任意元素的计算不依赖于其他同类型数据。(例如计算一个顶点的世界坐标,不依赖于其他顶点的位置,而所谓并行计算是指”第一个数据可以被同时使用,多个数据并行运算的时间和1个数据单独执行的时间是一样的“。)
2,GPU相比CPU的缺点:
数据之间相互关联的算法在GPU上难以实现
GPU在控制流方面弱于CPU(GPU的控制器少于CPU,而控制器的主要功能是取指令,并且指出下一条指令在内存中所在的位置,控制盒协调计算机各个部件有条不紊地 ...
无题
Unity背包系统个人笔记,如误人子弟,概不负责
准备工作中间踩过的坑:1,monobehaviour会重新定义创建物体的方式,如果要创建单例模式,不能随意使用new关键字,不然会出现一些意想不到的错误。2,没有挂载monobehaviour的脚本挂载到场景中的物体上的时候,Unity会发生报错3,Resource.Load读取的是相对路径,可以不用Resource/folder1/folder2,直接folder1/folder2即可4,注意预制体是否已经apply,如果不小心删除了预制体可以在回收站当中找到5,json有可能会读取它父对象的数据,比如monobehaviour
在游戏内部布置一个ui界面我们需要实现的功能
1,建立ui的大概样式
2,通过[CreateAssetMenu(menuName = “Panel/PackageTable” , fileName = “PackageTable”)]类似这样的属性来在asset栏目通过右键来创建文件,这个文件用来存入静态数据
3,通过jason将背包物体信息转换 ...
Unity Shader 入门精要扩展
Unity Shader入门精要扩展
表面着色器我的理解是对顶点着色器和片元着色器的一层封装
表面着色器的一个例子Shader "Custom/Chapter17_1_BumpDiffuseShader"
{
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB)", 2D) = "white" {}
_BumpMap ("Normalmap", 2D) = "bump" {}
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 300
CGPROGRAM
#pragma surface surf Lambert
#pragma target 3.0
sampler2D _MainTex;
sampler2D _BumpMap;
fixed4 _Color;
struct Inp ...
无题
在UnityShader当中遇到过的问题
1,高光属性_Gloss一般来说数值越高高光越小,注意2,注意各个变量要注意大小写3,注意tags上ForwardBase和ForwardAdd的区分4,在使用前向渲染之前,注意#pragma multi_compile_fwdbase和#pragma multi_compile_fwdadd的区别
无题
Blender 硬表面教程
A1
小技巧一些知识点:
在物体模式可以直接使用ctrl + 数字键进行表面细分,但是无法过多操作,如果需要详细操作,进入编辑模式右键细分,这个时候左下角会多出来细分选项。ctrl+🖱左键,可以从一个点挤出一个点到你光标的所在位置shift + s 是用来吸附物体的,你可以将其吸附到网格来让你挤出的线吸附到网格上直接沿着法向挤出可能会丢形,你需要在挤出后在左下角选择均等偏移
S + Z + 0 可以把物体压平在两个平行边之间添加细分可以在中间新添加一条边,但是可能会变形的特别厉害这个时候你需要调整细分下的平滑度为0来添加中线的同时不变形
如果我们对单条边制作细分,呢么我们就可以在这条边上新添加一个点
与此同时ctrl + shift + b可以给点添加倒角,实际上的效果是多出了一些点,鼠标滚轮滑动可以增加点的数量。之后我们就可以线上添加倒角了通过调整形状可以使得其向内偏移
可以通过这个选项选择一个与这个面相平行且相连的所有面注意选择的同时按住control是减选可以通过按i向内挤出然后桥接面来在物体上面挖一个洞
遇到这种情况,我们可以进入顶点选择模式按两下 ...
Unity Shader 入门精要中级
Unity Shader入门精要中级
中级光照可以在摄像机组件下设置渲染路径
在之前我们场景之中只有一个平行光,在实际游戏中我们会需要处理数量更多,类型更加复杂的光源,更加重要的是我们需要得到阴影。
Unity如何处理这些光源的:Unity里,渲染路径决定了光照是如何被应用到Unity Shader当中的,因此,如果我们需要和光源打交道,我们需要为每一个Pass指定它使用的渲染路径。Unity这里有3种渲染路径:前向渲染路径延迟渲染路径顶点照明渲染路径
大多数情况一个项目只会使用一个渲染路径。
可以在设置种选择项目渲染路径(但是我找不到书上的位置有这个选项)
如果当前的显卡并不支持所选择的渲染路径,Unity就会自动使用更低一级的渲染路径,比如如果一个GPU不支持延迟渲染,那么Unity就会使用前向渲染。
Pass
{
Tags {"LightMode" = "ForwardBase"}
}
钱箱渲染路径还有一种路径叫做ForwardAdd
如果我们没有指定任何渲染路径(在Unity5x版 ...
Unity Shader 入门精要高级
教程笔记的对象是b站白熊游戏制作的教程,供本人参考,看完花费两天,在长久吃灰unity之后用这个教程复习了一些基本知识,部分文字取自chatgpt
第一节:控制角色输入输出当我们要让角色进行移动的时候,我们需要创建一个脚本,通过类似于moveX = Input.GetAxis(“Horizontal”);之类的方法来控制角色的移动。
其中horizontal的具体键位可以在unity的Project_Setting当中找到
当我们移动角色的时候,如果使用帧数进行移动,那么极有可能会发生不同配置的电脑移动速度不一致的情况那么我们会有两种解决方法1.通过在start()当中设定:QualitySetting.vSyncCount = 0;Application.targetFrameRate = 10;进行游戏的锁定帧数,很多游戏例如黑暗之魂3和血源诅咒都使用了这种设定,但是缺点便是牺牲了上限,同时需要注意的是,在进行锁帧的时候,你需要使用QualitySetting.vSyncCount = 0;来关闭垂直同步。2.将游戏的底层通过Time.d ...