dajiji2046 发表于 2020-11-26 11:17

Unreal Shader (一) 编写准备

下载并编译引擎源码

严格按照下面三个链接操作:
https://docs.unrealengine.com/en-US/GettingStarted/DownloadingUnrealEngine/index.htmlhttps://docs.unrealengine.com/en-US/Programming/Development/VisualStudioSetup/index.htmlhttps://docs.unrealengine.com/en-US/Programming/Development/BuildingUnrealEngine/index.html
1.下载github桌面版并创建账户 https://github.com/
2.创建Unreal账户并登陆 https://www.unrealengine.com/
3.在Unreal个人账户界面选择关联到github账户,这样就可以在github上下载Unreal Engine源码
4.在Github上下载Unreal Enginehttps://github.com/EpicGames/UnrealEngine
5.下载Visual Studio 2017 https://visualstudio.microsoft.com/vs/whatsnew/
6.下载Visual Studio开发Unreal所必须的扩展包并配置VS https://docs.unrealengine.com/en-US/Programming/Development/VisualStudioSetup/index.html
7.打开Visual Studio Installer下载Net Framework,Windows SDK,C++develop等开发工具包。
下载英文语言包卸载中文语言包 window系统设置unicode以外为英文 会避免一些问题
8.配置Github下载好的Unreal Engine工程 (1)首次运行Setup.bat (2)管理员权限运行GenerateProjectFiles.bat生成工程文件(每次更新github都要重新生成一次)如果遇到问题,大多出是Net.Framework下载不正确的问题。
9.管理员权限运行Visual Studio 2017并打开之前生成的UE4.sln工程文件。
10.编译引擎并运行 https://docs.unrealengine.com/en-US/Programming/Development/BuildingUnrealEngine/index.html
如果编译遇到问题,查看是否VS的开发组件有下载全,参考开始的几个文档:
运行VS安装器 C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe
材质编辑器编译简介

A区域 输入节点连线图,自定义albedo specular等信息的获得算法,包括染色UV滚动等。
B区域 输出节点,用albedo specular等信息进行deferred管线通用渲染,包括光照计算等。
A区域 节点图生成Shader Template
节点图连好后查看生成的HLSL代码:material editor>window>shader code>HLSL code。
// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
/*MaterialTemplate.usf: Filled in by FHLSLMaterialTranslator::GetMaterialShaderCode for each material being compiled.*/对于每个材质,HLSLMaterialTranslator会把节点图的信息转化为函数填入模板文件Engine\Shaders\Private\MaterialTemplate.usf,生成一个包含自定义信息的shader template,用来生成最终的shader文件。如果在MaterialTemplate.usf加入了自定义函数,custom node就可调用该函数。修改Engine\Source\Runtime\Private\Materials\HLSLMaterialTranslator.h也会影响所有shader template。
B区域 输出节点的Shading Model
YivanLee:虚幻4渲染编程(材质编辑器篇)【第二卷:自定义光照模型】
Adding a custom shading model (Part I)
reference
页: [1]
查看完整版本: Unreal Shader (一) 编写准备