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

企业网站建设 邮箱号号网站开发

企业网站建设 邮箱,号号网站开发,微网站开发工具,wordpress个人淘宝客写在前面 Pawn继承于Actor#xff0c;增加了一些用于控制和提供玩家视角的功能#xff0c;这里主要是介绍一下Pawn类的实现。 一、创建一个Pawn的C类 创建的C类也是放在Source文件夹中的Public和Private文件夹中#xff1b;选择Pawn作为继承的父类#xff1b;头文件中除…写在前面 Pawn继承于Actor增加了一些用于控制和提供玩家视角的功能这里主要是介绍一下Pawn类的实现。 一、创建一个Pawn的C类 创建的C类也是放在Source文件夹中的Public和Private文件夹中选择Pawn作为继承的父类头文件中除了Actor的函数外仅额外增加了一个负责设置玩家输入组件的函数SetupPlayerInputComponent()如下 在.cpp文件中也默认实现了SetupPlayerInputComponent()函数如下 二、增加摄像机组件 摄像机相当于是提供了一个玩家视角它绑定在Pawn上之后玩家视角就能随着Pawn移动而移动头文件实现如下 并在.cpp文件中把摄像机组件挂载到根组件上实现如下 一些补充如下 1. StaticMesh的网格体形状可以预先设置 代码实现如下 一些注意的点如下 首先要用MeshComponentAsset变量尝试加载资源如果能加载则将资源赋予网格体资源的路径可以通过右键资源-复制引用获得如下 2. 摄像机组件可以和弹簧臂组件组合使用 当然直接将摄像机固定在Pawn的某个位置也是可以的但这样视角移动就会很生硬在启动和停止时没有过渡动画的效果实现就是上面那样但如果使用弹簧臂连接摄像机和Pawn则视角移动更为自然这也是常用的做法首先在头文件中增加弹簧臂组件如下 然后在构造函数中设置弹簧臂并将摄像机挂载到弹簧臂上如下 一些注意的点如下 弹簧臂是挂载在根组件上摄像机是挂载在弹簧臂的预设插槽Socket上弹簧臂的倾斜角度和长度取决于摄像机想要放置的位置 3. 可以用某个组件代替默认的根组件 默认的根组件只是用于占位本身并没有作用因此可以用别的有实际作用的组件替换掉这里用一个隐藏的更大的球形组件注意不是球型静态网格组件替换根组件并设置为不可见头文件实现如下 构造函数中实现如下 三、创建一个Pawn的蓝图类 Pawn类和Actor类不同它的很多功能需要用蓝图类辅助实现当然完全用C也可以但会很麻烦而且不直观相当于是用文字描述图片了所以一般是要新建一个和Pawn类对应的蓝图类作进一步开发由C创建的蓝图类相当于是继承了C类 1. 由C类创建蓝图类的方法 (1) 右键C类选择创建基于xxx的蓝图类 (2) 在内容文件夹下放置蓝图类的路径下右键-创建基础资源-选择蓝图类然后在所有类中搜索对应的C类创建即可 2. 挂载组件的对应关系 在C类的构造函数中RootComponent下挂载了两个组件一个静态网格组件一个是摄像机组件而且这两个组件处于同一层在蓝图类中的组件面板可以清楚的看到它们之间的挂载结构按照刚刚的设置如果不使用弹簧臂则如下 如果使用弹簧臂则结构如下 当然组件也可以在蓝图中继续挂载或者修改 3. 摄像机组件和Pawn之间的关系 摄像机组件实际上是Pawn的一部分但是它从位置上来说应该有两种情况 第一人称游戏摄像机组件的位置在Pawn的眼睛位置第三人称游戏摄像机组件的位置在Pawn的后上方位置 通常会用另外一个网格组件这里暂时是用StaticMeshComponent作为Pawn的本体也就是充当Pawn生物的外形按照刚刚在C类构造函数中的设置如果不使用弹簧臂组件则摄像机和静态网格组件之间的位置关系如下图 如果使用弹簧臂组件则摄像机和静态网格组件之间的位置关系如下图 四、在地图上以Pawn开始游戏 Pawn因为可以作为玩家的控制的视角所以我们需要在开始游戏之后获得某个Pawn的视角并且能够控制Pawn的运动 1. 获得Pawn视角 如果什么都不设置默认开始游戏是将视角放到PlayerStart上的并对准前向红色箭头如下 1.1 在PlayerStart处生成一个Pawn 通过设置游戏模式GameMode可以在PlayerStart处生成一个Pawn这样就可以顺理成章地获得它的视角了通过默认生成的游戏模式C类这个是创建C项目的时候就自动创建了的里面没有内容仅继承了AGameModeBase类派生一个游戏模式蓝图类BP_CreatureGameMode如下 打开BP_CreatureGameMode修改默认Pawn类为BP_CreaturePawn就可以修改开始游戏时在PlayerStart处生成的Pawn 之后还需要在世界中应用新的游戏模式在主面板上打开世界场景设置面板修改其中的游戏模式覆盖为刚刚创建的游戏模式蓝图类即可此时用选中的视口播放游戏就可以在PlayerStart处生成我们选定的Pawn而且视角是在Pawn绑定的摄像机组件上 1.2 将某个Pawn赋予玩家视角 如果是在PlayerStart处生成一个Pawn是有一些不足的 没有办法赋予它一些预设的实例参数因为它是一个新生成的实例完全依赖于C类或者蓝图类中的默认设置也没有办法在不同的Pawn之间切换视角只能一直在PlayerStart视角 这里介绍如何为某个Pawn赋予玩家视角C实现 只需要在构造函数中设置AutoProssessPlayer变量即可 Editor实现 在细节面板中选中Pawn-自动控制玩家修改值为玩家0即可 2. 绑定玩家输入控制 2.1 创建轴映射 在Editor中点击编辑-项目设置 在引擎-输入-Bindings里面新增轴映射如下 输入的映射方式主要有两种 轴映射输入的设备可提供输入程度的变化范围输入的是一个连续值该值会乘以设定的缩放值然后传给后续响应事件函数中的float类型参数Value操作映射输入的设备仅提供是否输入的信号即离散的0/1后续有两个响应事件函数一个响应按下按钮事件一个响应释放按钮事件可以参考博文UE4中轴映射 2.2 绑定到响应事件函数 在Pawn默认构建的SetupPlayerInputComponent()函数中可以绑定映射对应的响应事件函数实现如下 注意BindAxis()函数中的字符串参数就是刚刚在项目设置中创建的轴映射事件名称必须要相互对应 3. 实现玩家控制的影响 前面只是将玩家输入绑定到Pawn某个成员变量上并没有对Pawn产生实际的影响这里将实现对Pawn的影响也就是令Pawn产生位移实现如下 上面的代码里面有两种实现推荐是用第二种类型的 五、Pawn的视角控制 视角控制实际上就是实现Pawn的转身和俯仰视首先是创建对应的轴映射
http://www.sczhlp.com/news/265518/

