UE4.21前的版本采用的是NVIDIA的PhysX做为其默认的物理引擎,用于计算3D世界的碰撞查询与物理模拟.自4.21版本开始改物理调用接口,但这并不是闲来重构代码,果然在2019GDC大会上放出了正在自建Chaos物理系统的消息,从4.22预览版中已经可以看到相关代码,官方预计4.23就可以开始使用,还是值得期待的. 最近打算重点研究下物理系统,知乎上已经有相当不错的研究报告了,强烈推荐看的是: Jerish:<Exploring in UE4>物理模块浅析[原理分析]​zhuanlan…
在前文中介绍了什么是物理以及如何在UE4和PhysX中进行可视化调试: Jerry:UE4物理模块(一)---概述与可视化调试​zhuanlan.zhihu.com 这里调试只谈到了碰撞盒(后续还会有场景查询等调试介绍),那么如何创建物体的碰撞盒呢? 碰撞既可以在3D Max中创建成.fbx文件然后导入UE4,也可以用UE4内建的模型工具进行生成.我们以示例场景中摆在桌上的雕塑为例,选中后,双击右侧Static Mesh图片就可以打开模型编辑器了,如下图: 在上面工具栏里面有一个Collisio…
在上一文中介绍了碰撞查询的配置方法: Jerry:UE4物理模块(三)---碰撞查询(上)​zhuanlan.zhihu.com 本篇介绍下UE4的各种零大小的射线检测,以及非零大小(带体积)的射线检测(如球,胶囊体,盒子),对应于PhysX的Raycast和Sweep. 先看下演示实例: UE4总共支持四种类型的Trace,从外到里依次是LineTrace,SphereTrace,CapsuleTrace和BoxTrace,性能代价也是依次增加的.除了SingleLineTrace的版本,还有…
在前一文中介绍了如何在UE4中创建简单碰撞或者直接使用其mesh表示的复杂碰撞: Jerry:UE4物理模块(二)---建立物体碰撞​zhuanlan.zhihu.com 那么在拿到碰撞之后,就可以进行物理运算,主要是碰撞查询和物理仿真,这里先介绍更为常见的碰撞查询. 最为直观的碰撞查询就是人物的移动物理了,你所控制的人物不掉落地板之外或者碰到障碍物就被阻挡,这其实是碰撞查询在背后起作用,如下动图: 我们也可以让人物直接穿过盒子,如下: 人物的移动物理本身是一块非常多的内容,我在文末会给出一些不…
前言: 很久前,我发过两篇文章,分别介绍自定义代码版和可视化调试: 1:Visual Studio 小技巧:自定义代码片断 2:自定义可视化调试工具(Microsoft.VisualStudio.DebuggerVisualizers) 具体可以用两张图来表示: 1:自定义代码片断: 2:可视化调试工具: 问题来源: 某次,我发现自己的可视化调试的类库有点旧,想更新一下,却发现: 电脑上安装了VS2005.VS2008.Vs2012几个版本的VS,要到处打开路径,复制,粘贴,很烦. 复制完还得测…
直接上代码,引用CommTools.dll.包括aspx显示页面和aspx.cs获取反射数据源代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CommTools; namespace WebAppReflector { public partial c…
当我们用VC\C#调试halcon代码的时候,通常会遇到一个头痛的问题,我们无法看到halcon变量的调试信息 如下图:什么鬼...什么鬼   比如我们想看一个double数值变量,我们需要 double score = htScore.D() 或者当我们想看一个image.region的中间处理结果时,我们需要存文件或者输出到窗口中 如此的繁琐以至于大大降低了开发效率.   然而这些烦恼在halcon12中得到了解决! halcon12新特性:支持Visual Studio 的可视化调试插件.…
这部分内容是非常重要的,分模块的基本概念和一些常用模块的使用,其实常用模块使用这部分也不是太全面,后续或者有机会再通过其他材料进行讲解. 1. 模块的概述: 目前代码比较少,写在一个文件中还体现不出什么缺点,但是随着代码量的越来越多,代码越来越难以维护了.为了解决难以维护的问题,我们把很多相似功能的函数进行分组,分别放到不同的文件中.这样每个文件中所包含的内容相对较少,而且对于每一个文件的大致功能用文件名来体现.很多变成语言都是这么来组织代码结构的.因此:一个.py文件就是一个模块.其实很多材料…
本文摘录<嵌入式Linux驱动模板简洁和工程实践>一本书"开发和调试技术". Linux强大的是,有那么多的开源项目可以使用.通常非常需要可以通过寻找相关的源模块被定义为高速的解决方案.使这些开源模块的嵌入.对开源项目进行交叉编译. 依据详细情况.下载的开源项目在组织上有非常多情况,在此对各种情况进行归类介绍. 1. 下载的开源软件包找不到Makefile 对于这样的开源包一般是採用configure的方式组织的,那么第一步就是使用软件包中的configure生成Makef…
基本 物理资源随骨骼创建,可添加到骨骼网格上. 物理材质可添加到材质或组件或物理资源上. 通过配置PrimitiveComponent组件的Collision Presets值,可实现自定义的碰撞忽略.重叠.阻档效果,碰撞分射线碰撞.对象碰撞2种. Collision Presets 分查询碰撞和物理碰撞,查询碰撞被 TraceByChannel 使用. Project Setting的Collision可用于自定义Collision Presets,有NewobjectChannel,NewT…