开启辅助访问 切换到宽版
论坛唯一域名 www.xjatc.com
请勿购买盗版伪序列号,正版日语ATC4游戏零售价9200日元,仅限日本国内发售并使用线上验证激活帐号,切勿受骗!

热点推荐

查看: 770|回复: 7

[教程] 添加自定义的固定相机机位

[复制链接]

4

主题

61

帖子

760

积分

E-8 MSG

Rank: 6Rank: 6

积分
760
威望
727
金币
531
功勋
33
荣誉
0
最后登录
2024-1-31
发表于 2022-1-28 06:39:30 | 显示全部楼层 |阅读模式
本帖最后由 cheat 于 2022-1-28 06:39 编辑 5 Y0 w/ Y' v9 b& g6 z/ z
& A& s4 [; r% U& H: U
翻文件看到开发人员很实诚地把像机机位数据都用明文可读的配置文件组织起来,那怎么能不整点有意思的呢?
1 ^! Q2 l1 V) a+ ^_______________________________________
& k+ s: U) \4 S- z实际操作主要分为以下几步:
+ l/ K4 {% Q; n/ d4 W& p
  • 找到自己想要的机位,并找出其在游戏世界中的坐标
  • 修改文件,配置属性
  • 测试
      E! m! ]$ G$ O' ~# K, [0 J% N
难点:. m% t1 k$ X" [  Q
  • 树立游戏坐标系概念,认识到物体如何偏移。
  • 了解各个属性的功能,认识到不同的赋值会有什么结果。
  • 测试很折腾很无聊。
    * M8 s' t* g+ y
    ) O' C6 R! F3 P8 ?! m1 G
————————————————————————2 A2 v9 W% R: q
7 p# j6 A# }  a5 U, R0 b' `
壹·坐标·理论! r: ~% W4 G8 _

$ _: V( l  Q7 q8 u! b9 F$ d
) \9 J; A% A- `+ c* y
就如同数学老师给大家树立的笛卡尔坐标系概念一样,你能见到的三维画面电子游戏那都是这样树立空间的。. _: d7 u8 Q$ H
在ATC4中也一样,但需要注意的是其采用的是 y轴 向上 z轴 前进 的方式,观感上与常见的 z轴向上,x轴前进 没任何区别,但在浏览数据时就要注意到这点。% Y- d4 B- l5 @' C& @+ g# T

* @9 i2 F0 ~9 @# F  X

! }$ [- p# N* W+ M4 q2 y/ s  YATC4的坐标数据格式为(x,y,z)! N9 k% G+ j% |; }8 R  O) t
* e2 g3 b0 j& }, ^
当遇见典型的三个数据一组的坐标数据组时,要认识到数据格式,也就是每一位对应了哪个轴的数据。当然这很简单:! S0 i7 X# u! c9 Z3 \
假设一个坐标 (175.2,32,55.74),那x轴的点数据就是175.2;y轴,也可以说是高度,就是32;z轴的数据则是55.74。, h: Z) \" s. P. E- U/ j3 S8 b" T9 F
' i% Q, H" f. G

, M3 A( r( h6 `1 O认识了坐标系,再多来认识物体在坐标系中的变化吧。
, j, x$ g- D: Y7 Y6 G1 y+ C! N移动很简单,就是沿着各个轴从坐标原点(0,0,0)进行正或反方向的偏移,最终三个轴的偏移组合起来就是物体在坐标系中的移动。
  j% n( ]% k* A/ J- I; ]而旋转稍微有点不好理解,但又很好理解,因为不好理解所以好理解所以并不好理解……
; n4 N; ^$ ~2 T
+ l4 M( I3 B' t  u
  k% d& _/ u# P, i
那么我们就先请出飞机模型吧……诶找不到了,那她也可以。# s. e# o4 A% l
% L! K, k. x/ Z) y

6 Q% V) ^- |9 r0 w8 |
  • 绕X轴的旋转
    4 D! c. ?; X8 F1 n! K
如图,让我们从她脖颈处正横着插一根细细的筷子,拟作x轴,这时候的绕轴旋转就很好理解了。

