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

用手机搭建网站织梦网站首页模板更换

用手机搭建网站,织梦网站首页模板更换,8469网站,网站开发算是软件开发接口不能够被实例化#xff0c;不能够在内部书写函数的逻辑和设置属性#xff0c;只能够被继承使用。它能够让不同的类实现有相同的函数#xff0c;继承接口的类必须实现接口的函数。 并且#xff0c;我们可以在不同的类里面的函数实现也不同#xff0c;比如A类描边是红色…接口不能够被实例化不能够在内部书写函数的逻辑和设置属性只能够被继承使用。它能够让不同的类实现有相同的函数继承接口的类必须实现接口的函数。 并且我们可以在不同的类里面的函数实现也不同比如A类描边是红色B类的描边是绿色的描边的调用都使用一个函数调用。 创建接口类 右键添加c类在常见类中找到Unreal接口创建一个Enemy的接口类 // 版权归暮志未晚所有。#pragma once#include CoreMinimal.h #include UObject/Interface.h #include EnemyInterface.generated.h// This class does not need to be modified. UINTERFACE(MinimalAPI) class UEnemyInterface : public UInterface {GENERATED_BODY() };/*** */ class AURA_API IEnemyInterface {GENERATED_BODY()// 向此类添加接口函数虚函数继承此接口的类都将需要继承并实现这些函数。 public:virtual void HighlightActor() 0; //高亮virtual void UnHighlightActor() 0; //取消高亮 }; 在接口类EnemyInterface.h中我们增加了两个虚函数继承此接口的类需要实现高亮函数和取消高亮函数 类实现接口 接着让敌人类继承接口 如果你只继承不实现相关函数会发现编译时提示报错。 // 版权归暮志未晚所有。#pragma once#include CoreMinimal.h #include Character/CharacterBase.h #include Interaction/EnemyInterface.h #include Enemy.generated.h/*** */ UCLASS() class AURA_API AEnemy : public ACharacterBase, public IEnemyInterface {GENERATED_BODY()public:virtual void HighlightActor() override; //高亮virtual void UnHighlightActor() override; //取消高亮UPROPERTY(BlueprintReadOnly) //蓝图可读bool bHighlighted false; //是否高亮 };我们需要在类里面继承函数并在cpp里面定义相关逻辑。这里先定义了一个变量用来获取当前角色是否需要高亮 // 版权归暮志未晚所有。#include Character/Enemy.hvoid AEnemy::HighlightActor() {bHighlighted true; }void AEnemy::UnHighlightActor() {bHighlighted false; } 在cpp中高亮将此值设置为true取消高亮设置为false。 通过鼠标拾取设置敌人是否高亮 设置敌人高亮我们可以通过在帧更新里面通过获取鼠标拾取到的对象对对象进行判断是否设置高亮。 在playercontroller中我们覆盖帧更新回调鼠标位置追踪拾取函数以及两个变量去记录当前鼠标拾取到的内容。 //帧更新 void APlayerControllerBase::PlayerTick(float DeltaTime) {Super::PlayerTick(DeltaTime);CursorTrace(); }帧更新里面只需要增加对鼠标帧更新的调用。 //鼠标位置追踪 void APlayerControllerBase::CursorTrace() {FHitResult CursorHit;GetHitResultUnderCursor(ECC_Visibility, false, CursorHit); //获取可视的鼠标命中结果if(!CursorHit.bBlockingHit) return; //如果未命中直接返回LastActor ThisActor;ThisActor CastIEnemyInterface(CursorHit.GetActor());/*** 射线拾取后会出现的几种情况* 1. LastActor is null ThisActor is null 不需要任何操作* 2. LastActor is null ThisActor is valid 高亮ThisActor* 3. LastActor is valid ThisActor is null 取消高亮LastActor* 4. LastActor is valid ThisActor is valid LastActor ThisActor 取消高亮LastActor 高亮ThisActor* 5. LastActor is valid ThisActor is valid LastActor ThisActor 不需要任何操作*/if(LastActor nullptr){if(ThisActor ! nullptr){//case 2ThisActor-HighlightActor();} // else case 1}else{if(ThisActor nullptr){//case 3LastActor-UnHighlightActor();}else{if(LastActor ! ThisActor){//case 4LastActor-UnHighlightActor();ThisActor-HighlightActor();} //else case 5}}}而鼠标位置追踪拾取函数首先就是先通过函数获取可视的内容对拾取的内容判断是否继承至IEnemyInterface然后根据情况进行高亮和非高亮的设置。 在蓝图中根据变量设置可视效果 首先我需要先在debug模式下测试设置高亮是否有效果有了变量bHighlighted后我们可以在敌人的蓝图中获取它的变量如果为true我们将在敌人身上添加一个球代表它需要高亮。 在敌人的事件图表中帧更新中增加对Hightlighted的判断如果为true则在敌人位置创建一个球 为了能够被鼠标拾取到我们需要将敌人模型的检测相应可视设置为阻挡。 运行点击~ 输入show Collision将会显示所有的碰撞体再输入一次将隐藏掉所有没必要的碰撞体显示。 接下来放置几个敌人进行测试会发现鼠标悬浮在谁身上就会生成一个球。 使用后处理实现对模型的描边 在ue里面实现描边有多种方法大家经常使用的方法就是使用后处理描边。 首先在场景内添加一个后处理体积 将后处理体积影响范围设置为无限 然后在后期处理材质这里将材质添加进来 后处理材质逻辑大概如此这里不再展开将了原理就是通过卷积的方式采样进行比对分析出描边区域然后根据设置的颜色显示。需要用到自定义深度功能。 在项目设置里面开启基于模版的自定义深度 在材质中如果自定义深度为250那么它的模型周围会出现描边效果那么最后一步我们将需要描边的模型的自定义深度开启并设置为250则实现当前效果。 在前面我们在敌人的基类里面实现了设置高亮以及取消高亮只要我们在代码中实现对自定义深度通道修改以及自定义深度模板值的修改就可以实现当前的高亮效果。 // 版权归暮志未晚所有。#include Character\EnemyBase.h#include Aura/Aura.hAEnemyBase::AEnemyBase() {GetMesh()-SetCollisionResponseToChannel(ECC_Visibility, ECR_Block); //设置可视为阻挡 }void AEnemyBase::HighlightActor() {GetMesh()-SetRenderCustomDepth(true);GetMesh()-SetCustomDepthStencilValue(CUSTOM_DEPTH_RED);Weapon-SetRenderCustomDepth(true);Weapon-SetCustomDepthStencilValue(CUSTOM_DEPTH_RED); }void AEnemyBase::UnHighlightActor() {GetMesh()-SetRenderCustomDepth(false);Weapon-SetRenderCustomDepth(false); } 设置角色的模型和武器的模型的自定义深度和自定义深度模版值为了方便以后迭代修改红色的值直接定义在了CUSTOM_DEPTH_RED宏中。 并且为了爆炸角色模型能够被鼠标拾取到我们直接在构造时直接修改了设置可见性的拾取。
http://www.hkea.cn/news/14512257/

