zoukankan      html  css  js  c++  java
  • 原型化的相机,方便实时调节

      使用原型可以大幅方便虚幻引擎的实时效果查看,对于Camera和HUD来说简直就是绝配武器。我们已经不满足于编译程序再看效果这种原始时代步骤了。

    1.新建一个Camera类,内部只有一些简单的内容

    var vector DesiredCameraLocation;   //预指位置
    
    var Pawn HeroPawn;   //要追随的目标
    
    function SetDesiredCameraLocation(vector NewDesiredCameraLocation)
    
    {
    
         DesiredCameraLocation=NewDesiredCameraLocation;
    }

      很简单的开始不是吗?

    2.开始衍生具体的内容

      新摄像机继承原始的,这可以让我们选择使用不同的摄像机模式,例如你在游戏中还希望使用横版TopDown和Platform结合的方式。

    var CameraProperties_TopDown CameraProperties;

      上边的CameraProperties不得了就是圆型类。

    var vector SecondDesiredCameraLocation;   //第二个摄像机预指位置

      重新定义上边的函数内容为第二个

    function SetDesiredCameraLocation(vector NewDesiredCameraLocation)
    
    {
    
        SecondDesiredCameraLocation=NewDesiredCameraLocation;
    }

      下面才是相机问题的核心函数,UpdateViewTarget

    function UpdateViewTarget(out TViewTarget OutVT,float DeltaTime)
    {
        
    }

      该函数内部满足OutVT.POV.Location即是相机的实时位置,OutVT.POV.Rotation即是相机的实时方向。同时使用线性插值可以满足相机的平滑过渡。

    local vector TargeLocation;
    
    //get player's location
    if(AntPawn(GetALocalPlayerController.Pawn)!=none)
    {
        TargetLocation=AntPawn(GetALocalPlayerController.pawn);
    }
    
    //in case we can't get the location
    TargetLocation=OutVT.Target.Location;
    
    DesiredCameraLocation=TargetLocation-vector(cameraproperties.rotation)*CameraProperties.HoverDistance;
    
    OutVT.POV.Location=VLerp(OutVT.POV.Location,DesiredCameraLocation,CameraProperties.BlendSpeed*DeltaTime);
    
    OutVT.POV.Rotation=CameraProperties.Rotation;

    defaultproperties中定义CameraProperties的原型引用即可。

  • 相关阅读:
    Linux(CentOS6.5)下编译安装Nginx官方最新稳定版(nginx-1.10.0)
    Linux(CentOS6.5)修改系统市区被中国标准时间(北京时间)
    Linux(以CentOS6.5示例)下安装Oracle官方最新版JDK(JDK1.8)
    Linux发行版 CentOS6.5下删除分区操作
    Linux发行版 CentOS6.5下的分区操作
    Linux发行版 CentOS6.5 禁用防火墙步骤
    [置顶] drools规则引擎因为内存泄露导致的内存溢出
    架构师必读经典
    Google Chart API学习(二)
    Google Chart API学习(一)
  • 原文地址:https://www.cnblogs.com/NEOCSL/p/2833138.html
Copyright © 2011-2022 走看看