/ e. Q, Z1 A+ x, V2 T# e, z8 J
就是我们上下张望的样子。
在飞机上来说就是水平安定面,控制飞机的俯仰,起飞和降落最需要的动作。

: @2 s- Q* @5 _8 o5 l; u
  • 绕Y轴的旋转$ r' t- f2 a8 z- i7 k) T
让我们再向她的头顶天灵盖里正竖着插一根细细的筷子,没关系的!
这根筷子就拟作y轴,被固定的她现在能怎样按y轴旋转呢?

# g* G  ^2 c2 B" G- K
只能左右张望咯,很明显的。
在飞机上就是垂直安定面,控制飞机的左右转,侧风飞行时很必要的动作。' s# ~; p5 n% V# T2 w
! ?8 h; b6 [4 o
  • 绕Z轴的旋转6 B/ N$ S" B5 E3 Y  l) L( o4 N7 M) d
让我们最后像插x轴一样再往她的脸蛋中央插……被躲开了
但没关系!即使不以头部为中心那也是可以正常按z轴旋转的。
% |1 t: @, _4 _: Y
" I, g3 D" X% o8 Y8 z$ j; l
这次和x轴一样都是水平的,只是方向不同,那么我们能思考出来:
就是歪头视啊。
在飞机上就是主翼的倾斜操控面,控制飞机的左倾右倾,也是正常飞行必要的动作。

# J) R4 W# e0 N1 Z" F0 i2 f
太好了,三个轴已经被完整地安放完毕,相信你也理解了!
那么就能随便玩弄了,每个轴的旋转结合起来就是物体在坐标系中的倾斜俯仰。' J: |4 F% `+ ?8 s7 L' X/ W
恭喜。! S5 I: ^6 L, `: r% @$ B

4 y* ^0 j$ B; S% ~. u3 t) Y  G& I' T% p  T

+ U! x% J" N! k/ f8 B/ {( ^# M: y贰·坐标·实操+ S' }- Y1 E* @
" G5 m! i4 G. j( R7 ]
4 ?' a) \" ?# F: O; t" ]
首先,我们要在游戏里找一个舒坦的位置。今天正好来到和歌山市,那就顺道去一趟关西国际机场吧。6 N, I1 q5 r# \" @# _
平时我们都只能远观连接桥对岸的那座略显危险的建筑,那就是你了,斯达给托厚太露(Star Gate Hotel Kansai Airport)!在那边的楼顶架设一台超长焦拍出来的效果肯定不错。
1 ?, c. Y( [9 i- S2 e: U) J8 {

3 `, D) b* M; D8 T* S$ m/ x
/ K, R) v; n" k5 V+ a: U( P
那么首先是得知道楼顶在什么位置,我们有多种方法,但很遗憾,每种都不太方便
5 M# `2 C- I! d- r& {: z
  • ' S* [% G* f' L( w
1 M1 {& [6 ]1 B7 W' T: Z
找,就是找。传说的"Speed PVM Editor",在三维软件环境中能很容易找到想要的坐标。在这个软件的底部有一行状态栏,我们切换到顶视图,然后用鼠标指哪就显示哪的坐标。但问题是……如果你能忍受114514年的文件加载时长;如果你能忍受软件极致的运行速度……
0 f, H7 R! S, G" i9 W% S! N; {
$ j0 `: i& O, V( ^
( m1 O+ x: b1 A5 f
基本步骤:打开位于“ATC4目录/PORT/机场代码/MODEL”中的文件名类似“机场代码_[h,l,m,s][1,2,3].pvm”的文件,当完成加载后寻找中意的位置,之后用顶视图模式找出准确的坐标点。4 d$ A% b( X9 _# p) t: f5 h
注意点:尽量打开高精度的模型文件,例如“rjbb_h2.pvm”,h表示high 高的——高精度模型。因为这破游戏的低精度模型不像主流做法,有些细节低模会直接省略掉而不是简化,就很离谱。但这就带来软件运行性能的问题,会导致找位置的体验很差,这可以通过暂时关闭某一组层次的显示来缓解,但破软件的实现方式还是太老太低效了。其次4代的地形模型加载进去默认会丢失贴图,因为还有线框显示其实问题不大,习惯就好。- a. S/ D, C, w, a+ E
* q8 a2 @: S7 p3 q# Q
% _0 _) \  f) `0 H3 E
好处:方便,直接,想找哪能找哪;坏处:卡,慢。
1 O; s  U  q$ j4 q9 @* m* V5 ?5 @; K6 O2 q: M! B- X: I1 J) o

$ j! i. y8 y3 e$ j3 l猜,就是猜。我们根据其他机位的坐标可以构成一张虚拟的矩阵,空间意识好的话能直接猜到中意位置的大致坐标,测试中看结果再进一步精细即可。但不是所有人都这么厉害,所以我们先借助这些 地图 (Airport Guide)。还需要一款图像处理软件,GIMP或Photoshop,当然画图也不是不行……% v) Z0 M2 Z. L  M
# T) q" e# }9 n5 E

8 |+ F+ O1 Y1 j) s2 ]例如:3 F" `* ^1 }3 e  L
打开RJBB的地面地图,我们能看到黄色星标的固定机位,这时候到 “ATC4目录/PORT/机场代码/APL/Camera/fixed.ini”文件里查看对应的机位坐标,并将坐标读写到地图上。因为这是平面所以直接跳过y轴数据。
& c3 \, h; l* R6 ?) E8 V
( \$ q. Z  a3 M
单击查看大图
! Y& S1 @) m; O+ f: x2 w7 A+ x* [* ?) O
文件中的一组机位数据下,position属性的值就是我们想要的坐标。mode就是机位的内部名称,如果看不懂或不确定你可以打开同一目录下的“fixed932.ini”,里面是日文名称,友好多了,对比字符就能找到。
找离中意位置更近的两到三个点,看不同位置的数据变化来猜测定位。距离和目标点都不知道的情况下计算还是会有些麻烦的。
猜不准不用担心,游戏会在加载关卡时读取这份配置文件,所以测试时不用重启游戏,测试后再改都没问题。

0 m: E# W4 c% D" j+ W; A. t" P
好处:猜来得更快;坏处:超出地图范围后猜测偏差会变大,对某些人来说很难,不是十分精确。
, F1 {% k2 v7 t$ r- R" \0 D
+ a4 u4 e5 w% f$ S1 h6 }0 C
……字数限制6 T0 c% ^- _3 J

