0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样在虚幻引擎4中创建3D模型

454398 来源:工程师吴畏 2019-07-31 17:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大家好!我写了一个教程已经有一段时间了。在本文中,我们将研究虚幻引擎4.您可以在此处了解有关Unreal以及如何安装虚幻引擎4的更多信息。我非常喜欢Unreal的图形质量。它的图形质量无与伦比,可以免费使用!那么,让我们开始吧!

您还需要安装VisualStudio(Windows)或XCode(Mac)。这些程序可能在安装时带有Unreal,但如果没有,请确保安装它。

一旦安装了虚幻引擎和VisualStudio或XCode,就可以启动最新版本的Unreal和启动C ++项目。目前,我们不需要担心Blueprint& C ++项目。选择一个基本模板。

这个过程需要一些时间。完成后,它将如下所示。如果选择了C ++项目,则可以在左下角的内容浏览器中看到名为C ++类的文件夹。在左侧,您有模式窗口,您可以从中选择不同的默认3D模型和其他组件。玩它。您的VisualStudio或XCode也必须同时打开。

在Unreal中,所有对象都被视为Actors,输入被视为Pawn等等。由于我们正在制作自己的3D模型,因此我们需要有一个actor类。

右键单击内容窗口,然后选择一个新的C ++类。将其扩展为演示类。

导航到Visual Studio。 (如果您在Blueprint类中创建actor,它将自动打开Visual Studio。)您可以在Solution Explorer窗口中浏览您的类。

我们将使用 UProceduralMeshComponent 来构建网格。网格是用于制作演示或对象的结构。导航到 Build.cs文件并添加以下行。

PublicDependencyModuleNames.AddRange(new string[] { “Core”, “CoreUObject”, “Engine”, “InputCore”, “ProceduralMeshComponent”, “ShaderCore”, “RenderCore” , “RHI”});

注意:如果在任何时候出现错误,您可以随时关闭VisualStudio并转到文件资源管理器中的项目文件夹。右键单击。 uproject 并选择生成项目文件。如果编译器发出错误,我们需要这样做。 (但如果错误是因为‘;’),这无济于事。

现在,再次打开VisualStudio。浏览actor类的头文件(.h)。在底部但在大括号下添加以下代码。

private:

UPROPERTY(VisibleAnywhere, Category = Materials)

class UProceduralMeshComponent* mesh;

可能会显示错误 - 您知道解决方案。

现在在你演示的 .cpp类。包括UProcedural头类。

#include “ProceduralMeshComponent.h”

现在,使用三角形或面生成网格。你可以拿任何物件。在其他情况下,您会注意到它由许多三角形或面组成。

要创建网格,我们需要顶点,三角形(或面),法线,纹理,颜色和切线。您可以在文档中阅读有关它们的所有信息。

现在,您可以想象对象中三角形的数量取决于顶点的数量。如果3有顶点,则将有1个三角形。如果有4个顶点,那么你将有2个三角形。我们也需要牢记这些。

这次我们正在制作一个广场。您可以将此代码添加到A ()函数中的。 cpp文件。

mesh = CreateDefaultSubobject(TEXT(“mesh”));

RootComponent = mesh;

TArray vertices;

vertices.Add(FVector(0, 0, 0)); // 0th vertice

vertices.Add(FVector(0, 100, 0)); // 1th vertice

vertices.Add(FVector(0, 0, 100)); // 2nd vertice

vertices.Add(FVector(0, 100, 100)); // 3rd vertice

TArray Traingle;

//I have created 4 triangle because we need to make sure it is rendered from behind as well. Otherwise, the object will be seen from front only and not from behind.

Traingle.Add(0);

Traingle.Add(1); // for front face - clockwise direction

Triangle.Add(2);

Triangle.Add(1);

Triangle.Add(2); // for front face - clockwise direction

Triangle.Add(3);

Triangle.Add(2);

Triangle.Add(1); // for back face - anti-clockwise direction

Triangle.Add(0);

Triangle.Add(3);

Triangle.Add(2); // for back face - anti-clockwise direction

Triangle.Add(1);

TArray normals;

normals.Add(FVector(1, 0, 0));

normals.Add(FVector(1, 0, 0));

normals.Add(FVector(1, 0, 0)); // you need to calculate the direction of normals, using 3d vectors.

normals.Add(FVector(1, 0, 0));

TArray UV0;

UV0.Add(FVector2D(1, 1));

UV0.Add(FVector2D(0, 1));

UV0.Add(FVector2D(1, 0));

UV0.Add(FVector2D(0, 0));

TArray vertexColors;

vertexColors.Add(FLinearColor(0.75, 0.00, 0.00, 1.0));

vertexColors.Add(FLinearColor(0.75, 0.00, 0.00, 1.0));

vertexColors.Add(FLinearColor(0.75, 0.00, 0.75, 1.0)); // the 4th argument determines alpha value (0,1)

vertexColors.Add(FLinearColor(0.75, 0.00, 0.75, 1.0));

TArray tangents;

tangents.Add(FProcMeshTangent(0, 1, 0));

tangents.Add(FProcMeshTangent(0, 1, 0));

tangents.Add(FProcMeshTangent(0, 1, 0));

tangents.Add(FProcMeshTangent(0, 1, 0));

mesh-》CreateMeshSection_LinearColor(1, vertices, Square, normals, UV0, vertexColors, tangents, false);

我们的网格创建到此结束!您可以保存并编译它。现在,如果你在场景中拖动你的演员,它将编译一个正方形!

您可以尝试评论其他2个三角形并进行编译。一个广场仍然会出现,但试着从后面看到它。你将无法做到。

现在,如果您向其添加任何材质(或图像),如果它被颠倒或以其他方式渲染或光线较低。您需要在Triangle TArray和Normals中调整顶点位置。

