在Unity中,我们可以这样理解:Material(材质)包含Map(贴图),Map包含Texture(纹理)。
首先在工程中创建一个Terrain(地形)和一个Cube(立方体),然后我们基于这两个物体来深入学习什么是纹理、贴图和材质。
下面我们添加一个地形纹理和一个LOL泳池派对纹理。(其实就是)
我们来学习一下纹理的Inspector视图中都有什么属性功能,以“泳池派对”为例。
效果如下:
详情如下:
Texture:纹理
Normal map:法线贴图
(游戏场景中譬如雕刻这种3D细节,如果做3D模型的话,就会浪费显示芯片,使游戏性能下降,便会用法线贴图,既不影响玩家体验游戏又不影响游戏性能)
Editor GUI and Legacy GUI:编辑器的GUI和传统的GUI
Sprite(2D and UI):精灵
Cursor:设为光标
Cubemap:立方体贴图
Cookie:聚光灯贴图
Lightmap:光照贴图
Advanced:高级选项(当你想要有纹理的具体参数并想拥有纹理的完全控制的时候选择该项)
UV坐标:水平方向是U,竖直方向是V。因为(纹理)是一个二维的平面,所以只需要UV坐标便可以确定的位置。(当然也有三维贴图,要用到UVW坐标,暂时还接触不到。)
贴图:一种就是就是把纹理通过UV坐标映射到3D物体的表面,另一种就是把纹理加入一些功能,这两种都是贴图。贴图具有 UV 坐标属性或者一些功能,而纹理没有。
我们把Terrain加上纹理,此时这个名为“地形”的纹理就成为了Terrain的贴图。
Shader负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输出。绘图单元可以依据这个输出来将图像绘制到屏幕上。
将输入的贴图或者颜色,加上对应的Shader,以及对Shader的特定的参数设置,将这些打包在一起就是一个材质了。之后,我们便可以将材质赋予合适的renderer(渲染器)来进行渲染。
点击Create,添加一个材质和一个物理材质。
选色:
上色:
Dynamic Friction:动摩擦系数
Static Firction:静摩擦系数
Bounciness:d性系数
Friction Combine:联动摩擦
Bounce Combine:联动反d
Average:取平均值。
Minimum:取最低值。
Multiply:取相乘值。
Maximum:取最大值。
转化类型 intParse(string)
place your script in Assets/Editor inside your project folder
在你的项目目录下创建文件夹 Editor,放入你用的gui插件
在c#中一般会封装成dll文件对外提供接口调用,unity的js脚本也是这样的调用方式。
一、创建dll文件
1。打开vs文件->新建-> 项目->C#->类库,输入项目的名称,创建一个dll项目;
2。引入 UnityEngine UnityEditor ;这两个文件放在unity安装目录的Unity\Editor\Data\Managed路径下,
具体添加步骤:右键点击解决方案->添加引用->浏览;
3。如果加入了UnityEngine UnityEditor,在项目中就可以using UnityEngine 和 UnityEditor;如果项目中不需要,也可以省略第二步;
举例说明:
using System;
using SystemCollectionsGeneric;
using SystemLinq;
using SystemText;
using UnityEngine;
using UnityEditor;
using SystemCollections;
namespace dlltest
{
class Class2 : MonoBehaviour
{
void Start()
{
DebugLog("this is unity call C# dll test!");
}
}
}
5。F5启动生成解决方案(debug或者release),把生成的dll放到unity工程的asset下;
6。如果继承了Monobehaviour的类在dll的子对象中有显示,这样就可以绑定到GameObject上了,如果是要引用dll的类,需要using 命名空间,名字一般和项目名称一致才能调用。
以上就是关于(四)Unity纹理、贴图和材质全部的内容,包括:(四)Unity纹理、贴图和材质、Unity3d文本域(textfield)的问题、unity的js脚本怎么调用c#的类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)