3 W9 x* `+ m/ n

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

参与人数 1威望 +10 金币 +10 功勋 +3 收起 理由
Flybedream + 10 + 10 + 3 很给力!

查看全部评分

4

主题

61

帖子

760

积分

E-8 MSG

Rank: 6Rank: 6

积分
760
威望
727
金币
531
功勋
33
荣誉
0
最后登录
2024-1-31
 楼主| 发表于 2022-1-28 06:39:31 | 显示全部楼层
本帖最后由 cheat 于 2022-1-28 06:42 编辑
! D9 x8 V. O$ \9 \0 t! g; R9 `% x4 H6 _: q7 c
叁·配置·实践
, A) `/ a7 ~' \. b- q首先打开“ATC4目录/PORT/机场代码/APL/Camera/fixed.ini% C: S! n' s2 Q6 L% l
本来想自己实践找出这些属性都是干什么的,结果翻阅其他机场的相同文件时发现里面居然有注释,那就结合我的理解复制粘贴了。  f/ U2 Z0 Q1 \) O! |
: Q7 C- ~2 T9 u  o& P& ?- |
这是一段典型的固定像机机位数据配置- E$ M% r; m2 s# J7 `, x
  1. [CAMERA#]    //CAMERA后面接数字,唯一,似乎不需要遵从自然数顺序8 j3 `1 S0 y! [0 {4 s9 T
  2. mode=??    //内部名称,唯一,最好用英文且不用空格: v- Q/ d/ H2 C2 a
  3. distance=#    //像机的虚拟拍摄距离,与视觉效果无关,只要不设为1就没什么显性的问题。可以通过当前像机坐标数据带入公式 √(x^2+y^2+z^2) 计算到原点的直线距离得出值+ \3 I# o2 {) y0 U
  4. position=##,##,##    //像机的坐标数据,x,y,z。浮点值,应该精确到小数点后两位
    6 v" |8 k  Y/ a6 T
  5. angle=##,##,##    //初始的轴旋转角度数据,x转,y转,z转,浮点值。z轴的旋转不被支持,保持为0。x角度值越大越向下看越小越向上望,y角度越大越右转越小越左转
    9 G6 w6 z$ C6 l1 ^/ `3 R
  6. angle_restrict_max=##,##,##    //像机旋转限制,浮点值,精确2位。这里的max最大应该理解为某一方向的旋转角度最大值,格式依然是xyz
    - v0 R& k  \4 F8 q# V
  7. angle_restrict_min=-##,##,##    //像机旋转限制,浮点值,精确2位。这里的min最小应该理解为和上一行旋转方向相反的方向的旋转角度最大值,格式依然是xyz
    $ H0 D- M; f& \7 P9 Z
  8. zoom_range=#,#,#    //像机在不跟踪飞机时的缩放范围,就是变焦焦段,可以根据distance属性的值推断出一个大概值,根据需求来。格式为 最短焦距,最长焦距,初始焦距
    # I! w/ ~( y( l
  9. zoom_range_look=#,#,#    //像机在跟踪飞机时的缩放范围,一般和上一行的值一样或差不多,根据需求来。格式为 最短焦距,最长焦距,初始焦距
    + `" ?1 X/ k7 y$ x% B# Y9 ?; i4 E
  10. movetime=#    //从其他像机到此像机的过渡时间,1000=1000毫秒=1秒。景观机位可以设个7秒感觉很丝滑。
    * N5 E, U: S0 a7 c
  11. drag_dir_x=bool    //是否允许玩家自行旋转像机x轴,取值为[1,0],1为开启0为关闭,一般躺在地面上的机位会关闭x轴旋转
    ( O9 k0 J. Y; k( h
  12. drag_dir_y=bool    //是否允许玩家自定旋转像机y轴,取值为[1,0],是否允许自行左右旋转' E% K0 k' l+ Y6 T) _* V6 j4 z$ o) i
  13. flick_dir_x=bool    //是否反转x轴旋转的操作方向,取值为[-1,1],默认值-1,开启。符合游戏固定的操作习惯。就是按W是向下转还是向上转(; j! G/ `% R& Y
  14. flick_dir_y=bool    //是否反转y轴旋转的操作方向,取值为[-1,1],默认值-1,开启。符合游戏固定的操作习惯7 W0 \9 `2 Q9 |2 G
  15. target_alt_min=#  //锁定飞机目标时的最小像机对焦高度,高于机场高度的像机可以设置很低。值较大时当跟踪的飞机下方有持续碰撞事件则会将像机抬高这个值的距离6 K, R5 g: w: e' A& @
复制代码
这样,在一些配置后,星门旅馆顶部机位的配置就是
+ f! R* n- f" b0 M4 k' K
  1. [CAMERA10]: z% e, X- y; v5 J( M# h* y
  2. mode=stargate* [1 |! {$ x4 l/ S0 K3 e# J# g& Z
  3. distance=6413.718 v& Q* P! J8 j
  4. position=5900,275,-2500
    , S' H5 a, ]# Z) U6 I, H
  5. angle=2.5,-65,0
    : E& K: ?( p4 A/ t' F
  6. angle_restrict_max=89.99,0,09 c" [2 `8 @, B/ Q
  7. angle_restrict_min=-89.99,0,03 S8 z8 x5 e: P0 i' n2 `5 ~
  8. zoom_range=38,4500,38
    0 o' q; C% a& d" }0 _) e9 Y0 |
  9. zoom_range_look=38,4500,38
    7 K  q3 r( s$ R) Q' |( g7 L
  10. movetime=1500
    6 b  z! M) y# [6 l9 U( c. J+ E
  11. drag_dir_x=1
    ( r1 B- h" t8 V) j
  12. drag_dir_y=1
    0 b# H+ b( m# K: h
  13. flick_dir_x=-1
    - a  ^% [( i) `) R3 H
  14. flick_dir_y=-1. I7 d# J) p. |  U; N
  15. target_alt_min=4
复制代码
表示第十号名为stargate的相机机位位于 5900, 275,-2500;允许上下左右自由旋转,上下旋转的最大角度都为89.99度(避免90度视角旋转计算失常),左右旋转角度不做限制,默认向左看65度向下看2.5度瞄准关西塔台;焦段从38广角到4500超长焦;相机混合时长为1秒半;最低对焦物体高度不小于4;主要拍摄物距离为6413.71。
3 P+ Q5 M4 x- o% R0 {/ P. j2 T0 ]( A* U% R5 w/ R
1 O5 Z6 O& w$ v( k8 n' Y
在以上步骤完成后,先别忙着关闭本配置文件,回到文件首行,这有一段需要更改:: L. e3 |, O# I+ y
  1. [SYSTEM]/ Q+ r1 g3 V: e$ s6 G
  2. count=#
    ) I# }" F% H9 t8 |" m3 g/ E
  3. movetarget_rate=##3 `$ ]% U0 `6 }. c
  4. movetarget_dist=#
    & I; c6 y+ g: ]% o1 a
  5. movepos_top=#2 \$ `! u) y0 w% b4 @, o& t
  6. movepos_limit_min=#
复制代码
修改SYSTEM组中 count 属性的值,count是计数——本文件中固定相机机位的总数。比如目前的值为10,我增加了一个机位,此值就得+111/ ~  K3 }, P) d! `( K8 L
有时候会出现这两个属性:. K4 s7 b" b  l, ~8 V0 C
  1. regular=#" H/ \5 Q( a# j7 ]' t
  2. option=#
复制代码
这个应该是为首发版,Airshop版中特有机位的相关配置。regular可理解为通常机位的数目,如果文件中有这个属性则应该随count一起更改。Option可理解为可有可无的机位,比如中部港首发的几个特殊机位。
6 J( F: r- _7 ^2 h% p
7 |6 w1 |- G0 c! T. T& {' X8 ~) W修改完毕后保存文件,再打开相同目录下的“fixed932.ini”,我们可以看到在之前文档中出现的机位的日文名
; V. {) K4 }8 l4 H: T* }9 K( f( _+ d照葫芦画瓢添加
' k7 p% a- x. B$ O3 u
  1. [CAMERA10], q8 G- W% T: J6 L5 w
  2. mode=Star Gate Hotel
复制代码
CAMERA10“10”这个值应该与刚才所添加的机位的序号相对应。mode属性后输入想要显示的机位名称。2 U9 u1 z# V& \

" q/ k* b2 J; K( t$ D* y; p- i

8 [! v: ~7 \; Y恭喜。' l# K  x7 O! G) k# @0 Y+ y

. }+ X5 l; u* l" \; V
1 P7 k& s: o* {) N5 F0 i) ~肆·测试·实践/ u5 l$ q0 L. F$ Q1 z2 u
在测试中发现问题并修改配置文件。0 q; Y& u# c, ?/ }+ Y
测试中修改配置文件保存后不需要重启游戏生效,直接再次进入一个关卡就可以生效。0 e& D+ s% y6 {/ N" }! g4 v
7 g) }% Y3 W3 F0 }2 B
以下是我在测试中发现的一些目前无法解决的问题:
; Y! T4 |/ D! T& M0 M
  • 渲染问题  这个的确很烦人,距离太远的模型容易发生重面bug。只能说T社这个Pegasus 3D引擎真的该进老年大学或博物馆了…… 这个我修不了# S$ C( d0 A% b
  • 非跟踪镜头旋转问题 同样烦人,因为ATC4的视角旋转是固定式的,每次变换的增量又太大,我这个机位又太远,所以不能很好的对准想要看的位置。一般来说固定镜头要对准机场,所以在属性配置中配置好angle属性是非常重要的,保证初始视角聚焦在机场身上的话使用起来还算过得去
  • 焦段调整问题 还是烦人,如果变焦范围设置地太大,鼠标滚轮的第二级焦段会直接到中位数的样子,使用缩放滑块的话这个控件太小了,广角段太容易变动过大。不过可以通过设置更小的变量空间缓解。这个和上面的最终解决方法都在已编译的程序里,改不了$ C: ~( |5 ^( S4 S6 Z$ ^" _

, \+ X9 z! g5 G) H' s  Z( C- ^-———————————————————————————————————————————————————-
6 W5 I  g6 t) {& h% f+ T, y. E
, X4 G1 D4 k8 {9 T/ _
那么就用一张关西夕阳结束

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

4

主题

61

帖子

760

积分

E-8 MSG

Rank: 6Rank: 6

积分
760
威望
727
金币
531
功勋
33
荣誉
0
最后登录
2024-1-31
 楼主| 发表于 2022-1-28 06:41:51 | 显示全部楼层
camera目录下还有个apl.ini$ W7 T0 F, u  c! M+ P, P$ \4 @
感兴趣的朋友们可以试试。
8 v4 {0 U' \) f' ]
  T/ W0 i/ H  G///想玩RJSS,现在,马上

0

主题

101

帖子

1487

积分

E-8 1SG

Rank: 7Rank: 7Rank: 7

积分
1487
威望
1486
金币
759
功勋
1
荣誉
0
最后登录
2024-2-7
发表于 2022-1-28 08:01:14 | 显示全部楼层
你做了很好的調查工作。
" U9 n1 r3 t) h$ L0 o7 ], G1 w. h0 f4 ?
很難找到充分利用 ATC4 遊戲的方法,因為 Technobrain 在這方面非常特殊,正是渲染和性能問題是我們必須調查的一部分。
* J4 Y* V& w6 f. s* N! t7 B( z/ }) k( L/ H! ]" n1 k. U& |3 j' q
' l! r- G/ R1 C
我認為 Technobrain 並沒有想像到有人在窺探基本文件,我得到的印像是,該公司不希望我們將他們出色的模型用於他們建立的任何其他目的
, V( m; w+ \; g7 V4 x
( E% f9 E  G$ \! A( _為此,我祝賀你,挑戰那些非常奇怪的 ATC4 文件

43

主题

5095

帖子

1万

积分

荣誉VIP

Rank: 12Rank: 12Rank: 12

积分
18715
威望
18370
金币
8655
功勋
345
荣誉
0
最后登录
2024-3-26

CorporalSergeantStaff Sergeant

QQ
发表于 2022-1-28 11:43:56 | 显示全部楼层
T社直呼内行

53

主题

403

帖子

7145

积分

中将 分区版主

FBD

Rank: 13Rank: 13Rank: 13Rank: 13

积分
7145
威望
6899
金币
4139
功勋
241
荣誉
5
最后登录
2024-4-28

CorporalSergeantStaff SergeantSergeant First ClassMaster SergeantFirst SergeantSergeant MajorCommand Sergeant MajorMajorMajor系列任务全部完成

发表于 2022-1-28 17:49:41 | 显示全部楼层
感谢分享,学习了!
いつでも好きなときに空港へいけたら···

9

主题

99

帖子

1204

积分

E-8 1SG

Rank: 7Rank: 7Rank: 7

积分
1204
威望
1204
金币
623
功勋
0
荣誉
0
最后登录
2024-4-21

CorporalSergeantStaff Sergeant

发表于 2022-1-28 22:51:37 | 显示全部楼层
感谢分享!!太厉害了
What the hell thing is ATC?

0

主题

157

帖子

6710

积分

O-2 1LT

Rank: 11Rank: 11Rank: 11Rank: 11

积分
6710
威望
6707
金币
2803
功勋
3
荣誉
0
最后登录
2024-4-24
发表于 2022-1-28 23:59:24 | 显示全部楼层
你看!这就叫专业!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则