当前位置: 首页 > news >正文

莱西做网站公司上海开艺设计集团有限公司

莱西做网站公司,上海开艺设计集团有限公司,安徽网站建设有限公司,wordpress开发前言 码上1024了#xff0c;给大家分享一个UE5的脚本小功能#xff0c;UE5中Sequence动态Key功能#xff0c;这样我们就可以根据我们的数据动态更新了#xff0c;非常实用#xff0c;适合刚入门或者小白#xff0c;接下来我就把整个过程分享给大家。 过程 新建一个工程…前言 码上1024了给大家分享一个UE5的脚本小功能UE5中Sequence动态Key功能这样我们就可以根据我们的数据动态更新了非常实用适合刚入门或者小白接下来我就把整个过程分享给大家。 过程 新建一个工程添加好我们自己的Map后在Edit -  Editor Preference中搜索Python对Enable Content Browser Integration 进行勾选在根目录Content中创建Python文件夹因为这一步是官方操作只有放在这个文件中的Python脚本才会显示在我们的工程中可以直接新建文本把我们后面的内容粘贴进去修改后缀为.py即可然后点击Tools - Execute Python Scipt 导入我们的python脚本就可以了导入完成后如果没看到我们的python脚本重启下工程。双击我们导入的脚本即可对其进行编辑和修改修改完直接保存即可整个脚本如下直接看注释就可以处理过程非常简单我们在使用的过程中检查好自己的json路径json名称以及Sequence路径即可。 #连接虚幻API库 import unreal,json,osdef JsonGetData(filename):# 读取/项目目录/JsonFile中的JSON文件数据存入json_dataroot_path unreal.SystemLibrary.get_project_directory() Content/SeqPlayerInfo/Json/final_path root_path filename .jsonfp open(final_path, r, encodingutf-8)json_str fp.read()json_data json.loads(json_str)unreal.log( INFO: Json Get OK )return json_datadef Seqcreate():#当前写入的dict_outnew1为我们的json名称json_path JsonGetData(dict_outnew1)# 获取资产工具asset_tools unreal.AssetToolsHelpers.get_asset_tools()# 在根内容文件夹中创建一个名为LevelSequenceName的关卡序列level_sequence unreal.AssetTools.create_asset(asset_tools, asset_namejson_path[seqname],package_path/Game/SeqPlayerInfo/LevelSequence/,asset_classunreal.LevelSequence,factoryunreal.LevelSequenceFactoryNew())# 创建一个帧率对象并设置为所需的fps数值frame_rate unreal.FrameRate(numeratorjson_path[frametime], denominator1)# 设置显示速率level_sequence.set_display_rate(frame_rate)# 将播放范围设置为20-200level_sequence.set_playback_start(json_path[starttimestamp])level_sequence.set_playback_end(json_path[endtimestamp])# 获取Actor子系统以抓取选定的Actoractor_system unreal.get_editor_subsystem(unreal.EditorActorSubsystem)# 获取选定的Actoractor actor_system.get_selected_level_actors()[0]# 将Actor作为可拥有物添加到关卡中actor_binding level_sequence.add_possessable(actor)# 刷新以直观地查看添加的新绑定unreal.LevelSequenceEditorBlueprintLibrary.refresh_current_level_sequence()# 使用绑定将轨迹添加到Sequencer由轨迹类型指定transform_track actor_binding.add_track(unreal.MovieScene3DTransformTrack)# 将分段添加到轨迹以便能够设置范围、参数或属性transform_section transform_track.add_section()transform_section.set_start_frame_seconds(json_path[starttimestamp])transform_section.set_end_frame_seconds(json_path[endtimestamp])# 获取位置的xyz通道channel_location_x transform_section.get_channels()[0]channel_location_y transform_section.get_channels()[1]channel_location_z transform_section.get_channels()[2]# 获取旋转xyz的关键帧channel_rotation_x transform_section.get_channels()[3]channel_rotation_y transform_section.get_channels()[4]channel_rotation_z transform_section.get_channels()[5]#获取Json数据 valueindexvalue为当前帧数links json_path[links]for index in range(0, len(links)):new_time0 unreal.FrameNumber(valueindex)channel_location_x.add_key(new_time0, float(links[index][location_x]), 0.0)channel_location_y.add_key(new_time0, float(links[index][location_y]), 0.0)channel_location_z.add_key(new_time0, float(links[index][location_z]), 0.0)channel_rotation_x.add_key(new_time0, float(links[index][rotation_x]), 0.0)channel_rotation_y.add_key(new_time0, float(links[index][rotation_y]), 0.0)channel_rotation_z.add_key(new_time0, float(links[index][rotation_z]), 0.0)unreal.EditorAssetLibrary.save_loaded_asset(level_sequence, False)# 刷新以直观地查看新增的轨迹和分段unreal.LevelSequenceEditorBlueprintLibrary.refresh_current_level_sequence()unreal.log( INFO: Seq Create Completed Please check the file)if __name__ __main__:Seqcreate()如果是没有json数据的情况下我们把link那部分换成静态数据即可 #value为当前帧数 new_time0 unreal.FrameNumber(value 0) channel_location_x.add_key(new_time0, 213, 0.0) channel_location_y.add_key(new_time0, 324, 0.0) channel_location_z.add_key(new_time0, 543, 0.0) channel_rotation_x.add_key(new_time0, 0, 0.0) channel_rotation_y.add_key(new_time0, 0, 0.0) channel_rotation_z.add_key(new_time0, 0, 0.0)new_time1 unreal.FrameNumber(value 1) channel_location_x.add_key(new_time1, 228, 0.0) channel_location_y.add_key(new_time1, 335, 0.0) channel_location_z.add_key(new_time1, 668, 0.0) channel_rotation_x.add_key(new_time1, 0, 0.0) channel_rotation_y.add_key(new_time1, 0, 0.0) channel_rotation_z.add_key(new_time1, 0, 0.0) Json格式如下也可以根据自己的需求修改 {starttimestamp: 0, //起始帧endtimestamp: 2, //总帧数目前就两组数据就是两帧seqname: VideoPlayerSeq,links: [{location_x: -213,location_y: -213,location_z: -213,rotation_x: 0,rotation_y: 0,rotation_z: 0},{location_x: -213,location_y: -213,location_z: -213,rotation_x: 0,rotation_y: 0,rotation_z: 0} } 修改以及保存后在Outliner中先点击我们场景中要Key帧的物体UE 鼠标右键点击导入的脚本点击Run即可运行我们的脚本我们在路径下查看Sequence是否被创建如果未在我们的路径下检测到创建的Sequence在脚本中检查自己的Sequence路径和输出中查看报错信息 结语 这样我们就可以通过ython脚本自动给我们想要的物体根据数据添加关键帧了。
http://www.w-s-a.com/news/557098/