相关文章:

  • 成都集团网站设计推荐贵阳市做网站电话
  • 网站建设教程 冰美人视频seo关键词优化软件排名
  • 南京做网站建设搭建的公司wordpress朋友圈图片不显示图片
  • 网站建设模板后台Wordpress门徒同学
  • 做网站要准备最大招聘网站
  • c qq 互联网站开发代码公司网站建设意见
  • 地方门户网站资讯该怎么做厦门谷歌seo
  • 陕西网站备案注销网页设计入门与提高
  • 搭建微擎网站后怎么做微官网小榄镇做网站公司
  • wordpress 站点迁移湖南网站建设推荐
  • 网站运营企业基础微网站开发口碑好
  • 采集网站后台客户数据nginx wordpress样式丢失
  • 杨浦企业网站建设陕西建设厅八大员官方网站
  • 东昌府聊城做网站公司如何在服务器里建设网站
  • 网站建设设计基础cn域名
  • 专业设计网站的公司站长收录查询
  • 网站可以做软著吗手机端做的优秀的网站
  • 民治营销型网站费用最新新闻事件今天报道
  • 洛阳市网站建设管理wordpress网页怎么上传到服务器
  • 网站建设怎么改首页的标题上海家装口碑最好的公司
  • 株洲网站建设公司排名购物商城网站功能设计
  • 潍坊网站建设制作烟台服装定制
  • 有做材料的网站吗wordpress安装主题后找不到后台入口
  • 哪里有网站模板下载免费网址大全
  • 响应式网站和传统网站异同北京网站手机站建设公司电话
  • ipv6 网站开发哪个网站可以做中文云文字
  • 制作宝安网站建设dedecms制作的网站
  • 海淀地区网站建设宜兴做网站
  • 平台类网站建设胡方案明细北京市运动会网站建设
  • 企业网站外包建设正规游戏代理加盟