2019-05-10 21:25:45 qq_33465047 阅读数 138
  • 从这里开始虚幻4-Editor介绍 v4.18

    本课程系列取名英译系列,是录制人员参考国外英文原版经典教程,结合中国人的习惯录制而成。希望能够给大家以帮助。从这里开始虚幻4系列教程,是Unreal的官方发布的入门教学,非常经典,是学习Unreal的佳入口。

    2377 人正在学习 去看看 杨石兴

首先,找一个文件夹,然后右击,会弹出下面所示的,点击Material建立一个材质,然后给命名,

在这儿将新建材质,命名为Wall,然后双击,进入材质编辑器。如下图:

材质编辑器,主要由5部分组成,1

1 :菜单栏+工具栏,2视口面板:预览材质实时的效果,3细节面板-----列出材质,所选材质的表现, 4 :代码编辑区:显示创建材质的指令 5:控制面板:列出所有材质着色器指令的材质表现和函数。

下面介绍一下材质中特别重要的基础部分:如左图所示。

其中常用的是:

 

 基础颜色,金属,高光,粗糙度,自发光颜色,法线.

基础颜色(Base Color):材质的基本颜色

金属(Metallic):定义材质有金属特性,设置范围在0-1之间。

高光(Specullar):调整的是非金属材质的高光反射程度。默认是0.5

粗糙度(Roughness):数值低的材质镜面反射的程度就越高,也就是越光滑。

自反光颜色(Emissive):定义材质自主发出光线的参数

法线(Normal):用于连接贴图,

了解这些就可以做出很多材质了,

 

 

 

在材质编辑器一些常见的快捷键(注意,按键的同时,左击鼠标,才会有反映)

键盘撒上的数字1,2,3,:是用来创建常量和向量的节点,

U:贴图坐标

T:贴图取样器

M和D:创建加法、乘法和除法的节点。

删除节点:就是delete

 

然后实际操作一下:

首先,按下键盘的数字3同时单机左键,会出现一个向量,用来设置基础颜色,双击这个向量,选择一个颜色。然后再按下数字1的同时单机左键,会出现一个标量,将它与金属属性相连,然后单机编辑器的左上方,Apply按钮,会出现一下效果。

 

2018-06-11 15:38:10 zsyddl2 阅读数 449
  • 从这里开始虚幻4-Editor介绍 v4.18

    本课程系列取名英译系列,是录制人员参考国外英文原版经典教程,结合中国人的习惯录制而成。希望能够给大家以帮助。从这里开始虚幻4系列教程,是Unreal的官方发布的入门教学,非常经典,是学习Unreal的佳入口。

    2377 人正在学习 去看看 杨石兴

   目前未找到直接手动创建完整材质的办法,感觉不太方便。 目前的办法是:在编辑器中创建需要的材质比如 顶点颜色材质、颜色材质、图片材质等。并将输入的数据添加到参数,这样可以在程序运行中修改顶点颜色,材质颜色,或者材质图片。

  顶点颜色材质:

    

   颜色材质创建:

  

 动态修改颜色:

  FString strMaterial = TEXT("/Game/StarterContent/Materials/M_Color.M_Color");

    ((AUeCustomActor*)m_pUeActor)->LoadSpecialMaterial(strMaterial, pColorMaterial, false);

    FLinearColor linearColor(color.m_fR, color.m_fG, color.m_fB, color.m_fA);
    
 
    UMaterialInstanceDynamic* pDynamicMaterial = UMaterialInstanceDynamic::Create(pColorMaterial, nullptr);// new UMaterialInstanceDynamic();
 
    pDynamicMaterial->SetVectorParameterValue(FName("BaseColor"), linearColor);

    pProcMesh->SetMaterial(nSection, pDynamicMaterial);

 图片材质 未测试。这种应该是可以冬天替换,比如用于播放视频。


  补充 LoadSpecialMaterial:

  