相关文章:

  • 电子商务建设与网站规划wordpress linux安装
  • wordpress新手建站win8网站模版
  • 网站的简单布局孝感 商务 网站建设
  • 湖北手机版建站系统价格优化网站内容
  • 网站后台登录不显示验证码软文发布网站
  • 企业微网站建设方案收费的网站如何免费
  • 平昌县建设局网站中国500强企业有哪些
  • 网站开发制作的流程是什么网页打不开显示不安全怎么办
  • 网络网站开发设计安徽建设工程信息网怎么打不开了
  • 百度网站推广申请深圳公众号制作
  • 百度站长怎么做网站维护中国深圳航空公司官网
  • xampp安装网站模板海南一家天涯社区
  • 网站建设 管理系统开发仿租号网站源码网站开发
  • 怎么自己弄网站免费网站设计用什么软件
  • 网站分几种access做网站数据方法
  • 网站默认图片s001网站建设公司
  • 淘宝的电子商务网站的建设东莞哪里有网站制作公司
  • 西安网站制作怎么联系wordpress登陆界面打开慢
  • 高端工作网站网站推广seo代理
  • 一般找素材都是做哪几个网站呢推广引流工具
  • 必须做网站等级保护html网页设计题库
  • 移动端网站开发 float手机在线建网站
  • 教育网站模板下载做汽车网站开题报告的意义
  • 网站首页做后台链接昌平网站制作
  • 营销型门户网站建设浏览器下载免费大全
  • 快三网站开发推广普通话手抄报内容50字
  • 沈阳专业做网站开发公司asp网站搭建教程
  • 网站建设代码福州小程序开发平台
  • 了解做房产广告的网站手机版官方网站的建设
  • 如何与别的网站做友情链接做网站排名大概要多少钱