2018-06-15 22:23:38 zsyddl2 阅读数 533
  • 从这里开始虚幻4-Editor介绍 v4.18

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

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

  unreal 默认是 无法嵌入到程序中作为一个dll模块的。想嵌入,需要做一些修改调整。再上一篇文章说过这个主要修改步骤。

这里说第一方面: 

   unreal 导出 dll工程:

   1、通过ue editor 建立一个 ue工程。(UeSdk)

   2、调用vs 打开项目, 修改编译选项。 UeSdk.target.cs 文件 :

        public uesdkTarget(TargetInfo Target) : base(Target)
    {
        Type = TargetType.Game;

        ExtraModuleNames.AddRange( new string[] { "uesdk" } );

        bShouldCompileAsDLL = true;
        bUseStaticCRT = false;

    }

   这样可以编译目标为 dll。但是ue 这里是有问题的。这里虽然生成的目标是dll, 但是 实际是exe文件,只是名称变了。

   这里需要修改 unreal 的编译工具: UnrealBuildTool 

3、修改 UnrealBuildTool工程内容。这里不得不修改源码了。unreal 从软件工程上说,有不少问题。

   UEBuildModuleCpp.cs 1157:

            //CompileEnvironment.bIsBuildingDLL = !Target.ShouldCompileMonolithic();

            CompileEnvironment.bIsBuildingDLL = Target.Rules.bShouldCompileAsDLL ;


UeBuildTarget.cs 3893:

    //zsyddl dll
                    UEBuildBinaryType binaryType = Rules.bShouldCompileAsDLL ? UEBuildBinaryType.DynamicLinkLibrary : UEBuildBinaryType.Executable;
                    //UEBuildBinaryType binaryType = !ShouldCompileMonolithic() ? UEBuildBinaryType.DynamicLinkLibrary : UEBuildBinaryType.Executable;
    这样可以编译为真正的dll

   4、如此修改虽然可以编译为 dll 也可以被调用。但是都是一个独立的 dll,很大的哦。50M+ ;


  以上只是能编译为 dll,并链接了 Unreal主要的库。 想要从程序调用dll,还需要一些修改。

  比如启动 unreal 、 启动 unreal 循环、嵌入到我们的程序窗口重、支持多实例。 后面会将修改好的代码方一份到网盘。整个项目很大。只能将源代码打包放上去。

 

 

2018-04-03 15:28:32 qq_22634949 阅读数 5550
  • 从这里开始虚幻4-Editor介绍 v4.18

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

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

第一步 获取无骨骼的人物模型

在网上获得一个.max文件,无骨骼,如图所示


导出.fbx文件

第二步 将人物模型导入Mixamo自动生成骨骼和动画

访问www.mixamo.com,注册账号,进入界面,选择UPLOAD CHARACTER,导入.fbx文件


根据流程next,根据要求,选取几个特殊的点


查看测试的动画,如果达到要求,一路next到完成,此时,网站右侧出现人物模型,任意选择一个动画,发现动画正常。这里,我们下载一个动画包作为例子,搜索magic,下载Pro Magic Pack。点击Download,弹出如下界面,在2017版前,Mixamo可以直接导出Unreal可以使用的fbx文件,2018年后,此功能被舍弃。这里直接选择fbx文件,后续文章会谈到导入ue4后怎么处理。


下载完毕,解压,得到一系列动画文件和原本的人物模型,此时的人物模型已经带有骨骼,如图。


第三步 导入Unreal4

先将人物模型导入unreal4,导入时,注意选择如下几项


选择Skeletal Mesh导入骨骼,但是Skeleton需选择无,表示根据模型骨骼生成,不要选用已有的骨骼(例如UE4的骨骼),否则会出现错误。

模型导入完毕后,接着导入动画,出现的选项如图,记得选择之前导入模型生成的骨骼,再import


自此,所有导入工作完成,将动画文件拖入进Level,可以正常播放,如图


但是,这里并不能使用UE4的动画包,或者从商场购买的动画包,接下来的文章,将探讨通过Mixamo导入的角色怎么使用UE4的动画包。

2014-08-27 13:29:20 Test_dx 阅读数 3122
  • 从这里开始虚幻4-Editor介绍 v4.18

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

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

方法一:

                1>选中官方实例资源右键---新建copy---修改名称后---确定

                2>选择创建的副本右键---export---FBX、Obj都可以

                3>MAX(尽量高版本) 导入刚刚的FBX或obj文件即可

方法二:

                 1>选中官方实例资源

                 2>拖放到场景视图中

                 3>选择场景中的物体选择菜单栏File---export---Select  only 导出即可

 

 

两种方式能达到输出官方实例模型资源的目的


2019-04-01 19:54:58 m0_37605956 阅读数 272
  • 从这里开始虚幻4-Editor介绍 v4.18

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

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

需要导入模型(如fbx类型)到工程中时,步骤参考:

  1. 将fbx文件copy至工程的目录文件中,
  2. 内容浏览器中导入该fbx文件,会生成.uasset文件,导入过程应该还会生成一个material文件
  3. 导入该模型对应的texture文件,包括color纹理和normal纹理,
  4. 打开material,在event graph里设置texture,color纹理对应基础颜色,normal纹理对应法线
  5. 把fbx文件的material设置为上面4中的material
  6. 新建一蓝图,添加对应的mesh,如robotkyle中对应的是skeletalmesh,然后再mesh中选择对应的骨架网格体,蓝图创建完毕

技巧:
7. 运行游戏后,按住alt键,移动鼠标可以模拟手柄。
8. 射线瞄准人物后为什么接收不到事件,看看是不是模型的collision没有选择"BlockAll"
9.

2017-02-12 18:15:52 shangguanwaner 阅读数 6684
  • 从这里开始虚幻4-Editor介绍 v4.18

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

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

Unreal Engine 4 动态切割模型实现

《合金装备:复仇》里面,有一个很有趣的设定,游戏里大部分的场景和物件都可以用主角的刀动态切割。
UE4中的ProceduralMeshComponent这个组件可以很容易的就实现这种功能,下面介绍下实现的方法。

准备模型

首先我们准备一个模型。
准备一个模型

我做了一个简单的圆柱体,用来测试。注意需要切割的地方,为了保证细节,多放点顶点。
为了能够动态切割,我们要勾选这个模型的Allow CPUAccess选项。
勾选AllowCPU Access

新建蓝图

新建一个Actor蓝图,为它添加两个组件,一个是StaticMeshComponent,一个是ProceduralMeshComponent,在Construct Script中,将StaticMesh的模型数据拷贝到ProceduralMesh中去。
拷贝模型数据

调整ProceduralMesh参数

出于优化的目的,ProceduralMeshComponent默认勾选了UseComplexAs SimpleCollision这个属性,为了实现我们切割下来的能正常的进行物理模拟,需要把这个属性给取消勾选。
这里写图片描述

实现切割

这里写图片描述
SliceProceduralMesh实现模型的切割。说下几个参数:
* PlanePosition是切割平面的位置
* PlaneNormal 是切割平面的法线,也就是朝向
* Create Other Half 切割下来的部分,是否创建新的ProceduralMesh
* Cap Option No Cap,切面不缝合,Create New Section For Cap; 缝合,使用自定义的材质来贴补缝合的面; Use Last Section for Cap,使用模型的材质来贴补缝合的面。
具体效果如下:
这里写图片描述

unreal4 源码引言

阅读数 256

Unreal里的动画

阅读数 1623

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