如何在SC2地图中实现第三人称摄影机?


8

我想尝试使用跟随单位的第三人称相机创建自定义Starcraft 2地图。已经存在一些具有此功能的自定义地图,因此我知道这是可能的。

我该怎么做呢?我需要自定义mods文件,还是可以在地图文件中完成所有操作?


2
sc2mapster.com/maps/tpsfps_battle_rts我认为这可能会有所帮助。它是指向具有该功能的较流行地图之一的网站的链接。我认为他们有一个如何在网站上。
McAzzaMan 2011年

联系一个自定义地图,做这个的作者很可能是找出如何..的最直接的方式
杰瑞Komppa

这个问题似乎是题外话,因为它是关于修改特定游戏的,三年后它不太可能得到解答。
Jari Komppa 2014年

@Jari我认为只要在这里进行游戏改装并且SC2具有活跃的社区,这应该保持开放。在SC2:虫群之心膨胀是只有一岁。
Anko 2014年

@Anko同意;SC2及其mod绝非过时。同样,这个问题范围狭窄,显然可以解决。
塞斯·巴丁

Answers:


1

下面提供的信息来自http://www.staredit.net/starcraft2/Third_Person_Camera,您可以在其中找到更多信息,例如WASD触发器和多个摄像头选项,但此处提供了第三人称设置的基础:

设置相机对象

在“创建相机”按钮下方,您将看到一个带有值“相机001”的白框,右键单击它并单击“修改属性”。将值设置为以下(名称-子-值-(描述)):

  • 角度-视野-27.996-(视图的宽度。这是从屏幕左侧到右侧的28度视图)角度-滚动-0.0-(从左到右滚动相机多远。。。
  • 景深-数量-0.0-(未知,如果您知道有关此值的任何信息,请随时更新Wiki文章)
  • 景深-深度-8.0-(相机能看到多远)
  • 景深-终点-8.0-(从相机角度观察的终点位置)
  • 景深-开始-0.0-(从摄像机点开始的视图开始位置)
  • 距离-4-(文字相机距离相机实际位置有多远。将其设置为0会导致FPS(第一人称射击),大约是4,而TPS(第三人称射击))
  • 距离-远距剪辑-300.0-(从此处不会渲染任何内容的距离。如果距离相机更远,则不会渲染)
  • 距离-近距剪辑-.1-(什么都不渲染的距离。如果距离相机最近,则不会渲染)
  • 距离-阴影剪辑-75.0-(假设不渲染阴影之后的距离)
  • 目标-俯仰-12-(摄像机的俯仰。俯仰是向上/向下运动)
  • 目标-X-(没关系,这会改变游戏的每一帧)
  • 目标-Y-(没关系,这会改变游戏的每一帧)
  • 目标-偏航-180-(相机的偏航。请考虑从左向右移动,而不是滚转)
  • 目标-Z偏移-1-(相机离地面多远)

我们这里需要的主要值是距离-4。将其设置为4将创建一个第三人称摄影机(尽管除了海军陆战队以外的单位,您可能需要对其进行编辑)。0将创建第一人称相机。“目标-Z偏移-1”也是如此。较高的单位需要较高的值才能将相机抬高一些。

全局变量

需要一些全局变量,其名称和类型如下所示(名称-类型-值-(描述)):

  • FaceOffset [8]-真实-0.0-(每个玩家各自单位面对的位置)
  • 速度-实际-0.03-(单位移动的速度)
  • 单位[8]-单位-[空]-(存储每个玩家各自的单位)
  • PlayerA [8]-真实-0-(商店是玩家,A键被按下)
  • PlayerS [8]-真实-0-(存储区是玩家的S键按下)
  • PlayerD [8]-实-0-(存储是玩家D键按下)
  • PlayerW [8]-实-0-(存储是玩家的W键按下)

设置相机触发

Set Up Camera
   Events
       Timer - Every 0.0 seconds of Game Time
   Local Variables
       Yaw = 0.0 <Real>
       CameraFocus = No Point <Point>
       Counter = 0 <Integer>
   Conditions
   Actions
       General - For each integer Counter from 1 to 8 with increment 1, do (Actions)
           Actions
               General - If (Conditions) then do (Actions) else do (Actions)
                   If
                       (Controller of player Counter) == User
                       (Status of player Counter) == Playing
                   Then
                       Camera - Apply Camera 001 for player Counter over 0.0 seconds with Existing Velocity% initial velocity, 10% deceleration, and Don't Include Target
                       Camera - Lock camera mouse relative mode On for player Counter
                       Camera - Turn camera mouse rotation On for player Counter
                       Camera - Turn camera height smoothing Off for player Counter
                       Camera - Turn camera height displacement On for player Counter
                   Else

相机更新触发器:

Camera Update
   Events
       Timer - Every 0.0 seconds of Game Time
   Local Variables
       Yaw = 0.0 <Real>
       CameraFocus = No Point <Point>
       Counter = 0 <Integer>
   Conditions
   Actions
       General - For each integer Counter from 1 to 8 with increment 1, do (Actions)
           Actions
               General - If (Conditions) then do (Actions) else do (Actions)
                   If
                       (Controller of player Counter) == User
                       (Status of player Counter) == Playing
                   Then
                       Variable - Set Yaw = (Current camera yaw of player Counter)
                       Variable - Set CameraFocus = ((Position of Units[Counter]) offset by 0.0 towards (Yaw + 90.0) degrees)
                       Unit - Make Units[Counter] face (Yaw + FaceOffset[Counter]) over 0.0 seconds
                       Camera - Set the camera bounds for (Player group(Counter)) to (Region((X of CameraFocus), (Y of CameraFocus), ((X of CameraFocus) + 0.01), ((Y of CameraFocus) + 0.01))) (Do Not adjust the minimap)
                   Else
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.