229 lines
6.9 KiB
Plaintext
Executable File
229 lines
6.9 KiB
Plaintext
Executable File
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-<mapname>.cfg
|
||
|
||
... 这里的<mapname>是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 <mapname>.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-<mapname>.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位置:
|
||
|
||
- 跳跃键为向前循环
|
||
|
||
- 下蹲键为向后循环
|
||
(只有当服务器上没有活动玩家时) |