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的原型引用即可。

  • 相关阅读:
    获得插入记录标识号, 鼠标移到DataGrid的行更改颜色(转)
    ESRI ArcGIS 9.0系列软件报价(转)
    世界电子地图
    Microsoft’s.NET MicroFramework初接触
    MapServer初体验成功
    MapScript C# Tutorial Programming MapServer in the ASP .NET Framework(转)
    WPF 中的Width 与 ActualWidth
    可空值类型
    面试时遇到上机编程题
    checked、unchecked
  • 原文地址:https://www.cnblogs.com/NEOCSL/p/2833138.html
Copyright © 2011-2022 走看看