虚幻4入门(设置游戏物体的位置,代码施加力和力矩,碰撞)

虚幻4入门

设置游戏物体的位置

  • 一种是在视口托取,一种是在属性面板编辑,这俩中很粗暴就不演示了
  • 还有就是在C++类里使用代码进行控制,这边要使用一个SetActorLocation(FVector a)的函数,这个函数的参数就是要设置的三维坐标位置。
  • AddActorLocalOffeset(FVector a); :这个函数是给坐标加上一个三维向量

代码施加力和力矩

  • 头文件:在.cpp文件中引入Components/StaticMeshComponent.h
  • UStaticMeshComponent->AddForce(FVctor Force,FName BoneName,bool bAccolChange) :这个函数是添加力的函数,调用UStaticMeshComponent型对象所指向的该函数,可以为其添加Force的力,BoneName是指当前里所作用的骨骼,默认为NAME_None, bAccolChange是指当前力是否直接作用为加速度(跳过与质量进行运算的环节),默认为false.
  • AddTorque :这个函数详情与上一个类似,是添加力矩的。

碰撞

碰撞体物理碰撞
  • 这是虚幻引擎俩大碰撞方法的其中一种,为物体加上碰撞体(可以在材质编辑器中编辑具体的碰撞体),在属性编辑面板的Pyhsics项下勾选第一项(启用模拟物理),这样俩个有碰撞体的物体撞到一起就会模拟物理碰撞了。
扫描碰撞
  • 这是另一种检测碰撞的方式,当你不使用力来移动物体,而是直接每一帧调用AddActorLocalOffeset(FVector a);方法来对物体的位置进行改变时,你可以考虑该方法的第二个参数,bool bSweep,这个布尔型的参数是指是否启用扫描,扫描你游戏物体即将经过的路径,当前面有遮挡的时候,就会在遮挡的位置停下来。
碰撞细调
  • 在属性编辑器里找到Collision并将其Collision Presets项选择成Custom如下图
    碰撞矩阵
  • 其之后会显示这样的一个碰撞详细调节的区块
    在这里插入图片描述
  • Collision Enabled是选择开启查询和物理的,可以选择单开,多开,不开。这里的查询是查找是在路径上是否会有碰撞,但并不真正的发生碰撞
  • Object Type是选择当前物体的类型,对应后面的物体响应使用
  • 截图中央的大矩阵,其三列分别为:忽略(不做任何碰撞操作),重叠(生成重叠检测,检测是否有物体与之重叠,但不会阻挡物体),阻挡(真真切切的碰撞,真真切切的阻挡)。ColliSion Responses:是对所有项都做一个改变。 Object Responses:是对每种物体调节不同的碰撞响应。
HitResult
  • 这个东西是在碰撞检测到之后会返回的一个对象,AddActorLocalOffset的第三个参数可以填为HitResult的引用,这样在使用AddActorLocalOffset进行移动时一但检测到碰撞就会对该引用返回一个HitResult的对象。
  • 该对象可以通过调用其中的Location来得知碰撞的具体位置。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值