| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> UE4/5 插件分拆 《第一季》运行时地形03 虚幻引擎核心的C# -> 正文阅读 |
|
[游戏开发]UE4/5 插件分拆 《第一季》运行时地形03 虚幻引擎核心的C# |
上节 我们已经知道了 UE的组成单位是 Module, 无论游戏,还是插件 ,都只是Module类似目录的封装。拆到这里为止,我还没看过官方文档,依然是个小白,如果有写错的地方,欢迎直接评论,直言可贵。 每个Module格式是一致的,目录里面是与目录名一致的 .build.cs 文件, 我搜索了所有.build.cs,发现有1200多个,也就是说,UE最少是由1200个c#代码组成的。?UE本身虽然以C++自居,但C#是绕不过去的,因为编译器才是老大。 .Build.cs里面只有1个与Module同名的类, 继承于ModuleRules
对于这个C#类的探究,到找官方API:https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/BuildTools/UnrealBuildTool/ModuleFiles/ (⊙﹏⊙)这API明显是面向内部的,当没看见好了。 C#其实很简单,在引擎搜索含 "class ModelRules"?的 .cs 文件, 马上就能找到以下代码路径 \Engine\Source\Programs\UnrealBuildTool\Configuration\ModuleRules.cs public PCHUsageMode PCHUsage =?PCHUsageMode.NoSharedPCHs; PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "Public")); // 目录 Public/ PublicDependencyModuleNames.Add("依赖模组"); 主要就是以上三组东西,所以最简的设置方式可以为
附上一张全家福 ......好吧,我是小白......C#有很多结构分析工具,如果用VS编辑器,输入中也会有提示。 另外ReadOnlyTargetRules Target 会返回当前环境的状态, 比如?if (Target.Platform == UnrealTargetPlatform.Win64){} 是判断当前平台的, 又比如??if (Target.Configuration == UnrealTargetConfiguration.Debug){} 是判断当前是否DEBUG的 下一节,主要聚焦 DepandencyModule; |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/15 20:55:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |