In general, there are 3 ways we can work with the Blender-UE4 pipeline:   1 Model character Export model Upload to Mixamo for auto rigging Export FBX -> Import to UE4 -> Retarget Anim 2 Download default UE4 Character blender file Update mesh Adjust…
Gesture Drawing with Alex Woo Gesture Drawing with Alex Woo and Louis Gonzales http://eisneim.com/?page_id=1271 ------------------------------Animation------------------------------Basics Animation 03 Drawing for Animation (基础动画03绘图动画电子书)http://www.9…
前言 当可以把MagicaVoxel的静态模型导入到UE4后,我又开始不满足了.默认第三人称蓝图的"汽车碰撞人偶(雾)"与场景中的体素画风格格不入,于是,我便想着用自己建造的体素画风人物创建一个第三人称蓝图,于是我又再次进行了尝试(谁叫UE4的MarketPlace里面没有像Unity那样友好的插件呢). 在开始之前,先说明一下我使用的工具:MagicaVoxel,Maya2018(其实我也不想用,但是某些骨骼处理上还是Maya具有很强的优势.Blender应该也可以,不过我并没有找到…
UE4 基础,但是不经常用总是忘记,做个笔记加深记忆: 图方便就随便贴一个项目中的STRUCT和 Enum 的.h 文件 Note:虽然USTRUCT可以定义函数,但是不能加UFUNCTION 标签喔 USTRUCT(BlueprintType) struct FData_PageInfo { GENERATED_USTRUCT_BODY() FData_PageInfo(); FData_PageInfo(UChildActorComponent *parent_Com); void reIn…
Note:旧版本的UE4 的Attach 和12.13版本有些不一样 创建Component: UCpp_MyComponent* temp_imageCom = NewObject<UCpp_MyComponent>(this, UCpp_MyComponent::StaticClass()); temp_imageCom->RegisterComponent(); temp_imageCom->AttachToComponent(pParentComponent, FAttac…
Note:不知道为什么通过Txt读取的JsonString,如果TXT 不是ANSI编码的话,会报JsonArrayStringToUStruct  Unable to parse. bool UWgtCpp_BaseMain::Http_readSortList() { auto temp_request = UNetAPI::createRequst(TEXT("http://localhost:59754/StudentService.svc/GetStudentList"),…
截至UE4  4.10 runtime 无法生成BSP类 ,只能通过自定义的Mesh的Vertex 进行绘制 ( Google 考证,能改UE4源码的请忽略 ) 可用到的 UE4 集成的Render Plugins : CustomMeshComponent ProceduralMeshComponent 以下是参考 参考文献: https://wiki.unrealengine.com/Procedural_Mesh_Generation https://answers.unrealengin…
Project Tango应该说是Google一试水AR的设备,其中Project Tango主要二个功能,一个是获取深度信息,如MS的Kinect,有相当多的设备都有这个功能,二是第一人称相对定位,这个就没那么常见了,如果对这个设备有更深的兴趣,可以看知乎上的这二个链接. Google Project Tango获取深度信息的原理是什么? Project tango是如何仅凭自身摄像头实现位置追踪的? 在这就不仔细来说这个东东了,上面二个链接比我自己再来说篇好多了,Project Tango本…
翻译原文为Unreal 的官方!自己看着总结了一下,不一定每条都能对上.不足之处,请多多不吝赐教! 原文地址:  unreal CodingStandard UE4编码规范 在Epic,有简单几条代码编写标准: l 代码生命的80%时间在于维修 l 没有一个软件在整个过程中仅仅有原作者在维护 l 编码规范能够提供软件可读性,新手可迅速透彻理解代码.新的project师来会建立新的project改动代码. l 若对社区开发人员放出源代码,希望代码易于理解. l 须要满足交叉编译. 命名规范 l 首…
记的上次看过UniRx里的源代码,说是参考微软的响应式编程框架,响应式编程里的一些理论不细说,只单说UniRx里的事件流里的事件压入与执行,与UE4的渲染线程设计有很多相同之处,如果有了解响应式编程相关源码如UniRx,应该对UE4的渲染线程流程容易理解. 在这先说下UniRx相应事件流的处理,让不了解的同学大致有点印象,如当前线程计划,一般首先有个队列,在相应事件响应后,把相应处理方法填充到队列中,另一边则在队列里,根据先进先出的原则,不断执行队列里的方法.说起来比较简单,主要是这里只拿出Un…
Zego即构是一家做直播的服务商,Zego即构自己的房间列表,本文只是测试功能用,相应代码并没完全测试,请选择性参考. 我们在UE4中来实现一下,我感觉这个过程有点意思,UE4中C++与蓝图和UI的互相通信基本全部用到了. Zego即构没有专门的UE4插件,所以我们主要逻辑全部在C++中,蓝图只是辅助. 首先,我们定义一个房间结构,因为要想UE4中C++和蓝图可见可用,我们要用C++实现,并实现特定的写法让蓝图知道. USTRUCT(BlueprintType) struct FRoomBlue…
UE4自带一个XmlParser,可以很方便的实现Xml的读写. 1,在PublicDependencyModuleNames.AddRange中添加XmlParser. 2,include XmlParser.h 读写操作封装在了xmlobject  需要根据需求增加 修改 xmlobject.h // Fill out your copyright notice in the Description page of Project Settings. #pragma once #includ…
本文主要讲实现过程的一些坑. 先说下要实现的目标,主要功能在UE4/Unity中都要用,能同时捕获多个摄像头,并且捕获的图片要达到1080p25桢上,并且需要经过复杂的图片处理后丢给UE4/Unity3D,并且要CPU要占用小,以便在UE4/Unity有大的余地做更多的事件. 市面上一般1080p后的摄像头,在20桢以上都不会提供原生的rgba32数据,一般常见的有压缩格式mjpg,末压缩的一般是nv12,牛点的会提供yuv2,正常的实现会把内存流里的数据提供给对应的UE4/Unity3D,然后…
大家可能发现一些大佬讲UE4,首先都会讲类型系统,知道UE4会根据宏标记生成一些特定的内容,UE4几乎所有高级功能都离不开这些内容,一般来说,我们不会直接去使用它. 今天这个Demo内容希望能加深大家的理解,为什么有这个东东了,主要是由于我们产品需要很多根据环境调整的参数,我们需要提供很多UI,一个结构包含五六个参数,对应的参数与UI绑定事件,东东很简单,但是太多了,一多就容易出事,参数结构又在调整,然后就乱了. 参考UE4本身编辑器根据对应结构自动生成UI,UI的更改能更新到对象上,以及JSO…
背景 在上篇中,实现了使用Houdini在UE4里根据地形过程生成植被的最基本的原型.并且支持把植被在UE4里Bake成使用的HierarchicalInstancedStaticMeshComponent的BP形式,一定程度上解决了植被渲染效率的问题.   但这种方法在开发效率和运行效率上都还有他的问题: 开发效率方面,这个方案并不支持UE4的Foliage Mode Editor: 每个植被区域都被Bake成BP的形式,场景美术规划阶段就需要格外小心防止区域之间穿插造成植被之间的叠加 当出现…
篇写的是关于UE4的C++方面的小技巧: 1.在构造函数里 //构建组件 RootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("RootComponent")); Camera = CreateDefaultSubobject<UCameraComponent>(TEXT("Camera")); //把组件放到其它组件下 VRCamera->SetupAttachme…
一.创建一个专门用来做缩略图的角色CameraCharacter,不需要实体模型. 二.Auto Possess Player设置为“Player 0” 三.重力比例改成0(这样在天上的时候就不会往下掉) 四.照相机朝下,相机采用正交投影,并根据地图大小设置一个合适的Ortho Width值(正交宽度.Ortho:Orthographic正交的缩写) 五.删除默认添加到关卡中的角色,把上一步创建的角色放进来. 六.关卡的世界设置中,Default Pawn Class设置为CameraChara…
转自:http://blog.ch-wind.com/ue4%E5%8A%A8%E7%94%BB%E5%8A%9F%E8%83%BD%E6%95%B4%E7%90%86/ 工欲善其事必先利其器,最近一段开始了对UE4动画功能的系统性整理和学习.好在现在UE4的文档中文化已经开始了,有的文档是中文的,读起来也轻松很多. 当前使用的UE4版本为4.6.1. AnimBlueprints 动画蓝图分为通常的事件图表和专有的动画蓝图两种,其中动画蓝图主要负责通过读取到的变量进行相应的动画播放.事件图表则…
施主分享随缘,评论随心,@author:白袍小道 小道暗语: 1.因为小道这里博客目录没自己整,暂时就用随笔目录结构,所以二级目录那啥就忽略了.标题格式大致都是(原or转) 二级目录 (标题) 2.因为所看和以前记录太过杂乱,所以只能手动一点点搬移(回忆,整理).欢迎讨论,知识和能力总是被问出来了不是(嘿嘿,这样才能成长), 若有不对别喷就好哈哈. 引言: 文章四方面包括了从游戏线程.渲染线程.GPU.内存等的优化,提升游戏技术底子. 原作者:王祢,Epic Games 资深开发者技术支持,管理…
https://docs.unrealengine.com/latest/CHN/Programming/Introduction/index.html UE4 中的 C++ 编程介绍 Unreal Engine 4.9 虚幻 C++ 妙不可言! 此指南讲述如何在虚幻引擎中编写 C++ 代码.不必担心,虚幻引擎中的 C++ 编程乐趣十足,上手完全不难!我们可以将虚幻 C++ 视为"辅助 C++",因为诸多功能使 C++ 的使用变得十分简单. 阅读此指南的前提是您需要熟悉 C++ 或其他…
UE4中的delegate(委托)常用于解耦不同对象之间的关联:委托的触发者不与监听者有直接关联,两者通过委托对象间接地建立联系 监听者通过将响应函数绑定到委托上,使得委托触发时立即收到通知,并进行相关逻辑处理 委托,又称代理,本质是一个特殊类的对象,它内部可以储存(一个或多个)函数指针.调用参数和返回值 委托的作用如同函数指针,但它更安全(支持编译期类型检查),而且更易于使用 UE4在DelegateCombinations.h提供了一些宏来方便开发者快速来自定义一个delegate类型 大致…
1. 源代码 AsyncWork.h 2. 多线程的使用 参考文档:https://wiki.unrealengine.com/Using_AsyncTasks 当我们需要执行一个需要很长时间的任务时,放在主线程里会导致很卡,把此任务放到其他线程里则会好很多,此时多线程就可以起到关键的作用了. 在UE4里,我们可以使用FAsyncTask 或者FAutoDeleteAsyncTask. 使用FAsyncTask 时,我们需要手动停止或删除任务:使用FAutoDeleteAsyncTask时,系统…
转自:https://dawnarc.com/2018/05/ue4animationik-related/ Examples 工程1 在油管上看到一个UE4 IK动画的demo工程示例 该示例作者的主页:https://www.patreon.com/unrealcg 演示视频:Advanced foot IK for Unreal Engine 4 - (100% Free)https://www.youtube.com/watch?v=XetC9ivIXFc demo工程下载地址(4.19…
完全可行,速度很快,智能提示.代码格式化.查找Symbol等等都不比VS+Visual AssistX 差. 准备 打开编辑器的Editor Preferences>Source Code,选择VSCode 在工程的uproject文件上右键>Generate Visual Studio Project,就会生成一个workspace文件,双击即可打开visual studio code. 同时生成的还有一个.vscode文件夹. 配置VSCode VSCode需要的插件网上众说纷纭,实际证明…
在前文中介绍了什么是物理以及如何在UE4和PhysX中进行可视化调试: Jerry:UE4物理模块(一)---概述与可视化调试​zhuanlan.zhihu.com 这里调试只谈到了碰撞盒(后续还会有场景查询等调试介绍),那么如何创建物体的碰撞盒呢? 碰撞既可以在3D Max中创建成.fbx文件然后导入UE4,也可以用UE4内建的模型工具进行生成.我们以示例场景中摆在桌上的雕塑为例,选中后,双击右侧Static Mesh图片就可以打开模型编辑器了,如下图: 在上面工具栏里面有一个Collisio…
转:https://blog.csdn.net/XIAOZHI0999/article/details/80785570 本文讨论C#同ue4进行通信,出现的中文乱码情况,其他语言类似. 本文分两种情况讨论, 1.C#向ue4发送string 在C#发送string时,要先区分发送的字符串中是否包含中文,判断方法很简单,如下: private bool IsPureAnsi(string str) { for (int i = 0; i < str.Length; ++i) { if ((int…
总览 在这部分的课程中,我们将专注于使用光线追踪来渲染图像.在光线追踪中最重要的操作之一就是找到光线与物体的交点.一旦找到光线与物体的交点,就可以执行着色并返回像素颜色. 在这次作业中,我们要实现两个部分: 光线的生成 光线与三角的相交. 本次代码框架的工作流程为: 从main 函数开始.我们定义场景的参数,添加物体(球体或三角形)到场景中,并设置其材质,然后将光源添加到场景中. 调用Render(scene) 函数.在遍历所有像素的循环里,生成对应的光线并将返回的颜色保存在帧缓冲区(frame…
总览 在上次作业中,虽然我们在屏幕上画出一个线框三角形,但这看起来并不是那么的有趣.所以这一次我们继续推进一步--在屏幕上画出一个实心三角形,换言之,栅格化一个三角形.上一次作业中,在视口变化之后,我们调用了函数rasterize_wireframe(const Triangle& t). 但这一次,你需要自己填写并调用函数 rasterize_triangle(const Triangle& t).该函数的内部工作流程如下: 创建三角形的2 维bounding box. 遍历此bound…
概述 定义 Subsystems 是一套可以定义.自动实例化和释放的类的框架.可以将其理解为 GamePlay 级别的 Component 不支持网络赋值 4.22开始引入,4.24完善.(可以移植源码到更早之前的版本使用.源码在手,为所欲为) 五类 Subsystems 及其生命周期 UEngineSubsystem(继承自 UDynamicSubsystem,UDynamicSubsystem继承自 USubsystem) UEngine* GEngine 代表引擎,数量1. Editor或…
概述 TArray 是UE4中最常用的容器类.其速度快.内存消耗小.安全性高. 其设计时未考虑扩展问题,因此建议在实际操作中勿使用 新建(new) 和 删除(delete) 创建或销毁 TArray 实例 TArray元素为数值类型时,被销毁时其中的元素也将被销毁.若在另一TArray中创建TArray变量,其元素将复制到新变量中,且不会共享状态. 创建 TArray<int32> IntArray; 添加元素 init 填充多个相同值 IntArray.Init(10, 5); //==&g…