GameDesign 板


LINE

作者:NDark 时间:201001 "容易被遗忘的游戏设计模组"之一: FPS counter http://0rz.tw/61wWb FPS是frame per second的意思。最早从电视电影的制作与拨放来的。 意思是每秒拨了几个画格。有在转录影片的朋友应该比较熟悉, 台湾电视讯号的标准就是NTSC他的FPS就是29.97。每秒换了几乎30张影像。 格数(长度)相同的影片,如果拨快一点, 影片(时间)长度就会比较快拨完。人物就像快转一样。 (因为播放速度与原始影像拍摄的速度不同) 在我讲下去之前,请务必思考上面这段说明与下面的问题。避免跟不上。 所谓"拨快一点"到底是什麽变快了? 直接跳到游戏。要怎麽实现我的游戏的拨放速度符合电视的标准? 很简单,1/30秒画一张就好了。画完就送给电视。 所以最Naive(这里必须说明Naive是直接简单的意思,不一定等同於笨)的做法就是 用一个闹铃(timer,比较正确的讲法是计时器) 每跳1/30就叫我的游戏工人 把目前的墙壁刷成新的画面, 然後请电视讯号线的长官来拍照验收,送件。 上面的这个方法问题在哪里?很明显。 假如我有时候工人画的快,有时候工人画的慢,画完的时候才验收(传送) 这样电视显示的结果也会忽快忽慢。 万一电视收件的时间跟邮局一样有限制,货到的时候邮局已经下班,那这个画格就掉了。 (这是白作工,明明就有画,可是被之後的新货物盖掉了) 延伸思考 假如我某一个画格突然运算量大增,此画格画了1秒才画完。 意思是当工人在努力工作的时候,闹铃响了29次。这时候电视这头会发生什麽情况? 另一种方法大家其实都很清楚了, 我叫我的工人不停的工作,然後派一个工人拿着闹钟, 吩咐他:只要一听到闹钟响马上放下手边工作去叫长官来。 管他这个画格画完没。反正确保我有送件就好。 还没画完我还可以先拿上一个画格的墙壁来垫一下档。 甚至我在1/30秒内我工人画了好几次都不管,反正长官来有拍到最後的样子。 (好像有点虐待劳工XD) 这问题事实上早已被解决,我为什麽要花了落落长来说明。 请一定要思考我一开始提到的问题:所谓"拨快一点"到底是什麽变快了? 延伸思考 为什麽某些游戏要强调FPS是60? 明明电视的显示频率是30。(当然现在电视越来越好了,连240Hz的电视都有了) 某些神眼的玩家可以分辨出FPS 30的品质有间断的感觉。 为什麽电影(30FPS)拨出的时候却没有这种感觉? 我要谈FPS的原因是它比各位想像中都来得重要多了。 不只是在刷新画格上。 继续前段的某状况,有时候工人工作的快,有时候工人工作的慢。 意思是开发时的测试机器与最终使用者执行的机器效能不同, 甚至同一台机器效能也是变动的。 而且这问题也许不能只透过上面提到的控制播放的FPS方法来解决。 拿拍电影来举例说明: 某电影场景拍摄内容是:"有台车自左边跑到右边,差点撞到过马路的人"(游戏内容), 在台湾拍的时候用的是普通裕隆轿车(硬体)。这场戏拍了10秒(跑到)。 现在好莱屋想要重拍这场电影, 内容当然是相同的:一台车自左边跑到右边,差点撞到过马路的人 但是因为好莱屋比较有钱,找来的是一台保时捷。 保时捷一开3秒就跑到了,人都还没过马路,司机还跟你摇摇手说他已经很客气。 解决方法是把3秒的画格播慢一点让他10秒才播完? 可是这样做的时候却发现过马路的人也变慢动作,风吹的垃圾也变慢了。 所以,如果只是想要把车变慢,正确的做法应该是告诉司机, 第一画格的时候你要开到哪个位置,让摄影机拍一下。 第二画格的时候则是第二位置,让摄影机拍一下。 第三画格的时候则是第三位置,让摄影机拍一下。 直到10*30=第三百个画格的时候要停在终点,让摄影机拍一下。 游戏设计是在每个画格中进行。因此这边说明的重点是: "在每个画格必须知道这一格的结束时要进行多少的工作量,不可以做超过或短少" 进一步说明, 当我们拍摄电影时用30Hz拍。播放时就用30Hz来播。 3D Artist 拉了一个1秒的踢腿动作,当踢到0.5秒时,就一定要踢到一半。 企划说飞越全地图100单位要飞10秒。那麽飞到1秒的时候,飞机应该正在10的位置。 因此飞机速度应该是10 / 1 sec => (10/30) / 1 frame = 0.3 / 1 frame 10 / 1 sec : 这是企划知道的速度 0.3 / 1 frame : 这才是本画格真正的速度(移动量) 而因为这个数值FPS:30是变动的。 每个画格的真正移动/变动量,要到该画格才能知道。 至此,FPS扮演的角色,大家都应该很清楚了。 实务面是, 在游戏层的各个元件(不管是绘图,移动,动画)都要能取得目前FPS的资讯, 或是当此元件的机制需要这个资讯的时候,必须要从最外层一路传进去。 延伸思考: 当FPS因为某些状况变低的时候(譬如说每秒10个画格), 除了跳/飞快一点之外还能做甚麽? 当FPS因为某些状况变得极端低的时候(譬如说每秒不到1个画格), 会不会有甚麽例外状况要特别注意? -- "May the Balance be with U"(愿平衡与你同在) 视窗介面游戏设计教学( http://0rz.tw/V28It ),讨论,分享。欢迎来信。 视窗程式设计(Windows CLR Form)游戏架构设计(Game Application Framework) 游戏工具设计(Game App. Tool Design ) 电脑图学架构及研究(Computer Graphics)论文代读(含投影片制作) --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.96.77.176
1F:推 silveriii:有看有推 01/23 12:39
2F:推 lightmaple:看完推一个 01/23 13:03
3F:推 LinaInverse:推~! 01/23 13:08
4F:推 Yshuan:请问这两篇文章可以借转吗~? 01/23 15:22
5F:→ NDark:可.作者时间请一起.这边有网页版 http://wp.me/pBAPd-9z 01/23 15:27
※ 编辑: NDark 来自: 140.96.77.176 (01/23 17:06)
6F:推 Alaba:好! 01/24 01:32
7F:推 cloner:推~~ 01/24 06:30
8F:推 wangm4a1:推 01/24 09:16
9F:→ vonRundstedt:推 02/19 14:10
10F:推 Andyhsu:推~ 03/11 01:54







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP