Viewcam Information and Editing =============================== Version: 1.0 Date: 14 Dec 01 Site: http://www.OrangeSmoothie.org Contact: rhea@OrangeSmoothie.org OSP最新的相关中文文本信息你可以在http://www.q3acn.com获得, 如果有问题请与cat@q3acn.com联系。 概况 -------- 如果服务器能在找到适当的为当前地图定义的viewcam位置文件,那viewcam 则可以被激活。 viewcam定义文件命名格式为: viewcam-.cfg ... 这里的是q3dm1、q3dm2等。 当服务器启动时,默认的是自动在osp/cfg-viewcam路径下寻找viewcam定义 文件。你也可以通过修改"viewcam_directory"参数来改变viewcam定义文件 的目录。 创建viewcam定义文件 --------------------------------- 1. 建立定义文件的工作很简单,而且有一定的乐趣。简单直接的方法是运行一个 0.81或更高版本的OSP的Quake3 listen服务器。 2. 地图调入后,切换到旁观者模式(\team s) 3. 把"\snapshot"命令绑定在一个键上(我用的是"h"),比如 \bind h snapshot 3a. 同时也可以绑定一些设置viewcam位置时用到的命令,以方便工作,比如: \bind f range \bind g vc_proximity 具体作用参看以后的命令说明 4. 现在你可以在地图中来回穿梭,在最佳位置放置镜头,竟可能的让所有 镜头能覆盖所有区域 5. 当你找到一个认为合适的位置时,按一下"g"键(我们已经把"vc_proximity" 命令绑定在上面了)来观察和其他snapshots以及其他已经定义好的viewcam 的距离。 "vc_proximity"给出的只是直线距离。所以,信息可能是你现在位置距离 墙另外一侧其他位置的,但是这种信息对你确定其他viewcam 和你现在位置的镜头交迭范围很有帮助(镜头的半径范围是450个单位) 这些信息都显示在所有snapshot的中央。 6. 在你要取得一个nsapshot前,按下"f"键(或者是你绑定了"range"命令的 其他键),同时在你当前位置周围查看视角。 range令会告诉你是否现在你准星视线在镜头范围内(如果在范围内则为 黄色,否则为红色)。 使用range命令,你可以看到镜头可以看到现在位置的周围的长度。注意, 当你改变视角时,你可以通过按住range键来立即获得反馈,它会即时更 新的。 6a.一旦你找到了合适的位置,按下你事前定义了snapshot的键。 6b.服务器将显示一串数字(在控制台上),就象这样: 4 -269.920 -1493.019 333.001 37.512 -124.612 这里第一个数字为整数(唯一性的位置标识符),其他为在此地图中的坐标 数据。 7. 在地图中定义更多的"snapshots",以便能覆盖整个地图。控制台信息中 最左边的数字可以随snapshot增加而增加。 8. 全部完成后,在控制台输入:\condump .cfg 注意:为了预防,如果服务器不是一个专用服务器(dedicated server), 只有一个玩家连入,那服务器会在games.log文件中,记录下所有的snapshots 信息。 9. 退出quake3(或者调入其他地图来继续工作) 10. 用你喜欢的文本编辑软件(象wordpad),打开保存viewcam信息 文件(在osp/目录下) 11. 删除你做的第一个snapshot信息前的所有其他杂乱信息,同时删除你做的 最后一个snapshot后的其他杂乱信息。 12. 这样你应该得到一个类似下面的文件: 0 -404.158 -458.847 607.734 38.677 -114.675 1 -807.011 -840.523 351.869 55.042 158.214 2 -1167.130 -277.282 345.887 77.217 133.132 3 -1319.148 -747.830 674.927 47.390 36.337 4 -1156.306 191.654 658.774 43.429 156.720 5 -959.129 374.814 159.875 39.996 -29.927 6 -331.580 -82.610 209.948 41.578 -142.125 7 -7.374 -496.873 24.125 14.255 42.935 8 -71.779 486.688 24.126 22.044 -95.043 9 147.193 -834.934 156.112 51.081 -22.967 10 228.905 -1061.497 435.306 53.987 -86.858 11 462.476 -672.954 682.738 46.066 -155.138 13. 保存文件,同时改名为"viewcam-.cfg",将它移到cfg-viewcam/ 目录下(或者是你定义的其他保存viewcam定义文件的目录) 14. 以listen服务器形式进入quake3,调入你刚才制作viewcam定义文件的地图。 15. 输入"\viewcam", "\team viewcam" 或 "\team vc" 16. 输入"\vc_info"(当你切换到viewcam位置时,你将得到该点的信息) 17. 以跳跃键来切换到下一个viewcam位置,以下蹲键来切换到上一个viewcam 位置。你自己在地图中时,视角是不动的,就象你做的snapshot。对比现在 位置信息(通过\vc_info)和你刚才做的viewcam位置文件信息(这个工作 要将quake3设置成窗口来完成)。信息应该完全相符。 18. 一切都合你要求后,就可以接着做其他地图的viewcam了 snapshot注意事项 -------------- - 镜头探测/跟踪范围为450单位,在一个开放的大区域中请注意这个范围,也许 你需要好几个镜头才能涵盖整个区域(最好镜头范围之间能有些交迭)。用 "range"命令来获得信息。 - 避免两个(或更多)镜头覆盖同一区域时,镜头交迭过大。这样可以避免当一个 玩家在该区域移动时,镜头不自然的转换。 - 只要两个镜头视野不在同一条线上,它们可以被设置的距离较近。但要小心 处理,这样虽然能做出一些好的视觉效果,但同样也能做出非常糟糕的镜头。 - 尽管设置低镜头可以在玩家经过时获得更多酷的效果,但最好(一般情况下) 将镜头设置在玩家头顶的高位置,避免过低时可能出现玩家穿过镜头的情况。 - 静态镜头一般只能看到他们前面(大约120的视野)的行动。所以一个玩家在 后面的动作会被镜头忽视。因此,当你在角落、天花板和外面的开放区域放置 镜头时,要注意自己调整。 - 如果你想得到一个干净的一行行的当前snapshot的保存信息,只要输入: \snapshotdump - 如果你做了一个不满意的snapshot,你只要在地图的snapshot定义文件中 手工删除这行即可。 - 如果你发现了个死角或想加一些新的镜头位置,参照上面的步骤操作。但现 在你只需要增加需要的snapshots。然后导出这些位置,再把这些位置剪贴 到原来的位置定义文件即可,不要忘了把最左边的数字改成和其他位置不重 复的数字。 - 如果要认真的制作viewcam的话,我推荐打开两个Q3窗口。当你打开第一个时, 用它来运行类似"cfg-SinglePlayer/team.cfg"的设置,一旦调入了,切换到 viewcam模式 接着打开另一个quake3窗口,连入到第一个窗口(使用多人连线下的"Local Servers") 在这个窗口中,你可以在地图中巡游。 这时第一个窗口处于viewcam,你可以看到你在第二个窗口中控制的玩家的行动, 这样会便利的让你找出死角和镜头交迭处理的不好的地方。 当然,你需要一个支持窗口模式的显卡(象TNT2) - 这里有一个可选的在一个特定位置动态改变范围的viewcam位置的附加参数。 比如,\snapshot命令可以导出的信息为: 5 668.980 2338.872 173.705 42.709 -88.748 镜头的每个位置在使用这个参数后可以增加范围: 5 668.980 2338.872 173.705 42.709 -88.748 [length] 下面这个例子就是将镜头范围从默认的450扩大到了900,你只要手工 在原来这行上去填加即可: 5 668.980 2338.872 173.705 42.709 -88.748 900 这个参数在设置一个开放的大区域时很有用,这样可以避免镜头过多带来 的混乱,或者是太多的快速的各镜头之间的转换。 注意:不要指定范围为默认的450 viewcam命令: ----------------- - 切换到viewcam模式: \viewcam \team viewcam \team vc \vc_follow (允许viewcam跟踪一个玩家。你可以指定玩家的名字/代号 而不必通过在多个玩家中切换来寻找这个玩家) 在跟踪模式时按下开火键 在没有活动的玩家的自由状态时按下开火键 - viewcam位置信息: \vc_info (给出当前viewcam位置信息) \vc_proximity (给出最近的snapshot和viewcam位置信息) \range (给出从当前位置到表面的范围) - 其他 \vc_free (进入通过活动的viewcam来自动跟踪的模式) \snapshot (获取一个当前位置的snapshot) \snapshotdump (输出保存所有制作的snapshot) - 客户端参数 cg_followviewcam 0 - 使viewcam默认为动态活动模式 *1 - 将viewcam锁定在一个玩家身上,可以通过跳跃键或 \followprev 或 \follownext来切换到其他玩家。 - 手动循环切换viewcam位置: - 跳跃键为向前循环 - 下蹲键为向后循环 (只有当服务器上没有活动玩家时)