- 博客(17)
- 收藏
- 关注
原创 【学习】C++&UE Inverse Kinematics逆运动学骨骼计算
命名用CR开头(control Rig)此时我们打开网格体,系统已经帮我们设置好了IK定向,这样我们就只用计算脚底距地面的距离即可。打开CR文件,在左侧选择我们的网格体导入,现在我们需要计算两个脚底离地面的距离来实现骨骼的自然触地。我们需要设定双脚的位置、获取距地面距离、和盆骨离地面的距离计算。接下来我们要获取Z的偏移量,设定角色的脚可以平滑的移向目标。这个函数处理z轴的值,返回一个向量是Z轴的位置。首先我们要获取脚的下方的位置,我们只需要获取Z。并在右侧的控制绑定来选择我们刚刚创建好的IK。
2023-04-08 13:29:08
441
1
原创 【学习】C++&UE 动画C++类型实例
接下来在Cpp文件中定义它,因为是Override所以我们要用Super::来初始化。在左下角的设置中可以勾选来继承我们C++中声明的变量。在编写动画类型的C++时最好关闭引擎,容易报错。这是由于我们没有替换刚刚C++声明的变量和参数。就完成了整个动画在C++中的设置。创建一个动画类型的C++文件。在头文件中公开声明虚函数。全部替换后即可实现状态转换。在头文件公开两个函数。全部替换成我们的变量。
2023-04-07 16:10:29
463
原创 【学习】C++&UE 动画蓝图
我们把刚刚设定的浮点型地面速度拖进来用来获取速度,并拖入大于号来判定是否大于0,来传输到右侧的布尔值(CanEnterTransition)。可以看到具有百分比的参数,这个是动画蓝图的混合能力,使我们可以平滑的在两种状态下转换。点开idle放入动画,当我们进入Idle状态时,将自动播放那个动画。在UE中新建一个动画蓝图选定一个骨架用ABP为前缀命名。在ABP中新建变量对蓝图进行对象引用。状态机中的状态可以来回切换,我们来添加一个新状态。接下来,我们双击转换按键,打开我们的转换规则。在图表中新建一个状态机。
2023-04-06 23:27:54
1057
原创 【学习】C++&UE 用代码实现人物移动的面对方向正确
上个博客解决了相机和人物方向相同的问题。接下来学习怎么使用代码实现。把bOrientRotationToMovement设定为true。RotationRate用来设定旋转速度。在虚幻引擎文档中找到我们需要包含的文件。将头文件包含在里面。
2023-04-06 22:29:45
382
原创 【学习】C++&UE 创建一个角色类The Character Class
创建Character、设置前进后退、设置相机与弹簧臂、设置鼠标控制输入。
2023-04-06 19:24:47
536
原创 【学习】C++&UE 添加控制器输入 Adding Controller Input
作为一个控制器,需要控制读取操控旋转(Rotator)和位置(Location)。所以作为一个FRotator有自己的纵摇(Pitch)和横摇(Yaw and Roll),目前我们Pawn编辑器里已经有了控制器纵摇输入。在项目设置添加鼠标X轴(横向)和Y轴(纵向)映射,并反转Y轴。(轴映射是每一帧检查输入的,像Tick函数一样)。将声明的两个函数绑定到设置玩家输入组件中,使用轴结合BindAxis。接下来进行热重载即可(之前的蓝图需要删掉)。接下来看看如何在C++中实现这些操作。
2023-04-06 16:09:50
1215
原创 【学习】C++&UE 为Pawn创建胶囊碰撞组件(capsule component)
是因为我们没有包含带有capsule component的头文件,我们在文档中找到需要包含的头文件后复制粘贴在头文件中发现还是会报错。这是因为我们要在文件生成的头文件之前包含我们要引用的头文件,因此需要调换顺序。在(Private)中创建capsule component时我们输入会报错。但UE中是有SetRootComponent的可以直接替换,等于上图的式子。Cpp中创建一个新的子组件赋给Capsule指针。胶囊是变量,我们一般把变量储存在私有区域里面。在C++中设置胶囊宽高。
2023-04-05 19:39:21
1063
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人