Jump to content

Search the Community

Showing results for tags 'ue4'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 2 results

  1. 打开UE4,点击左上角文件>然后点击新建C++类 添加一个蓝图函数库 起一个名字,类型改成公共,让其他可访问 等待打开VS2019 在右侧我们可以看见刚刚建立的文件,点展开Source里面就可以看见你自己建立的函数库,有2个,一个是头文件,即为.h主要工作是暴露接口给UE蓝图用, 另一个为.cpp 是我们主要实现业务逻辑的地方 比如我的是MyBlueprintFunctionLibrary.h和MyBlueprintFunctionLibrary.cpp 首先打开MyBlueprintFunctionLibrary.h 声明一个方法 UFUNCTION(BlueprintCallable表示蓝图可使用, Category = "就是你右击面板的时候显示在哪一个分组", meta = (DeterminesOutputType = "是什么类型的" )) 然后给了一个静态修饰,值得注意的是,UE里面每一个类型开头都是大写的,假如Actor 类型前面就要加A,例如AActor, 假如你的函数蓝图是 MyBlueprintFunctionLibrary 前面就要加 U 即为UMyBlueprintFunctionLibrary 这些是千万要注意的! 好了,这里给这个函数起名为CloneActor,输入类型是Actor 返回类型也是Actor,这时候会看见CloneActor函数报错,那是因为我们没有实现它,现在打开MyBlueprintFunctionLibrar.cpp 实现功能 UFUNCTION(BlueprintCallable, Category = "ActorFuncions", meta = (DeterminesOutputType = "InputActor")) static AActor* CloneActor(AActor* InputActor); /// <summary> /// 克隆actor /// </summary> /// <param name="InputActor"></param> /// <returns></returns> AActor* UMyBlueprintFunctionLibrar::CloneActor(AActor* InputActor) // 注意: 在库名称前加一个U,前面说了的 { UWorld* World = InputActor->GetWorld();//获取世界主要用来调用 SpawnActor 函数,因为SpawnActor是动态的,在世界中生成的动态actor FActorSpawnParameters params;//传递给 SpawnActor 函数的可选参数的结构 params.Template = InputActor;//把原来的actor参数拷贝起来 UClass* ItemClass = InputActor->GetClass();//获取原来的actor的类型 AActor* const SpawnedActor = World->SpawnActor<AActor>(ItemClass, params);//生成一个新的Actor 并且把参数给加上 return SpawnedActor;//返回新的actor } 点击编译 等待编译完成 如果你编译出错,请检查,没有问题出现莫名其妙的问题,点文件刷新Visual Studio项目试试或者请重启项目,再不行直接重建,我也不知道为什么有时候没问题就是死活无法编译 保存后,在蓝图里右击调用 至此,使用C++制作一个蓝图函数库教程完成!
  2. 1.骨骼蒙皮绑定 先导入一个模型,删除自带的骨骼(这是为了使用UE4的小白人骨骼,方便重定向骨骼到小白人身上,如果你不是为了UE引擎,可以不这么做)。 移动到右侧面板,找到单位, 缩放单位输入0.01, 这是为了保持和UE4人物大小一致 点击条目, 在尺寸处可查看模型大小, Z轴表示高度, 按住S加鼠标移动 拉伸为正常人体高度,例如1.63,这是为了避免一些问题 然后ctrl+A 应用全部变换 右侧面板添加人形骨骼 Human 切换到物体模式,选中模型 点击Get Sekected Smart>Full Body 现在,开始添加头部骨骼节点与脖子,点击Add Neck/Add Shoulders,然后在模型位置左键添加 按照方式,添加头 ,脖子,手臂,手腕,臀部,脚部,点击GO! 开始生成骨骼,等待一会 骨骼已生成,在这里如果骨骼位置不对,你可以调整一下 效果例子: 然后点击Match to Rig,来匹配蒙皮位置 自动摆正蒙皮 效果例子: 现在开始把蒙皮和模型绑定,切换到物体模式,按住shift多选,选中模型与蒙皮,点击右侧 蒙皮 按钮,其他设置不用管, 直接点击 Bind,稍等一会儿 绑定好了,切换到姿态模式,试试现在的姿态是否存在问题(点击一个位置按 R 可以调整姿态) 成果预览: 看起来没问题,现在把调动的姿态还原到最初的姿态 2.自动权重 由于我把原先的模型骨骼删除了,现在没有模型权重,下面开始附加自动权重,但是会遇到问题 典型的问题就是独立的物体导致姿态移动时候有一些面在原地不动,撕裂等各种奇葩问题... 我们可以进行拆分再刷权重,然后合并 进入编辑模式 按 P 选择按松散块 在右侧场景集合可以看见,都变成一个小块了 然后加入物体模式,按 A 全选 然后按Ctrl+ P 选择附带自动权重 现在进入姿态模式,调整姿态查看权重效果,但是已经解决大部分问题,当然还是会有局部的各种物体有问题,这时候小问题就需要你自己手动再刷有问题的地方权重了 现在我可以合并块,为一个整体,全选 按Ctrl+J 合并块 现在已经是一个整体了 到此,模型骨骼,蒙皮,权重都已完成,如果导出为UE4的,下面继续! 3.导出为UE4骨骼模型 为了能成功的将模型骨骼重定向到UE4官方小白人骨骼上,我们导出的模型骨骼名称对应官方 找到右侧面板的 Auto-Rig Pro:Export 点击展开 选择要导出的物体,直接按 A 全选 然后再点击 Check Rig 检查一下,然后点击Fix Rig 修正一下 然后点击 Export FBX 按钮 ,导出模型为FBX格式 选择 Unreal Engine Humanoid 勾上下面两个 点击杂项 ,选择面 然后点击 Auto-Rig Pro FBX Export 导出模型 4.UE4模型导入骨骼重定向 导入我们刚刚Blender导出的模型 打开骨骼,我们选择骨骼查看,我们可以看见骨骼名称与UE4官方小白人一致 左侧骨骼树也一模一样 现在我们骨骼直接替换,重定向到官方小白人的骨骼上。 右击骨骼网格体,选择骨骼,选择指定骨骼 指定官方骨骼。UE4_Mannequin_Skeleton 下边左侧是你模型的骨骼名称,右侧是你要指定,也就是重定向到的骨骼名称,因为我们是一直的名称,所以 不需要调整,直接确定 到此,全部工作已经做完! 我也是研究了很久,还是有权重问题,使用蓝图模型会乱,我还得研究研究,研究出来了再发!
×
×
  • Create New...