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

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

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

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

2017-11-14 10:05:40 WAN_EXE 阅读数 353
  • 从这里开始虚幻4-Editor介绍 v4.18

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

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

抽空在学Unreal引擎,以便更好地掌握图形图像的基础。

这些文章主要来自于Unreal的官网,以实际的例子为主,不会说明太详细的步骤,主要讲解代码。

有兴趣的可以参考官网

https://www.unrealengine.com/en-US/blog

已经完成的知识有

Unreal引擎源码下载,编译,使用VStudio进行代码编辑。

Development Setup

Programming Quick Start


2018-11-26 19:29:43 zp288105109a 阅读数 248
  • 从这里开始虚幻4-Editor介绍 v4.18

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

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

       好记性不如烂笔头,而且Unreal4用的相对来说也比较少,工作用Unity,学习时间大部分用在DirectX上,也就偶尔看看Unreal。Unreal的API肯定记不住,现在写下来,省的下次再去Google看一堆文章,方便自己。
       看着蓝图教程,用C++来实现,发现自己还是满蛋疼的。教程中是拖入一个新的Mesh来区分AI和Player,懒得拖,就用Player的Mesh,修改下显示颜色来做区分,简单粗暴。
       先来看下原来的材质球:


       拖一个VectorParameter,取名为Color,再跟之前的TextureSample相乘就好,这个BaseColor应该是Diffuse(漫反射吧,我猜的,看到了Specular和Normal)


       接着就是代码上的修改了:

void AAICharacter::Initialize()
{
	// Set Skeletal Mesh
	auto skeletalMesh = GetMesh();
	static ConstructorHelpers::FObjectFinder<USkeletalMesh> aiMesh(
		TEXT("SkeletalMesh'/Game/Model/Character/Eve_by_J__Gonzales.Eve_by_J__Gonzales'"));
	if (aiMesh.Object != nullptr)
	{
		skeletalMesh->SetSkeletalMesh(aiMesh.Object);
		auto meshLocation = FVector(0.0f, 0.0f, -88.0f);
		auto meshRotation = FRotator(0.0f, -90.0f, 0.0f);
		auto meshScale = FVector(1.0f, 1.0f, 1.0f);
		auto meshTransform = FTransform(meshRotation, meshLocation, meshScale);
		skeletalMesh->SetRelativeTransform(meshTransform);
	}

	// Create Dynamic Material
	auto dynamicMaterial = skeletalMesh->CreateDynamicMaterialInstance(0);
	dynamicMaterial->SetVectorParameterValue(TEXT("Color"), FLinearColor(1.0f, 0.0f, 0.0f, 1.0f));
}

       上面一段就是AI设置Mesh的代码,跟Player的代码一样。有注释。接下来的2行代码就是修改材质球中参数名为Color的VectorParameter,为了区分,将AI的改成红色。
       效果如下:

2015-07-15 19:52:06 u013927810 阅读数 831
  • 从这里开始虚幻4-Editor介绍 v4.18

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

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

用Unreal开发一个简单的MC Demo 第一节

1.使用一个模版

Unreal提供了一系列的基础模版供大家使用,因为我们要做一个MC Demo,最适合的Demo即是First Person Example。
该模板提供了第一人称射击的基础,可以控制角色上下左右蹦跳,还能瞄准发射子弹,十分像MC的操作。

创建项目

2.制作一个MC风格的方块

首先将这上中下三个面的图片导入到Unity

然后右键–创建材质,只有这样才能给Unity使用

创建一个BSP方块

选择方块,将他的画刷大小改成100/100/100

将模式改为选择并旋转对象,然后将刚创建的材质拖到方块的6个面上,如果看不到记得旋转一下
于是我们得到了一个6面涂色的方块。

在世界大纲里面找到刚才创建的方块,点击他,然后创建静态网格物体

双击进入刚才的静态网格物体,设置他的碰撞,否则方块不能堆叠或者站在上面

于是,一个MC风格的静态网格物体创建完成~

在最后,我们选择该物体,然后蓝图->转换为蓝图类,将物品转化为蓝图物品。方便以后增加新功能

3.蓝图编辑

First Person Example的主要功能存放在FirstPersonCharacter蓝图里面,有移动,开火等功能。

首先我们当然要增加放置方块功能了。

首先增加Place事件,用鼠标左键触发,原来的开火放到鼠标右键
去编辑-项目设置里面修改一下~

好,开始进入正式的蓝图编辑。

首先创建一个事件监听,监听输入的Place事件
收到Place事件后,发出一条射线,通过Break Hit Result判断命中的单位

然后将命中的点XYZ除以100再乘以100(对齐方格),然后创建一个方块,然后就Bingo!

可以运行一下程序看看结果

果然可以放方块了!但是有个问题,为什么方块都在底下,堆不上去呢?

其实很简单,我们碰撞的点在地底,Z通过int(Z/100)*100运算的结果的也一直在地底下,所以我们永远堆不上去。而且在MC里,我们在方块的左右点击放置,理应也出现在目标箱子的左右。
所以我们还要获取碰撞的方块,判断命中点在目标方块的上下左右,然后放置箱子。

首先获得碰撞的Actor,尝试将他转换成方块,取得他的XYZ,用来跟之前的XYZ对比

判断Y轴,放置在箱子的上或者下,将结果保存到Cube Place Vector(需要创建一个Vector变量)里

X轴和Z轴同理。。。

最后在目的地创建方块

运行一下

非常好!BTW,我们的测试小人还能蹦到方块上。完美!

好了,第一节就这样完工。下一节我们尝试移除方块~

2017-12-07 15:40:09 WAN_EXE 阅读数 406
  • 从这里开始虚幻4-Editor介绍 v4.18

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

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

GUI的重要性。

这章中我们建立player的健康值, stamina, and ammo.展示很多其它的东西。

使用的编辑工具叫做Unreal Motion Graphics UI Designer (UMG).

主要讲述内容:

1. 使用UMG创建UI元素

2. 使用蓝图修改创建的UI元素。

HUD (short for Heads-up Display)

首先进入蓝图定义这些值,定义一个PlayerHealth ,修改它的变量为Float.

做成的一个gui图,界面看上去还行。


有Health, 剩余子弹数,等等其余的值。

主要就是拖拽物体,有点像Android Studio,用过这个的人应该对这个不难。

然后就是连接蓝图,选择相应的事件,下一步是怎么使这些变量生效。

制作的界面

使用的蓝图。



2. Creating binding for health and stamina

有个很关键的词是捆绑,每个widget可能都有一些捆绑的函数。

下面是health progress bar的捆绑, 另外一个和这个相同。

Designer ----> Graph随意切换。


之前在Blueprint命名的四个变量绑定完成,

下面是蓝图

通过下面这个蓝图连接上我们之前定义的UI界面。


通过在Event BeginPlay那里把这个HUD widget加上。

这个模板还是挺复杂的,不过已经完美解决了。



unreal

阅读数 235

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