您可以尝试制作更复杂的模型或使用obj文件。你需要为obj模型创建一个解析器来获取顶点,法线等。你需要知道一件事,那就是Texures = UV。使用该解析器,您可以填充值并获得这样的模型。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 3D模型
    +关注

    关注

    1

    文章

    80

    浏览量

    16969
  • 虚幻引擎
    +关注

    关注

    0

    文章

    15

    浏览量

    4293
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何快速查找工业部件的 3D CAD 模型

    的 CAD 系统。您需要的不是 \"足够接近\"。您需要的是来自实际供应商的原始 CAD 格式的制造商 CAD 数据。 本指南介绍了如何查找经过认证的、准确的工业部件3D CAD 模型
    发表于 03-04 16:22

    技术资讯 I 多板系统 3D 建模,提升设计精度和性能

    制造环节测试、优化设计,进行概念验证,提高成本效益和设计精度。工程师CAD程序设计新器件。3D建模3D建模指的是利用专业软件创建三维对象
    的头像 发表于 11-21 17:45 2663次阅读
    技术资讯 I 多板系统 <b class='flag-5'>3D</b> 建模,提升设计精度和性能

    京东11.11直播技术全面升级,立影3D技术、JoyAI大模型重构沉浸式购物体验

    新方向。 立影 3D 技术:直播间360° 还原实体货架体验 作为京东全球首发的裸眼 3D 商品营销方案,“立影计划”彻底打破了传统直播的视觉边界,带来全新直播购物体验。相较于传统直播的局限,大件商品
    的头像 发表于 10-27 14:58 726次阅读

    技术资讯 I 图文详解 Allegro X PCB Designer 3D 模型映射

    本文要点面对市面上的一切要将PCB板放进一个盒子里的产品的设计都离不开3D模型映射这个功能,3D协同设计保证了产品的超薄化、高集成度的生命线;3D
    的头像 发表于 10-17 16:16 2002次阅读
    技术资讯 I 图文详解 Allegro X PCB Designer <b class='flag-5'>中</b>的 <b class='flag-5'>3D</b> <b class='flag-5'>模型</b>映射

    使用NVIDIA AI Blueprint打造3D世界

    传统工作流,建模师必须构建占位模型、低精度资产来填充 3D 场景,优化核心资产以完成场景。之后,可以优化、细化并最终完成视觉效果。
    的头像 发表于 09-23 14:35 1134次阅读

    玩转 KiCad 3D模型的使用

    “  本文将带您学习如何将 3D 模型与封装关联、文件嵌入,讲解 3D 查看器的光线追踪,以及如何使用 CLI 生成 PCBA 的 3D
    的头像 发表于 09-16 19:21 1.2w次阅读
    玩转 KiCad <b class='flag-5'>3D</b><b class='flag-5'>模型</b>的使用

    光庭信息亮相2025上海虚幻引擎技术开放日

    专家与前沿科技企业,共同解锁虚幻引擎(UE)技术的未来边界。光庭信息智能座舱事业部技术总监陈治汽车峰会专场发表《虚幻引擎助力
    的头像 发表于 08-28 15:30 1438次阅读

    光庭信息邀您相约2025上海虚幻引擎技术开放日

    8月22日至23日,备受瞩目的2025上海虚幻引擎技术开放日(Unreal Fest Shanghai 2025)将在上海宝华万豪酒店隆重举行。Epic Games创始人兼CEO Tim
    的头像 发表于 08-21 16:10 1296次阅读

    Gagne公司免费3D CAD工程波纹管模型下载

    波纹管的3D CAD模型,以便在项目中使用。该工具由CADENAS打造,采用eCATALOG 3Dfindit技术,用户可即时访问100多种格式的原始CAD文件。 在线配置器可指导用户选择正确的波纹管类型
    发表于 08-13 14:44

    【Milk-V Duo S 开发板免费体验】3- 尝试免费3D打印了开发板外壳

    引言 坛友jf_07365693评测群里面分享了3D打印DuoS开发板外壳的经验,以前从来没有尝试过3D打印,这次也专门试了试,效果不错,分享一下经验给大家。 外壳模型 DuoS的外
    发表于 07-08 20:54

    文件嵌入详解(一):PCB封装库嵌入3D模型

    “  从 KiCad 9 开始,就可以封装嵌入 STEP 3D 模型,而不只是简单的关联。这样复制封装、
    的头像 发表于 07-08 11:16 3093次阅读
    文件嵌入详解(一):<b class='flag-5'>在</b>PCB封装库<b class='flag-5'>中</b>嵌入<b class='flag-5'>3D</b><b class='flag-5'>模型</b>

    TechWiz LCD 3D应用:局部液晶配向

    ,本案例使用TechWiz LCD 3D进行局部摩擦的设置。 1. 建模任务 1.1进行局部摩擦配置 2. 建模过程 以下是建模过程中部分重要步骤的说明 2.1TechWiz Layout
    发表于 06-16 08:46

    TechWiz LCD 3D应用:微液晶分子摩擦排布

    ) 结构创建完成后TechWiz LCD 3D中加载并进行相关参数设置 2.2TechWiz LCD 3D软件
    发表于 06-10 08:44

    答疑|3D打印能打印立体字母吗?

    议: (1)使用3D建模软件创建字母模型时,要确保字母的线宽至少有1-2MM,避免打印时断裂。 (2)如果字母有悬空部分(比如把字母竖起来打印时,“H”中间的横线),打印时需添加支撑
    发表于 05-21 16:17

    TechWiz LCD 3D应用:挠曲电效用仿真

    完成后TechWiz LCD 3D中加载并进行相关参数设置 2.2TechWiz LCD 3D软件开启应用挠曲电效应的功能 2.3其
    发表于 05-14 08:55