void AUeCustomActor::LoadSpecialMaterial(const FString& MaterialName, UMaterial*& Material, bool bCheckUsage)
{
    // only bother with materials that aren't already loaded
    if (Material == NULL)
    {
        // find or load the object
        Material = LoadObject<UMaterial>(NULL, *MaterialName, NULL, LOAD_None, NULL);

        if (!Material)
        {
#if !WITH_EDITORONLY_DATA
            UE_LOG(LogEngine, Log, TEXT("ERROR: Failed to load special material '%s'. This will probably have bad consequences (depending on its use)"), *MaterialName);
#else
            UE_LOG(LogEngine, Fatal, TEXT("Failed to load special material '%s'"), *MaterialName);
#endif
        }
        // if the material wasn't marked as being a special engine material, then not all of the shaders
        // will have been compiled on it by this point, so we need to compile them and alert the use
        // to set the bit
        else if (!Material->bUsedAsSpecialEngineMaterial && bCheckUsage)
        {
#if !WITH_EDITOR
            // consoles must have the flag set properly in the editor
            UE_LOG(LogEngine, Fatal, TEXT("The special material (%s) was not marked with bUsedAsSpecialEngineMaterial. Make sure this flag is set in the editor, save the package, and compile shaders for this platform"), *MaterialName);
#else
            Material->bUsedAsSpecialEngineMaterial = true;
            Material->MarkPackageDirty();

            // make sure all necessary shaders for the default are compiled, now that the flag is set
            Material->PostEditChange();

            FMessageDialog::Open(EAppMsgType::Ok, FText::Format(NSLOCTEXT("Engine", "SpecialMaterialConfiguredIncorrectly", "The special material ({0}) has not been marked with bUsedAsSpecialEngineMaterial.\nThis will prevent shader precompiling properly, so the flag has been set automatically.\nMake sure to save the package and distribute to everyone using this material."), FText::FromString(MaterialName)));
#endif
        }
    }
}

2016-06-17 09:50:12 fyyzwsws 阅读数 12361
  • 从这里开始虚幻4-Editor介绍 v4.18

    本课程系列取名英译系列,是录制人员参考国外英文原版经典教程,结合中国人的习惯录制而成。希望能够给大家以帮助。从这里开始虚幻4系列教程,是Unreal的官方发布的入门教学,非常经典,是学习Unreal的佳入口。

    2377 人正在学习 去看看 杨石兴

Unreal Engine4(虚幻4)学习心得-材质

材质

制作材质的过程其实就相当于在写shader,只是UE4制作材质使用的是可视化方式在写shader。下面将介绍一些材质属性:

  • Blend Mode混合模式
    用于决定材质颜色如何和背景颜色混合。
    1. Opaque不透明
    2. Masked蒙版,蒙版材质可以利用蒙版贴图,将一些区域设置为可见或者不可见,比如铁丝网就可以使用蒙版
    3. Translucent半透明,可以以某种形式允许光线透过,比如玻璃
    4. Additive叠加,有透明度,用于增加颜色信息,比如各种粒子效果
    5. Modulate调制,将材质颜色乘以背景颜色,适合做贴花效果
  • Lighting Mode光照模式
    当半透明/透明的时候使用。
    1. Volumetric NonDirectional,是最节省的光照模式,只使用漫反射颜色,不用考虑材质法线。严格的说,只对动态光照的物体有效。
    2. Volumetric Directional,考虑材质法线。
    3. Volumetric PreVertex NonDirectional,同Volumetric NonDirectional,但是光照只在顶点计算,这样会减轻PS的消耗。
    4. Volumetric PreVertex Directional,同Volumetric Directional,但是光照只在顶点计算,这样会减轻PS的消耗。
  • Base Color常规色
    通常会通过PS制作一些贴图,作为基本色。所有的贴图都可以通过UV设置其平铺状态
  • Emissive自发光
    能让材质自己发光,可以用于制作材质外边缘的光晕效果。
  • Specular高光
    用于控制高光的颜色。光源照射到物体然后反射到人的眼睛里时,物体上最亮的那个点就是高光。高光控制着光线的反射,以展现一种光泽的效果。
  • Opacity不透明
    用于控制物体的透明度。
  • OpacityMask不透明蒙版
    用于和混合模式中的Masked蒙版模式组合使用,包含了可见还是不可见信息蒙版贴图就在这里连接。
  • Normal法线
    法线贴图是材质具有凹凸效果的原因。除非制作的是玻璃或者金属球之类的非常光滑的物体,否则一定要用法线。可以再加上一张细节贴图,与法线贴图相加,一起当做法线贴图。但是法线贴图中的凹凸信息其实是存在于RG通道中,B通道好比基准线,也就是被RG弄皱的底平面,因此如果想再加上一张细节贴图的话,蓝色通道千万不能动。法线贴图通过RGB的信息,以像素为单位来指定表面角度。
  • WorldPositionOffset世界位置偏移量
    只有要跟踪某个材质的世界位置,并且要沿某个方向移动它,这个属性才会被用到。

材质的其他属性(UDK)

  • Diffuse漫反射
    提供不透明颜色,好比常规颜色。通常会通过PS制作一些贴图(包含alpha通道,法线贴图),作为漫反射的基本色。
  • DiffusePower漫反射次幂
    描述颜色随光照信息的流失,从饱和向阴暗渐变的速度。
  • SpecularPower高光次幂
    用来模拟光滑度。
  • Distortion扭曲
    它能使一个对象表面的材质发生扭曲。使用方式比如:把混合模式设置为Additive叠加,然后设置无光照,然后把法线贴图连接到扭曲上(扭曲接收的就是法线信息,它要利用RGB通道来决定把像素点移到多远),就能看到热浪的效果,类似折射。
  • TransmissionColor透射色
    设置一个颜色,这样穿过物体表面的光线,好像会穿透物体扩散开来,呈现出次表面散射(3S)的样子(透射蒙版要设置为1才能看到)。比如设计角色的耳朵的时候,将耳朵部分的透射蒙版设置为1,然后将投射色设置为深红,那么当光线射到耳朵背面的时候,耳朵看上去就有次表面散射的效果。(这里只是模拟S3,而非真正的S3,但是很逼真,移动光源就可以看到半透明的效果)
  • TransmissionMask透射蒙版
    0和1组成的蒙版贴图用于决定哪里需要透射。透射色和透射蒙版主要用于蜡和人皮肤之类的地方
  • BumpOffset凹凸偏移
    凹凸偏移需要借用高度贴图。高度贴图可以使用法线贴图的alpha作为其高度值,然后将高度贴图作为基本色和法线的UV即可。
2019-05-11 19:28:25 qq_33465047 阅读数 717
  • 从这里开始虚幻4-Editor介绍 v4.18

    本课程系列取名英译系列,是录制人员参考国外英文原版经典教程,结合中国人的习惯录制而成。希望能够给大家以帮助。从这里开始虚幻4系列教程,是Unreal的官方发布的入门教学,非常经典,是学习Unreal的佳入口。

    2377 人正在学习 去看看 杨石兴

首先建立一个简单的玻璃材质

创建金属材质

 

 效果如左图,上面连接图中的texture sample 

的实现有好几种方法。这里介绍最简单的方法:

 

如下图所示:找到官方提供的贴图。直接托到擦材质编辑器中。

 

 

 

 

 

 

 

 

 

 

 

创建材质实例(创建材质实例是为了省去创建相似材质而设立的,它运用了编程语言中的继承思想,即父子和儿子,之间既有相似也有不同的)

 

第一步:建立的材质,右击,选择创建材质实例。并命名

双击如下图所示:细节面板中并没有可调的参数,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 第二步:打开最开始创建的材质编辑器,操作如下图:并命名为Color。保存后,再打开创建的材质实例,会看见命名的color,就可以设置参数了,

 

同理,将原材质中的节点,设置后,最终的结果如图:

 

2018-11-15 17:21:01 xiaoxiaolooi 阅读数 256
  • 从这里开始虚幻4-Editor介绍 v4.18

    本课程系列取名英译系列,是录制人员参考国外英文原版经典教程,结合中国人的习惯录制而成。希望能够给大家以帮助。从这里开始虚幻4系列教程,是Unreal的官方发布的入门教学,非常经典,是学习Unreal的佳入口。

    2377 人正在学习 去看看 杨石兴

unreal GIS 模块

unreal4 源代码模块

自从unreal4 开源以来,osg ogre 渐渐不能用来吃饭,于是本着听人劝吃饱饭的思想,转头unreal门下,继续为混口饭事业,投身革命。可是unreal的c++编程基本没有什么例子可看,只好自己从头做起。

  1. 开发者驱动
  2. 编辑器
  3. 工程目录
  4. 基础框架代码
  5. 第三方库

在这里插入图片描述
这个是文档目录,代码量难以阅读,决定从以下三方向入手,第一次写文字,真心不容易。
1.案例编写使用unreal4 的普通界面搭建自定义三维场景 介绍 editor层的基础代码
2.添加GIS地图属性信息 介绍 驱动层的基础代码
3.程序化植物合成 介绍 与unreal基础平台结合
以后会陆续跟新到这里
推荐大家使用 阿里云 https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ic4sfgeu

unreal

阅读数 239

没有更多推荐了,返回首页