1.准备:配置Unity3d环境和用VS2019写C#首先,配置Unity3d环境使用是UnityHub作为平台,然后在UnityHub里边下载Unity3D版本,笔者这里选用的的是2019.4.16f1c1版本,值得注意的是由于Unity给的人机认证邮件的图片源是google的,因此注册的时候是需要的,挂个验证邮箱就可以了 然后,就是配置VS2019写C#的环境,这里放一个人
转载
2024-02-19 21:42:58
57阅读
Physic Material物理材质物理材质用来调节碰撞物体的摩擦力和弹力效果。要创建物理材质从Project面板中->Create->Physic Material。然后从Project面板中拖拽物理材质到场景上物体的碰撞器Material属性上。如图 所示。Physic Material属性:1、Dynamic Friction:动态摩擦力 通常值在0到1之间。值为0的效果像冰,
Unity4.x的unity 布料分为交互布料,蒙皮布料,和布料的渲染器三个东东,现在整合到了一起。Colth参数:Stretching Stiffness---拉扯硬度.:数值在0-1之间,数值越大,越不容易拉伸。 Bending Stiffness---弯曲硬度.:数值在0-1直接,数值越大,越不容易拉伸。 Use Tethers---默认开启, 用于方式过度拉伸。 Use Gravity--
转载
2024-05-10 19:04:09
106阅读
Material:材质,本质上是shader的实例选中物体,在Inspector中,可以看到材质的内容。下图的Element 0可以填上具体的材质。一个对象可以放多个材质。Unity默认材质是无法修改的,(应该只有初学者才会用默认材质吧)。Inspector:检测器?选中对象或者资源,都会展现出里面的属性经常听到策划可客户端在谈论材质球,是不是因为创建的时候选了个球形,其实球字是多余的?如果删掉或
转载
2024-05-17 15:46:18
157阅读
透明度测试:Shader "Unity Shaders Book/Chapter 9/Alpha Test With Shadow" {
Properties {
_Color ("Color Tint", Color) = (1, 1, 1, 1)
_MainTex ("Main Tex", 2D) = "white" {}
_Cutoff ("Alpha Cutoff", Ran
转载
2024-05-14 14:18:53
44阅读
Unity渲染使用的是材质(Materials)、着色器(Shaders)和纹理(Textures),它们有着紧密的联系。材质定义了表面是如何被渲染的,通过包含它使用的纹理的引用,颜色色调等等。材质可用的选项取决于它使用的着色器。着色器就是包含数学计算和算法的小脚本,它根据灯光输入和材质配置来计算每个渲染像素的颜色。纹理就是 bitmap图像。材质包含纹理的引用,因此材质的着色器可以使用纹理来计算
转载
2024-02-23 22:56:10
376阅读
很多时候我们需要把具有相同shader的材质球合并,从而减少drawcall的产生。 比如九龙战里面,一个人物带有10个部位,10个部位各自来自不同的fbx文件,加上身体,就有11个材质球,占上11个drawcall。如果主城里面跑着10个角色,光人物就占了110个drawcall!所以这种时候材质球合并是必须的。(下图为九龙战里面的多部位换装效果) 材质球合并,分以下几步走
unity学习笔记-问题一实现镜面效果 问题一事情是这样,根据老板的需求,需要给模型添加一个透明的金属材质感 但是这两个在小弟目前看来是不可能同时实现的 但是小弟还是试着去尝试了一下,发现在材质球里有一个 这个选项,上面的是金属材质,但是下面还是可以选择透明的表面效果,所以使用这个方法刚好可满足领导的需求 而实际上在运行时也能有这个效果 但是 问题来了,当我在我们的项目里使用这个材质球的时候,发
转载
2024-03-25 20:34:55
255阅读
HDRP材质和着色器一、Mesh和关联的Material二、HDRP—Lit Shader三、HDRP其他Shader四、Shader-Surface Options1、Surface Type(表面类型)2、Material Type(材质类型)(六种) 一、Mesh和关联的Material1、Mesh代表物体模型本事,用于表现形状;2、一个Mesh可以关联多个Material,用于控制模型不
转载
2024-06-03 23:14:15
123阅读
Shader "ShaderDiffuseExample"
{
一、属性定义(作用:外部传入参数)
属性定义语法:PropName("DisplayName",PropType) = DefaultValue[{options}]
Properties
{
PropName:属性名,就是当前Shader的外部传入数据变量名。
DisplayName:Unity材质编辑器中显示的
转载
2024-05-08 14:26:00
55阅读
材质参数标准着色器展示了材质参数的列表。取决于你是否已经选择在金属工作流模式或者镜面工作流模式,这些参数会有轻微地变化。大部分参数在两种模式下是一样的,材质参数系列将覆盖两种模式的所有参数。 这些参数可以被一起使用来创建几乎任何真实世界中的表面。渲染模式 标准着色器中的第一个材质参数,是“渲染模式”。这允许选择物体是否使用透明度;如果是,那么继续选择哪种混合模式。 Opaque - 这是默认选项,
转载
2024-06-16 17:23:03
170阅读
游戏越来越接近现实的感觉,如果有一个真是的 虚拟现实设备,可能我们真的会感觉是在真实世界。场景的逼真是在渲染效果、角色AI、游戏逻辑、物理效果等等一起导致的结果。现在游戏越来越大,除了渲染,物理估计是最好性能的一部分。在动作游戏中,物体的毁灭和破碎效果,让战斗更加的逼真和酣畅淋漓的感觉,这篇文章主要从自己应用的角度来简单介绍破碎效果的实现。1 简单实现使用maya等3D工具制作碎块组成的物体,游戏
转载
2024-08-02 10:04:21
31阅读
本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。 这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。写在前面 啦啦啦~我又回来看书啦。文章开始说一些题外话。因为写博客和在群里比较活跃(为什么QQ给我的称谓是“吐槽”。。。我这么乖。。。),最近有一些朋友给我发邮件或
原作者 只待苍霞章节1: 先来两个最关心的新功能, 第一章先讲PBS, 第二章讲光影GI.说到PBS, 首先应该想到的是Unity自带的两个新的Shader, 分别是Standard以及Standard(Specular setup)如果你没有为你的材质选择这两个Shader之一, 那么你的材质是不会有PBS效果的, 对比一下PBS.第一幅图是使用了Unity4中的Bumped
现在是2018年,材质编辑器现在在各大引擎,3D软件都非常普遍。那么它们是如何工作的呢。
其本质是,一个可视化节点就包含一段HLSL或者cg或者OpenGL代码,通过我们的“连线”将HLSL代码拼接出来。最后会出一张shader文件。对于早期的Unity和大部分3D软件的节点化材质编辑
转载
2024-10-23 06:41:05
53阅读
NO Batch ?游戏场景中存在大量例子的时候,DrallCall的压力很大,但是遍历一遍之后发现,为啥一样的粒子特效竟然没有合并,why?经过很多测试后发现,如果把透明材质的修改为非半透明的,就可以合并,这就让我很奇怪了?Unity提供了材质动态合并的功能,虽然限制很多,但是对于透明材质的合并,Unity似乎给了一个很玄乎的答案:Semitransparent shaders mo
转载
2024-04-14 09:33:50
166阅读
Timeline的timelineAsset文件只会保留轨道的编辑信息,而不会保存轨道的绑定列表,这些绑定的信息是和场景一同绑定的。如果我们在制作的过程中没有保存场景,或者在协作的过程中只传送了timelineAsset而没有传送场景信息,这些绑定信息就会丢失,就像如下这种情况: 我们可以通过创建Asset文件来保存和恢复绑定信息,具体思路是创建Asset来存储每个轨道绑定物体的名称,通
转载
2024-10-11 20:25:54
0阅读
由于发现项目在运行的时候资源占用内存比较高,特别是某些特效出现时,内存会一下升高很多,于是针对某些特效资源做了检查,发现了一个比较令人吃惊的问题。 第一个问题,在这个特效里面,其实完全没有用到这个材质球的,而且材质球上面引用了3张特别大的贴图,包括了法线贴图和高光贴图。注意,这个特效里面是完全没有看到这些效果的。 第二个问题,特效完全不是这个形状的,但却引用了这个fbx模型,顺便fbx引用了一个带
转载
2024-07-02 20:45:05
237阅读
通常,在游戏的开发过程中,最终会建立起一些组件,通过某种形式的配置文件接收一些数据。这些可能是程序级别生成系统的一些参数,或许是手势识别系统的手势集,或任何其他东西。如果你是在Unity内部开发,很可能以创建一个可序列化的类来开始这项任务,这个类被设计成简单的容器,存储你所需要的所有配置数据。但是那又怎样?现实中你是怎样把数据放到那个类里的?你是创建一堆XML 或 JSON文件,当游戏启动时加载它
转载
2024-08-20 11:06:42
40阅读
Timeline的timelineAsset文件只会保留轨道的编辑信息,而不会保存轨道的绑定列表,这些绑定的信息是和场景一同绑定的。如果我们在制作的过程中没有保存场景,或者在协作的过程中只传送了timelineAsset而没有传送场景信息,这些绑定信息就会丢失,就像如下这种情况: 我们可以通过创建Asset文件来保存和恢复绑定信息,具体思路是创建Asset来存储每个轨道绑定物体的名称,通