前言:
笔者目前在校本科大三,目标方向是人工智能、计算机视觉。上一个OpenCV学习笔记专栏已完结,在学习完OpenCV后,我继续学习C++,并用纯C++做UE4项目的方式继续提升自己的水平。
梁迪老师的水平非常高,他的课程本来也无需笔记:课程本身即为最好的笔记。但由于我天赋有限,还是边看边记,以防遗忘——知识点太多,步骤太繁杂了。在学习过程中,我也偶有思考,思索为什么某个方法老师要这样做。所以,一是为了记录,二是为了分享,才有了这个专栏。
内容方面,由于我在开启这个专栏时,此项目已经做完很多了。所以,前期的一些大篇幅叙述的知识,可能在后期应用中一带而过。以及,前期的一些知识,后期会重新剖析,并加上我的个人理解。
另外,若有学术交流/学业交流意愿,可以邮件联系1246210283@qq.com,希望一齐进步。
本篇学习内容:
34.右手插槽
35.手上物品切换
36.动作切换
34.右手插槽
(1)在Character中定义一个变量
//手上物品
UPROPERTY(VisibleDefaultsOnly, Category = "SlAi")
class UChildActorComponent* HandObject;//可以绑定一个Actor在这个Character里
(2)绑定模型
//实例化手上物品(构造函数中)
HandObject = CreateDefaultSubobject<UChildActorComponent>(TEXT("HandObject")); //接下来将其绑定到骨骼的手上
//把手持物品组件绑定到第三人称模型,绑定规则:贴附到目标但不包括大小变换(BeginPlay函数中)
HandObject->AttachToComponent(GetMesh(), FAttachmentTransformRules::SnapToTargetNotIncludingScale, FName("RHSocket"));
(3)创建HandObject类和8个物品对应的子类,继承自HandObject
(4)先在HandObject中做一些准备工作
ASlAiHandObject::ASlAiHandObject()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
//实例化根组件
RootScene = CreateDefaultSubobject<USceneComponent>(TEXT("RootScene"));
RootComponent = RootScene;
//创建静态模型组件
BaseMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("BaseMesh"))

最低0.47元/天 解锁文章
2230

被折叠的 条评论
为什么被折叠?



