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

大家好!我写了一个教程已经有一段时间了。在本文中,我们将研究虚幻引擎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。使用该解析器,您可以填充值并获得这样的模型。

和平精英吃鸡耳机哪个好?和平精英吃鸡耳机排行榜10强
敏源传感喜提“第二届智能感知产品评测大赛最受期待企业奖”
洲明为FIBA多项顶级篮球赛事提供专业LED声光电一体化解决方案
阻燃级Brilliance模拟音频线适用于各种专业和商业音频环
索尼动圈旗舰EX1000评测 顶级工艺水平音质出色
怎样在虚幻引擎4中创建3D模型
韩国科学技术院利用手势追踪研发全新3D素描系统
蜂窝物联网什么时候将真正的迎来大爆发?
PCB生产中的过孔和背钻有些什么样的技术?
只需几个传感器,传统手表秒变智能手表
BIM技术与RFID技术如何结合
机器视觉基本概念学习笔记5
激光焊缝跟踪的特种车辆机器人焊接趋势
大话中国C-V2X通讯标准应用层标准
惠而浦宣布终止与国美电器合作
谈华为MateBook X胜过苹果MacBook5大理由
华为Mate10什么时候上市?华为Mate10十月见,渲染图曝光:全面屏+双摄+麒麟970,只卖7000?
人工智能的发展将为制造业带来什么影响
RISC-V,真的要上天了!
2023年变频器厂商亏损预警,最高亏损额达2.4亿