相关文章:

  • 我的世界封面制作网站电子商务与网站建设实践论文
  • 加急网站备案忻州网站建设网站推广
  • 哪些软件可以做网站设计勐海县城乡建设局门户网站
  • 学校建设网站的目的和意义郑州前端开发培训机构
  • 医院网站 行风建设企业官网网页设计
  • 太原网站建设ty556淄博做网站市场
  • flash网站模板中心网络有限公司名字大全
  • 网站建设 套餐做可直接下单购买的网站
  • 海北高端网站建设哪家好中国网站排名
  • 网站建设风险是什么意思农产品网络营销论文
  • 附近网站电脑培训班推荐几个好看的网站
  • 网站制作怎么做图标乐清网约车事件
  • iis 网站访问权限建网站的成本计算
  • 河北建设工程信息网站html5手机网站下载
  • 备案网站内容格式填写哪里学网站开发好
  • 网站建设 起飞注册网站建设
  • 2025 最新推荐!阳澄湖大闸蟹权威测评排行榜,揭秘优质品牌核心优势与选购指南大闸蟹蟹卡 / 大闸蟹礼盒 / 大闸蟹礼券 / 好蟹汇大闸蟹选择指南
  • 2025年知名的通用型液压浴室夹厂家推荐及采购参考
  • 2025年评价高的三段力液压铰链厂家最新推荐排行榜
  • 2025年热门的小单工装定制厂家最新热销排行
  • 2025年口碑好的防火玻璃优质厂家推荐榜单
  • 婚庆公司网站搭建开发一个小程序要多少钱
  • 一女被多男做的视频网站怎么制作小游戏
  • 广州网站建设腾虎北海做网站
  • 深圳物流公司网站诸暨有哪些制作网站公司
  • 做爰小视频网站做某健身房网站的设计与实现
  • 建设网站的市场机会轻淘客一键做网站
  • 网站未续费到期后打开会怎样网站找人做备案的价格
  • 网站怎么群发wordpress建站事例
  • 做网站刷QQ会员网站自动跳转短网址