ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>久久综合九色综合网站,亚洲精品乱码久久久久久蜜桃图片 ,久久精品国产精品亚洲精品http://www.shnenglu.com/mzty/category/5694.html<br/> <br/> <a href = "http://www.shnenglu.com/mzty/archive/2007/03/02/19109.html"><font size = 5 color ="#00FFFF">{C++ 基础}<font/></a> <a href = "http://www.shnenglu.com/mzty/archive/2007/08/13/29922.html"><font size = 5 color ="#00FFFF">{C++ 高çñ”}<font/></a> <a href = "http://www.shnenglu.com/mzty/archive/2007/04/16/22064.html"><font size = 5 color ="#00FFFF">{C#界é¢åQŒC++核心½Ž—法}<font/></a> <a href = "http://www.shnenglu.com/mzty/archive/2007/03/04/19163.html"><font size = 5 color ="#00FFFF">{设计模å¼}<font/></a> <a href = " http://www.shnenglu.com/mzty/archive/2007/03/04/19167.html"><font size = 5 color ="#FF0000">{C#基础}<font/></a> zh-cnTue, 20 May 2008 03:03:16 GMTTue, 20 May 2008 03:03:16 GMT60游æˆå¼•擎基础åQˆå一åQ‰ï¼ˆæœ€åŽçš„章节åQ?/title><link>http://www.shnenglu.com/mzty/archive/2007/12/04/37781.html</link><dc:creator>梦在天æ„Ó</dc:creator><author>梦在天æ„Ó</author><pubDate>Tue, 04 Dec 2007 05:31:00 GMT</pubDate><guid>http://www.shnenglu.com/mzty/archive/2007/12/04/37781.html</guid><wfw:comment>http://www.shnenglu.com/mzty/comments/37781.html</wfw:comment><comments>http://www.shnenglu.com/mzty/archive/2007/12/04/37781.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/mzty/comments/commentRss/37781.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mzty/services/trackbacks/37781.html</trackback:ping><description><![CDATA[     摘è¦: ½W?1部䆾: 最åŽçš„章节å‰ç«¯ã€€ã€€ä½ å·²¾l看åˆîCº†èœå•¾pÈ»ŸåQŒä½ å¯èƒ½ç†è§£æ¸¸æˆå†…的头顶昄¡¤ºåQˆHUDsåQ‰æ—¶å¸¸æ˜¯æ¸¸æˆ¾l历中被忽视和诽谤的部分。最˜q‘,˜q™ä¸ªé¢†åŸŸå¼€å§‹è¢«¾l™ähå°è±¡éžå¸¸æ·±åˆ»çš„Black and White所å…Ïx³¨åQŒè¿™‹Æ¾æ¸¸æˆå®žé™…上没有HUD。在Peter Molyneux¾l历了Dungeon Keeper以åŽåQŒå®ƒåœ¨å±òq•上大é‡çš„图标,他决定游æˆçš„大部分被˜q™äº›å›¾æ ‡å ç”¨äº†ï¼Œä¸»è¦çš„å±òq•没有被­‘›_¤Ÿåˆ©ç”¨ã€‚因此他军_®šåºŸé™¤æ‰€...  <a href='http://www.shnenglu.com/mzty/archive/2007/12/04/37781.html'>阅读全文</a><img src ="http://www.shnenglu.com/mzty/aggbug/37781.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mzty/" target="_blank">梦在天æ„Ó</a> 2007-12-04 13:31 <a href="http://www.shnenglu.com/mzty/archive/2007/12/04/37781.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>游æˆå¼•擎基础åQˆååQ‰ï¼ˆäººå·¥æ™ø™ƒ½å’Œå¯¼èˆªï¼‰http://www.shnenglu.com/mzty/archive/2007/12/04/37780.html梦在天æ„Óæ¢¦åœ¨å¤©æ„ÓTue, 04 Dec 2007 05:29:00 GMThttp://www.shnenglu.com/mzty/archive/2007/12/04/37780.htmlhttp://www.shnenglu.com/mzty/comments/37780.htmlhttp://www.shnenglu.com/mzty/archive/2007/12/04/37780.html#Feedback0http://www.shnenglu.com/mzty/comments/commentRss/37780.htmlhttp://www.shnenglu.com/mzty/services/trackbacks/37780.html½W?/span>10部分: äººå·¥æ™ø™ƒ½å’Œå¯¼èˆªï¼ˆè·¯å¾„å‘现åQ?/span>


äººå·¥æ™ø™ƒ½åQ?/span>AIåQ?/span>
  我们上é¢å·²ç»ç”¨äº†å…¶ä»–ä¹ä¸ªç« èЂ介ç»äº†æ¸¸æˆå¼•擎,现在让我们深入到éžå¸¸æœ‰è¶£å’Œé‡è¦çš„äººå·¥æ™ø™ƒ½ä¸»é¢˜ã€‚ähå·¥æ™ºèƒ½å¦‚ä»Šæ­£åœ¨å˜æˆè¢«è°ˆè®ºå¾—最多的仅次于游æˆå¼•擎渲染能力的游æˆå¼€å‘领域之一åQŒç¡®å®žå¦‚此。直到大¾U¦ä¸¤òq´åŠä»¥å‰åQŒæ¸¸æˆä¼¼ä¹Žä¸»è¦æ˜¯åœ¨è€ƒè™‘你能够渲染多ž®‘ä¸ªå¤šè¾¹å½¢ï¼Œçœ¼ç›æ˜¯å¤šä¹ˆçš„æ¼‚亮åQŒå’Œå¥?/span>åŠÏx‹‰çš„胸部是多么的有å¼ÒŽ€?/span>...既然我们现在已ç»èƒ½å¤Ÿæ¸²æŸ“出éžå¸¸çœŸå®žçš„ä¹Ïxˆ¿åQŒä¸­å¿ƒå°±å¼€å§‹è{¿UÕdˆ°æˆ‘们实际上用那些多边形åšä»€ä¹ˆäº†åQˆå³çŽ©æ¸¸æˆï¼‰ã€‚因为它¾l™ä½ æä¾›å®žé™…玩游æˆçš„刺激作用和å‚与游æˆä¸–界中正在˜q›è¡Œçš„事情,所以äh工智能在˜q™ä¸ªé¢†åŸŸéžå¸¸å…³é”®ã€?/span>

ã€€ã€€äººå·¥æ™ø™ƒ½åŒ…括了全部的东西åQŒä»Žåœ?/span>Tetrisä¸­å†³å®šå“ªä¸€å—æ–°ç –头掉è½åQˆè¿™å¾ˆå¤§½E‹åº¦ä¸ŠçŸ¥è¯†ä¸€ä¸ªéšåÏx•°äº§ç”Ÿå™¨ï¼‰åQ?/span> 一直到创造基于尾l„çš„½{–略游æˆåQŒè¿™äº›æ¸¸æˆå’Œä½ äº¤äº’,òq¶ä¸”实际上在你玩的时候å‘你学习。äh工智能包å«äº†è®¸å¤šè§„则åQŒå¦‚果你åQˆä½œä¸ÞZ¸€ä¸ªæ¸¸æˆå¼€å‘者)没有èŠÞp´¹­‘›_¤Ÿå¤šçš„æ—‰™—´è®©å®ƒæ­£ç¡®åœ°å·¥ä½œï¼Œå®ƒä¼šå过æ¥åœ¨ä½ å±è‚¡ä¸Šå’¬ä¸€å£ã€‚所以让我们谈论一些哪些规则?˜q™æ ·ä½ èƒ½æ›´å¥½åœ°ç†è§£äh工智能系¾lŸä¼š¼‹®å®žæ˜¯å¤šä¹ˆçš„夿‚ã€‚äØ“äº†é¿å…法律上的纠¾UøP¼Œæˆ‘们ž®†ä‹É用一个å‡è®„¡š„游æˆè€Œä¸æ˜¯ä¸€ä¸ªçœŸå®žçš„æ¸¸æˆä½œäؓ例å­ã€?/span>

  å‡è®¾æˆ‘们的游æˆä¸­æœ‰å份å­ç”Ÿæ´»åœ?/span>3D世界中,òq²ç€ä»–们的事情,而且如果你打æ…了他们的正常次åºä»–ä»¬å°±ä¼šåæŠ—ä½ åQˆçŽ©å®Óž¼‰ã€‚你必须军_®šçš„第一件事情就是他们正在从事的到底是什么事情呢åQŸä»–们正在守å«ä»€ä¹ˆä¸œè¥¿å—åQŸåœ¨å·¡æŸ¥åQŸåœ¨è®¡åˆ’一个èšä¼šï¼Ÿåœ¨è´­ä¹°é£Ÿå“æ‚货?在整ç†åºŠé“ºï¼Ÿå»ºç«‹è¡Œäؓ的基¾U¿æ˜¯æ¸¸æˆå¼€å‘者的工作之一。一旦有了这个,你就æ€ÀLœ‰NPCåQˆéžçŽ©å®¶è§’è‰²åQ‰æˆ–计算机控制的äº?/span>能够æ¢å¤åŽÕdšçš„事情,玩家与他们的交互ž®±åº”当能被完æˆã€?/span>

  一旦我们知é“一ä¸?/span>NPC角色需è¦åšä»€ä¹?/span> â€?比如它在守å«ä¸€æ‰‡é—¨åQŒåƈ且在˜q™ä¸ªåŒºåŸŸž®åÙE逻,NPC也必™åÀLœ‰ä¸–界æ„识。游æˆè®¾è®¡è€…需è¦å†³å®?/span>NPCçš„äh工智能将如何看è§ä¸–界åQŒå’Œå®ƒçš„知识范围。你ž®†ä¼šä»…ä»…è¯?/span>è®¡ç®—æœºçŸ¥é“æ­£åœ¨è¿›è¡Œçš„æ¯äšg事情å—?˜q™é€šå¸¸è¢«è®¤ä¸ºæ˜¯ä¸€ä»¶ç³Ÿ¾p•的事情åQŒå› ä¸ºéžå¸¸æ˜Žæ˜¾è®¡½Ž—机能够看è§å’Œå¬è§ä½ ä¸èƒ½çœ‹è§å’Œå¬è§çš„事情åQŒè¿™è¢«å½“æˆæ˜¯åœ¨ä½œå¼Šã€‚䏿˜¯ä¸€¿U有­‘£çš„¾l历。或者你ž®†æ¨¡æ‹Ÿä»–的视野,˜q™æ ·ä»–åªèƒ½å¤Ÿå¯¹ä»–能看è§çš„事物作出å应å—?当有墙å£å‡ºçŽ°æ—¶è¿™é‡Œå°±æœ‰é—®é¢˜äº†åQŒå› ä¸ÞZ½ å¼€å§‹è¿›å…¥é‚£äº›æˆ‘在第ä¹éƒ¨åˆ†æåˆ°çš„˜q½è¸ªä¾‹ç¨‹åQŒçœ‹çœ?/span>NPC是å¦è¯•å›¾å¯¹è¢«å¢™å£æŒ¡ä½çš„äh作出å应。这是一个很明显的äh工智能问题,但是当涉åŠåˆ°é—¨å’Œ½H—户æ—Óž¼Œ˜q™ä¸ªç”šè‡³å˜å¾—æ›´åŠ å¤æ‚了ã€?/span>

ã€€ã€€å½“ä½ å¼€å§‹äØ“AI刺激例程增加å¬è§‰æ„识æ—Óž¼Œ˜q™ä¾ç„¶å˜å¾—æ›´åŠ å¤æ‚了。但是,˜q™ä¸ªæ„识是那些关键的ž®äº‹æƒ?/span>之一åQŒè¿™äº›ä‹É得凿ƒ³çš„æ¸¸æˆä¸–界ä¼ég¹Žæ›´åŠ çœŸå®žåQŒæˆ–者能够去除怀疑的悬念。如果你¼„°åˆ°˜q‡è¿™æ ïLš„事情åQŒè¯·ä¸¾æ‰‹åQšä½ åœ¨æžªæˆ˜ä¸­è·Ÿä¸€ä¸?/span>NPC交战åQŒå…除了一ä¸?/span>NPCåQŒä½ ¾l•ç€è§’è½è¡Œèµ°òq‰™‡åˆîCº†å¦å¤–一ä¸?/span>NPCä¾ç„¶ä¿æŒä»–çš„¾~ºçœè¡Œäؓ模å¼åQŒæ²¡æœ‰æ„识到刚刚å‘生的事情。现在,枪是嘈æ‚的事物,枪战å¯èƒ½å·²ç»æ˜Žæ˜¾åœ°æé†’了一ä¸?/span>們֬çš?/span>NPC有些事情正在˜q›è¡Œã€‚é¿å…è¿™¿U事情的技巧在于找åˆîC¸€ä¸ªæœ‰æ•ˆçš„æ–¹å¼æ¥å†³å®šå£°æºï¼ˆå³ä½ æ­¦å™¨çš„呞®„)的跼›ÀL˜¯å¦èƒö够接˜q‘到NPC能够å¬è§ã€?/span>

  接下æ¥å°±æ˜¯å†³½{–例½E‹ã€‚当我们的åÙEé€?/span>NPC角色能够å¬åˆ°ä½†ä¸èƒ½çœ‹è§æŸç‰©æ—¶åQŒä½ è¯•图实现什么样的行为呢åQŸä»–åŽÕd¯»æ‰‘Ö®ƒå—?ä¸ç†ç¬å®ƒåQŸä½ å¦‚何军_®šä»€ä¹ˆæ˜¯é‡è¦çš„声音他应该åŽÀLˆ–者ä¸åŽ»è°ƒæŸ¥ï¼Ÿå¦‚åŒä½ çœ‹è§çš„ä¸€æ øP¼Œ˜q™ä¼šå¾ˆå¿«å˜å¾—éžå¸¸çš„夿‚。有很多æ–ÒŽ³•æ¥å¾é€ å¤„ç†è¿™äº›äº‹æƒ…的代ç åQŒä½†é€šå¸¸˜q™æ ·æ˜¯ä¸€ä¸ªå¥½ä¸ÀL„åQŒå¾ç«‹ä¸€ä¸ªä¸æ˜¯å¯¹ç‰¹å®šçš?/span>NPC而是å¯Òމ€æœ‰çš„NPC都è“v作用的系¾lŸï¼Œè¯¥ç³»¾lŸåŸºäºŽä½ èƒ½å¤Ÿåœ¨æ¸¸æˆå¼•擎以外的文本文äšg中å¾ç«‹çš„属性。这样就ä¸éœ€è¦ç¨‹åºå‘˜ä¸ÞZ¸€ä¸ªç»™å®šçš„角色而改å?/span>AIåQŒåƈ且如果你å¯Òޏ¸æˆä»£ç åšäº†æ”¹åŠ¨ï¼Œå®ƒå°†ç«‹å³è‡ªåŠ¨åœ°åº”ç”¨åˆ°æ‰€æœ‰çš„è§’è‰²åQŒè¿™åœ¨å¤§å¤šæ•°æƒ…况下是一件好事情ã€?/span>

  其他的世界æ„识问题会冒出æ¥ï¼Œæ¯”如˜q™æ ·çš„æƒ…形,两个守å«å½¼æ­¤ç´§æŒ¨ç€ç«™ç«‹åQŒä½ ç”¨ç‹™å‡ÀL­¦å™¨å¹²æŽ‰äº†ä¸€ä¸ªï¼Œè€Œå¦å¤–一个站在哪儿完全ä¸çŸ¥å·²¾lå‘生的事情。å†è€…,éµå®ˆçœŸå®žä¸–ç•Œè¡ŒäØ“çš„ç»†èŠ‚æ˜¯ä¸€‹Æ‘Ö¥½æ¸¸æˆå’Œä¸€‹Æ¾ä¼Ÿå¤§æ¸¸æˆçš„之间的区别ã€?/span>

  让我们说你已¾l把所有的刺激-å“应部分准备好了â€?/span>ä½ å·²¾l扫æäº†ä¸–界åQŒå†³å®?/span>NPC应当å¯ÒŽ­£åœ¨è¿›è¡Œçš„一些事情作出ååº?/span>â€?/span>ä»–å¬åˆîCº†çŽ©å®¶è§’è‰²å‘出了声å“?/span>â€?/span>òq¶ä¸”你(游æˆå¼€å‘者)军_®šäº†ä»–应当对这个åšäº›ä»€ä¹?/span>â€?/span>ä»–å°†åŽ»è°ƒæŸ¥ã€‚çŽ°åœ¨æ›´åŠ å¤æ‚的事情æ¥äº†ã€‚他如何¼›Õd¼€çŽ°åœ¨çš„ä½¾|®ï¼Œåˆ°è¾¾ä»–认为å‘出声音的地方åQŒè€Œä¸ä¼šæƒ³é€šå¸¸çš„æ•°å­—傻瓜一栯‚·‘到墙å£é‡Œé¢ï¼Œ¼„°åˆ°å®¶å…·å‘¢ï¼Ÿ¾l§ç®‹å¾€ä¸‹çœ‹


有关正确的èµ\å¾?/span> --- ä¸–ç•Œå¯ÆDˆª
  快速,准确的世界导èˆ?/span>( 也å«åšèµ\å¾?/span>-å‘现) ˜q‘æ¥å·²ç»æˆäؓ游æˆå¼€å‘者的圣æ¯ã€?/span> 让它看è“væ¥éžå¸æ€¿¡æœæ˜¯ä¸€ä»‰™žå¸¸å›°éš„¡š„äº‹æƒ…ã€‚ä½ éœ€è¦æœ‰å±€éƒ¨ä¸–界的地ç†çŸ¥è¯†â€?/span>墙å£çš„ä½¾|®ï¼Œå°é˜¶åQŒæ‚¬å´–和建筑物等的边¾~˜ã€‚你也需è¦ä¸–界中的对象的知识â€?/span>比如家具åQŒæ±½è½¦ï¼Œž®¤å…¶æ˜¯å…¶ä»–äh的佾|®ã€‚真正最åŽçš„因素是问题所在,一会儿我们ž®†å›žåˆ°è¿™ä¸€ç‚¹ä¸Šã€?/span>

ã€€ã€€ä¸–ç•Œå¯ÆDˆªé€šå¸¸è¢«åˆ†ä¸ÞZ¸¤ä¸ªé¢†åŸŸï¼Œä¸–ç•Œå¯ÆDˆªå’Œå±€éƒ¨å¯¼èˆªã€‚äºŒè€…å®žé™…ä¸Šåªæ˜¯èŒƒå›´ä¸Šçš„区别åQŒä½†å¤§å¤šæ•°çš„½E‹åºå‘˜åˆ†åˆ«å¯¹å¾…å®ƒä»¬ï¼Œå› äØ“˜q™æ ·å¤„ç†èµäh¥å®ÒŽ˜“一些。世界导航例½E‹å¤„ç†ç†è§£æˆ¿é—ß_¼Œé—¨å’Œä¸€èˆ¬çš„地ç†å­¦ï¼Œòq¶è®¡½Ž—出让玩家或者角色从世界中的A点到è¾?/span>B点的一æ¡èµ\径ã€?/span>它将让你ä»?/span>A点到è¾?/span>Bç‚?/span>åQŒè¿™æ˜¯ä¸€å¥å¾ˆå®ÒŽ˜“说的è¯ï¼Œä¸æ˜¯å—?说è“væ¥å®¹æ˜“,但åšèµäh¥å¾ˆå›°éš¾ã€‚ç†è§£ä¸–界是一个éžå¸¸å¤æ‚问题,我已¾l看到过许多ž®è¯•˜q‡çš„解决办法ã€?/span>QuakeIII的机器ähé늅§å»ºé€ çš„预先处熘q‡çš„地图åQŒä¸€èˆ¬çš„说法åQŒä‹É用原æ¥åœ°å›„¡š„地é¢ã€‚预处ç†å™¨æ£€‹¹‹åœ°é¢å…ƒç´ ï¼Œç”±åœ°å›‘־造者作上标讎ͼŒòq¶è‡ªå·±å¾é€ ä¸€ä¸ªåªä½¿ç”¨åœ°é¢çš„世界简化地图。机器ähòq¶ä¸å…›_¿ƒå¢™å£åQŒå› ä¸ÞZ»–ä»¬ä»Žä¸æŽ¥˜q‘它们,ž®±åƒä»–们é늅§åœ°é¢çš„åœ°å›¾ä¸€æ øP¼Œè®¾è®¡ä¸Šå·²¾l把é¿å…墙壿ž„造在里é¢äº†ã€?/span>

  其他æ–ÒŽ³•在地图本íw«é‡Œé¢å¾é€ ä¸€äº›å°çš„结点,AIå¯ä»¥˜q½éšå®ƒä»¬ã€‚这些结炚w€šå¸¸è¢«å¾é€ åœ¨å½¼æ­¤çš„视¾U‰K‡Œé¢ï¼Œæœ‰ä»Žä¸€ä¸ªç»“点到其他所有结点的˜qžæŽ¥åQŒè§’è‰?/span>AI能够直接看è§åQŒæ‰€ä»¥ä½ ž®Þq¡®ä¿äº†ä»Žä¸€ä¸ªç»“点移动到å¦å¤–一个结ç‚ÒŽ—¶AIä¸ä¼šè¯•图½I¿è¶Šå¢™å£ã€‚如果有门或者é™è½ç‰©åQŒä½ èƒ½å¤Ÿäº‹å…ˆç”¨è¿™äº›ç»“点对路径的信æ¯ç¼–ç ï¼ŒäºŽæ˜¯NPC能够采用适当的行ä¸?/span>â€?/span>½{‰å€™ç”µæ¢¯ï¼Œæ‰“开一扇门åQŒæˆ–者从一点蟩到å¦å¤–一ç‚V€‚这实际上是HereticII使用的系¾lŸï¼Œä¹Ÿæ˜¯Raven在他们其他的大多数游æˆä¸­ä½¿ç”¨çš„ç³»¾lŸã€?/span>

  关于˜q™ä¸ªä¸»é¢˜åQ?/span>3D Realmsçš?/span>Jess CrableåQŒçŽ°åœ¨äØ“Duke Nukem Forever工作åQŒå¦‚是说åQ?/span>

  "坯Dˆªåœ¨è®¸å¤šæ–¹é¢æ˜¯ä¸ªå·¨å¤§çš„æŒ‘战åQŒä¸»è¦æ˜¯å½“游æˆä¸­æœ‰å¤§é‡æ­£åœ¨å‘生的事情和一些éžè®¡åˆ’性的东西åQŒæ¯”如障¼„ã€‚äØ“äº†é¿å…å’ŒåQˆæˆ–åQ‰çœŸå®žåœ°å¯šwžè®¡åˆ’性的障ç¢ç‰©å¯¼èˆªï¼ˆä¾‹å¦‚åƒå¦å¤–çš„AIåQ‰ï¼ŒAI需è¦å¾ˆå¥½åœ°çŸ¥é“正在它周围å‘生的事情。比较而言å¦å¤–一个巨大的挑战ž®±æ˜¯çœŸå®žæ„Ÿã€‚如æž?/span>AI正在表现玩家在实际生‹zÖM¸­çœ‹åˆ°çš„一些东西,比如说一个ähåQŒæˆ–者一æ¡ç‹—åQ?/span> 那么让它看上åŽÈœŸå®žå¯ä¿¡å°±æ›´åŠ å›°éš¾ã€?/span>"

  然厞®±æ˜¯å±€éƒ¨å¯¼èˆªã€‚我们å¯èƒ½æœ‰ä¸€æ¡èµ\径让我们çš?/span> NPC 从他在世界中的佾|®ï¼Œ¿UÕdЍåˆîC»–è®¤äØ“å¬åˆ°å£°éŸ³çš„地方,但你ä¸èƒ½ç›²ç›®åœ°æŒ‰ç…§è¿™ä¸ªæ‰§è¡Œåƈ期望得到看è“væ¥ä¸é”™çš„¾l“果。这¿U性质的èµ\径們֑于éžå¸¸ç‰¹å®šäºŽä¸€ä¸ªç»™å®šçš„目的。当你沿ç€èµ°å»Šä»Žä¸€ä¸ªæˆ¿é—´è·‘到å¦å¤–一个房间时åQŒå®ƒå¾ˆå¥½åQŒä½†å¦‚果你试图指å¯ég»–½I¿è¶Šä¸€ä¸ªå·¨å¤§çš„æˆ‰K—´æ—Óž¼Œè·¯å¾„¾l“点æ–ÒŽ³•å®ÒŽ˜“最¾lˆå¾—åˆîC¸€äº›çœ‹èµäh¥å¾ˆå¥‡æ€ªçš„å‘现路径。这些èµ\å¾„ä¹Ÿä¸æ˜¯åЍæ€çš„。因ä¸ÞZ»–们被预先建造,他们ä¸å®¹æ˜“考虑åˆîC¸–界的ä»ÖM½•动æ€å˜åŒ–。桌å­å¯èƒ½æœ‰è¢«ç§»åŠ¨è¿‡äº†ï¼Œæ¤…å­è¢«ç ´å了åQŒå¢™å£è¢«æ‘§æ®‹åQŒå½“ç„Óž¼ŒäºÞZ»¬ä¼šç§»åŠ¨ã€‚è¿™ž®±æ˜¯å±€éƒ¨å¯¼èˆªä¸åŒäºŽä¸–ç•Œå¯ÆDˆªçš„地æ–V€‚å®ƒå¿…é¡»è€ƒè™‘å±€éƒ¨ä¸–ç•ŒåÆˆå¯ÆDˆªNPC在里é¢ç©¿­‘Šã€‚它必须知é“周围的环境,存在哪些å¯ä»¥é€‰æ‹©çš„èµ\径,òq¶å†³å®šé€‰æ‹©å“ªä¸€æ¡ã€?/span>

  在局部导航中最大的问题是其他的NPC。给定一个å‘现èµ\径的具体例程åQŒå¦‚果你在相åŒçš„ä¸€èˆ¬åŒºåŸŸä¸­æœ‰ä¸æ­¢ä¸€ä¸?/span>NPCåQŒä»–们都试图到达世界的åŒä¸€åœ°ç‚¹åQŒç»“果是他们都éžå¸¸å®¹æ˜“有相åŒçš„èµ\径。然åŽä»–们试图沿瀘q™ä¸ªè·¯å¾„行进åQŒç»“果彼此é‡åˆîC¸€èµøP¼Œç„¶åŽèŠÞp´¹ä»–们所有的旉™—´è¯•图ž®†å½¼æ­¤åˆ†å¼€åQŒåƈ且一旦æˆåŠŸåœ°åˆ†å¼€äº†ï¼Œä»–ä»¬å†æ¬¡è¯•图到达目标åQŒç„¶åŽæˆ‘们åˆå†æ¬¡çœ‹åˆ°åŒæ ·çš„事情å‘生。这一切看èµäh¥éƒ½æ˜¯éžå¸¸çš„æ„šè ¢ï¼Œ˜q™ä¸æ˜¯å¤§å¤šæ•°äººæƒ³è¦çš„æ•ˆæžœã€‚所以需è¦ä¸€äº›èµ\径å‘çŽîC¸­çš„å˜åŒ–æ¥é¿å…˜q™ç§æƒ…åÅžåQŒéœ€è¦ä¸€äº›å¦¥å–„处ç†é¿å…的代ç ã€‚有大é‡èƒ½å¤Ÿå¸®åŠ©è§£å†³˜q™ç§æƒ…åŞ的算法ã€?/span>


äººå·¥æ™ø™ƒ½å’Œè§’色动画问é¢?/span>
  当然åQŒå½“角色自己在世界中行走时你必须完全地决定你惌™¦è§’色播放什么动甅R€‚å¬èµäh¥æ— èƒöè½»é‡åQŸä¸æ˜¯çš„。关于这个主题,Ravençš?/span> Chris Reed—Soldier of FortuneII使用å䨓LICHçš?/span>AI¾pÈ»Ÿçš„现在的负责äº?/span>â€?/span>如是è¯ß_¼š

  "此刻我能告诉你,我们在åã^æ»‘ç§»åŠ¨ä¸Šæ­£æœ‰ç€æœ€å¤§çš„困难。在一个多丘陵的长满è‰çš„丛林中试图让五个角色在彼此附近行走是一个éžå¸¸å›°éš„¡š„问题。让底层¾pÈ»Ÿå®Œç¾Žæ˜¯é‡è¦çš„åQŒå› ä¸ºé™¤éžè§’色在较低层次上(é¿å…墙å£åQŒé€‚当的动画)看è“væ¥çœŸå®žï¼Œä»–们ä¸èƒ½å¤Ÿæœ‰æ•ˆåœ°è¡¨è¾¾ä»ÖM½•较高层次军_®šçš„æ™ºèƒ½ã€‚由于这个å•独的原因åQŒåЍç”Õd’Œåº•层的移动是最é‡è¦çš„和最隑֮žçŽ°çš„ã€‚å®ƒ¼‹®å®žéœ€è¦å®Œ¾ŸŽã€?/span>"

  因此我们已ç»è®©æˆ‘们的角色ä»?/span>A点到达了B点,他自å·Þq©¿­‘Šä¸–界,在途中é¿å…éšœç¢ç‰©ï¼Œæ­£ç¡®æ’­æ”¾åŠ¨ç”»åQŒçŽ°åœ¨åˆ°è¾¾äº†˜q™é‡Œã€‚他看è§äº†ä½ ã€‚接下æ¥åšä»€ä¹ˆå‘¢åQŸå¾ˆæ˜Žæ˜¾æ›´å¤šçš„æ˜¯ä½œå‡ºå†³ç­–。他ž®†å‘你射凅R€‚太‹‚’了。你回应ž®„击。现在干什么?当他试ç€é€ƒèµ°çš„æ—¶å€™ï¼ŒçŽ°åœ¨ä½ å†‹Æ¡ç»åŽ†å…¨éƒ¨åŒæ ïLš„事情ã€?/span>

  ä¸ÞZº†è®©è¿™äº›æƒ…形看èµäh¥ä»¤ähä¿¡æœåQŒä½ çœ‹è§äº†è¿™é‡Œå¿…™å»è¦å¤„ç†çš„大é‡é—®é¢˜ã€‚如果你建立你的AIä½¿ç”¨æ²¡æœ‰åŠ¨ç”»çš„è¡Œä¸ø™®©NPC执行åQŒè¿™èƒ½è¢«æ··åˆã€‚一äº?/span>Soldier of Fortune中的AIž®±æ˜¯˜q™æ ·çš„例å­ã€‚他们å—åˆîCº†æŒ‡è´£åQŒå› ä¸ºå家伙没有以适当的方å¼å¯¹åˆºæ¿€ä½œå‡ºå应。当他们明显应该˜q™æ ·åšçš„æ—¶å€™ï¼Œæ•Œæ–¹NPC䏿‰«ž®„,或者ä¸é€ƒè·‘。部分问题是他们没有扫射敌ähNPC的动画,或者让他们往回跑åQŒå› ä¸ºç©ºé—´çš„问题。因此世界上所有最伟大çš?/span>AI代ç éƒ½ä¸èƒ½å¤Ÿè§£å†³˜q™ä¸ªé—®é¢˜ã€‚这是所有è¦è€ƒè™‘çš„é‡è¦äº‹æƒ…ã€?/span>

  想知é“éšè—的隄¡‚¹å—?看看我å‰é¢æ‰€æœ‰çš„æè¿°åQŒç„¶åŽè¯•瀞®†å®ƒåº”用åˆîC¸€¾l?/span>NPC上,˜q™äº›NPC彼此必须说è¯åQŒè®¾å®šç›®æ ‡ï¼Œå½¼æ­¤æ²Ÿé€šï¼Œä½†ä¸å¦¨ç¢å½¼æ­¤çš„æ–¹å¼ã€‚一旦你˜q™ä¹ˆåšäº†åQŒè¯•试那些代ç ï¼Œä½œäؓ玩家的队å‹åšä¸Šé¢æ‰€æè¿°çš„这些,然而ä¸è¦åœ¨æžªæˆ˜ä¸­å¦¨¼„ä»–ã€‚çŽ°åœ¨è¿™æ˜¯å¤æ‚的。然åŽè¿™æˆäØ“ä¹è¶£ã€‚这是最困难的部分ã€?/span>Ravençš?/span> Chris Reed关于AI‘感觉的一些评论:

  "我认为å馈是AI的一个æžå¤§çš„问题。如果角色对于他周围环境的å˜åŒ–ä¸äº§ç”Ÿå应åQŒæ¸¸æˆçš„真实感就被完全打破了。这有许多明昄¡š„例å­(å¬è§æžªç‚®å£ŽÍ¼Œçœ‹è§åŒä¼´è¢«å‡»ä¸?/span>...)åQŒä»¥åŠä¸€äº›æ›´åŠ å¾®å¦™çš„äº‹æƒ…(当两个äh通过门厅时看ç€å½¼æ­¤òq¶ç‚¹å¤´è‡´æ„?/span>)ã€‚çŽ©å®¶æ˜¯ä¹æ„接å—一些生¼‹¬å’Œå¯é¢„‹¹‹æ€§çš„åQŒä½†æ˜¯è¿™äº›äº‹ç‰©å®¹æ˜“把游æˆå¸¦åˆ°çŽ°å®žç”Ÿæ´»ã€?/span>"

  òq¶ä¸”Jess Crable 赞åŒåQ?/span>

  "òqŒ™¡¡æ˜¯éžå¸”R‡è¦çš„对玩家将会有多大的乭‘£è‡³å…³é‡è¦ï¼Œä½†è¿˜æœ‰å…¶ä»–的问题è¦åã^衡。游æˆçŽ©å®¶æ—¶å¸¸è¯´ä»–ä»¬æƒ›_œ¨æ¸¸æˆä¸­çœ‹è§æ›´åŠ çœŸå®žçš„äººå·¥æ™ø™ƒ½ã€‚然而,太多的真实感开始把ä¹è¶£å¸¦èµ°ã€‚在˜q™ä¸¤è€…之间必™å»è¦æœ‰ä¸€ä¸ªå¥½çš„åã^衡。å˜åŒ–å’ŒéšæœºåŒæ ·ä¹Ÿå¾ˆé‡è¦â€?/span>è¡ŒäØ“çš„å˜åŒ–ï¼Œå’Œä¿æŒåœ¨å¯ä¿¡èŒƒå›´å†…的一定程度的ä¸å¯é¢„测性ã€?/span>"


游æˆè§„则与自然å‘生的游æˆ
  在我们关äº?/span>AI的所有æ˜qîC¸­åQŒæˆ‘们采用的æ˜?/span>FPS的方å¼ã€‚æœ‰ä¸æ­¢ä¸€¿Uçš„AI。我们已¾læ˜q°çš„æ˜¯å¤„ç?/span>3D世界一¾l„规则ã€?/span>AI˜qœè¿œä¸æ­¢˜q™äº›ã€‚时常最好的AI实际上éžå¸¸çš„½Ž€å•。它ž®±æ˜¯ä¸€¾l„规则,玩家必须å“应和处ç†çš„å“应åQˆæˆ–开始)动作的规则ã€?/span>

  ˜q™é‡Œåº”当处ç†ä¸€ä¸ªè¢«¿UîCؓ自然å‘生的游æˆ?/span>的专业术语ã€?/span> 自然å‘ç”Ÿçš„æ¸¸æˆæœ¬è´¨ä¸Šåˆ›é€ æ¸¸æˆå°†éµå®ˆçš„è§„åˆ™ï¼Œé‚£å°†ä¼šé€ æˆæ¸¸æˆ½E‹åºå‘˜ä¸èƒ½é¢„è§çš„æƒ…åÅžã€?/span>

  举例æ¥è¯´åQŒè±¡‹‚‹èƒ½è¢«è®¤ä¸ºæ˜¯è‡ªç„¶å‘生的游æˆã€‚有一¾l„规则,但游æˆèƒ½å¤Ÿé™·å…¥å„¿U程åºå‘˜ä¸èƒ½å¤Ÿä»¥ä¸ªåˆ«æ–¹å¼å¤„ç†çš„æƒ…形。你ä¸èƒ½ä¸ºæ¯ä¸€¿Uå¯èƒ½çš„‹‚‹å±€æƒ…åÅž¾~–ç è§„则。很清楚åQŒæ¸¸æˆçŽ©å®¶æ¯‹Æ¡ä¸ä¼šæ€ÀL˜¯é¢äÍ相åŒçš„æ¸¸æˆæƒ…景。一定程度上åQŒè¿›è¡Œä¸­çš„æ¸¸æˆæƒ…形会æ ÒŽ®ä»–çš„è¡ŒåŠ¨è€Œå‘生å˜åŒ–ã€?/span>Black and White是这¿U情形的一个完¾ŸŽçš„例å­åQŒå’ŒThe Sims一æ ?/span>â€?/span>æ¸¸æˆæœ‰å®ƒè‡ªå·±çš„规则,但你如何˜q用和调和他们是你自å·Þqš„事情。实际上åQŒä½ åœ¨çŽ©æ¸¸æˆçš„过½E‹ä¸­åˆ›é€ ç€æ¸¸æˆåQŒè€Œä¸æ˜¯ç…§ç€æ¸¸æˆè®¾è®¡è€?/span>/½E‹åºå‘˜å·²¾läØ“ä½ å®šä¹‰çš„è·¯çº¿˜q›è¡Œã€?/span>

  有å¯èƒ½æŠŠåŸÞZºŽè§„则的,自然å‘ç”Ÿçš„æ¸¸æˆæ–¹å¼å’ŒFPS环境混åˆåœ¨ä¸€èµ—÷€?/span>Half Life中的一些æ“v军陆战队士兵的行为就是这样åšçš?/span>â€?/span>压制ç«åŠ›å’Œä¾§¾˜¼æ”»å‡ÖM»Žè®‘Ö®šçš„规则中动æ€å®Œæˆã€‚它看è“væ¥æ˜¯åЍæ€çš„åQŒè€Œä¸”一定程度上它是˜q™æ ·ã€‚然而,åœ?/span>FPS世界中仅仅有一¾l„规则时常是ä¸å¤Ÿçš„。几何和其他AI时常能够打èÓ|½Ž€å•的规则åQŒè¿™è®©ä¿æŒæ­£¼‹®åƈä¾ç„¶æœ‰è¶£å˜å¾—æ›´åŠ å›°éš¾ã€‚æ‰€ä»¥å¯¹é‚£äº›å¯æ€œçš„AI½E‹åºå‘˜æœ‰ä¸€äº›åŒæƒ…心å§ã€‚他们的工作ä¸å®¹æ˜“ã€?/span>


  好å§åQŒä¸‹é¢è¿˜æœ‰ä¸€ä¸ªç« èŠ‚ï¼Œä»…ä»…˜q˜å‰©ä¸‹ä¸€ä¸ªç« èŠ‚äº†ã€‚åœ¨æœ€åŽçš„章节里,我们ž®†è®¨è®ºå¤´™å¶æ˜¾½Cºï¼Œèœå•¾pÈ»ŸåQŒæ¸¸æˆå®šåˆ¶å’Œé…ç½®åQŒæ¸¸æˆå¼•擎版æƒä¸Žå»ºé€ ï¼Œæœ€åŽæ˜¯æ¸¸æˆ“mods”ã€?/span>



]]>
游æˆå¼•擎基础åQˆä¹åQ‰ï¼ˆçްæˆäº§å“与定åšçš„æ¸¸æˆå¼•擎设计工具åQŒæ¸¸æˆç‰¹å®šä¸»é¢˜ï¼‰http://www.shnenglu.com/mzty/archive/2007/12/04/37779.html梦在天æ„Óæ¢¦åœ¨å¤©æ„ÓTue, 04 Dec 2007 05:28:00 GMThttp://www.shnenglu.com/mzty/archive/2007/12/04/37779.htmlhttp://www.shnenglu.com/mzty/comments/37779.htmlhttp://www.shnenglu.com/mzty/archive/2007/12/04/37779.html#Feedback0http://www.shnenglu.com/mzty/comments/commentRss/37779.htmlhttp://www.shnenglu.com/mzty/services/trackbacks/37779.html阅读全文

梦在天æ„Ó 2007-12-04 13:28 å‘表评论
]]>
游æˆå¼•擎基础åQˆå…«åQ‰ï¼ˆè„šæœ¬¾pÈ»ŸåQ?/title><link>http://www.shnenglu.com/mzty/archive/2007/12/04/37778.html</link><dc:creator>梦在天æ„Ó</dc:creator><author>梦在天æ„Ó</author><pubDate>Tue, 04 Dec 2007 05:27:00 GMT</pubDate><guid>http://www.shnenglu.com/mzty/archive/2007/12/04/37778.html</guid><wfw:comment>http://www.shnenglu.com/mzty/comments/37778.html</wfw:comment><comments>http://www.shnenglu.com/mzty/archive/2007/12/04/37778.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mzty/comments/commentRss/37778.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mzty/services/trackbacks/37778.html</trackback:ping><description><![CDATA[     摘è¦: ½W?部䆾: 脚本¾pÈ»Ÿè„šæœ¬¾pÈ»Ÿã€€ã€€æˆ‘们从第七部分的游戾|‘络问题æ¥åˆ°äº†è„šæœ¬ç³»¾lŸï¼Œå› äؓ其呈现的故事å™è¿°æœÞZ¼šåQŒæœ€˜q‘å·²¾låÅžæˆä¸€¿U很大的游æˆå…ƒç´ ã€‚在一个需è¦ä»¥å—控制的方å¼è§£é‡Šçš„æƒ…景,预先¾~–制的电å½Þp„šæœ¬æ˜¯è§£å†³é—®é¢˜çš„æ–¹æ³•ã€‚åœ¨ç”µåª„ä¸­ï¼Œ˜q™é€šå¸¸ç”¨æ¥å¤„ç†æˆ–者由主角å‘一个伙伴解释情形,或者敌人对英雄解释。当ç„Óž¼Œæœ‰å…¶å®ƒçš„æ–ÒŽ³•æ¥åš˜q™äšg事情 -- å™äº‹è€…,倒å™åQŒç­‰½{?– 但通常是ä‹É用实时情景的äºÞZ»¬å’Œäº‹ä»¶æ¥å®Œæˆã€‚当ç„Óž¼Œ...  <a href='http://www.shnenglu.com/mzty/archive/2007/12/04/37778.html'>阅读全文</a><img src ="http://www.shnenglu.com/mzty/aggbug/37778.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mzty/" target="_blank">梦在天æ„Ó</a> 2007-12-04 13:27 <a href="http://www.shnenglu.com/mzty/archive/2007/12/04/37778.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>游æˆå¼•擎基础åQˆä¸ƒåQ‰ï¼ˆ¾|‘络和连¾U¿æ¸¸æˆçŽ¯å¢ƒï¼‰http://www.shnenglu.com/mzty/archive/2007/12/04/37777.html梦在天æ„Óæ¢¦åœ¨å¤©æ„ÓTue, 04 Dec 2007 05:24:00 GMThttp://www.shnenglu.com/mzty/archive/2007/12/04/37777.htmlhttp://www.shnenglu.com/mzty/comments/37777.htmlhttp://www.shnenglu.com/mzty/archive/2007/12/04/37777.html#Feedback0http://www.shnenglu.com/mzty/comments/commentRss/37777.htmlhttp://www.shnenglu.com/mzty/services/trackbacks/37777.html½W?/span>7部䆾: ¾|‘络和连¾U¿æ¸¸æˆçޝå¢?/span>


¾|‘络游æˆ
  我记得一些年å‰ååœ?/span>GDCåQˆæ¸¸æˆå¼€å‘者大会)å¬è´Ÿè´£å¼€å?/span>X-Wing Vs TIE Fighterçš„å®¶ä¼™ä»¬é¢˜äØ“æ·Ò޲¡åœ?/span>Internet” 的演è®ÔŒ¼Œå…¨æ˜¯å…³äºŽè®©ç½‘¾lœæ¸¸æˆå®žæ—¶åœ°åœ?/span>Internetä¸Šå·¥ä½œçš„ä¸œè¥¿ã€‚ä»–ä»¬é€‰æ‹©é‚£ä¸ªé¢˜ç›®æ˜¯å¤šä¹ˆçš„æ­£ç¡®å•Šã€‚å½“å®ƒå¼€å§‹å¤„ç†æ•°æ®åŒ…的丢失,乱åºåQŒæ½œä¼ï¼ˆä¸€ä¸ªæ•°æ®åŒ…å‘é€åˆ°å®ƒçš„目的地所èŠÞqš„æ—‰™—´åQ‰ç­‰½{‰æ—¶åQŒå®ƒ¼‹®å®žæ·Ò޲¡äº†ã€‚然而它是å¯èƒ½çš„。对äº?/span>Internet需è¦ä¸€äº›èªæ˜Žå’Œ¾l验åQŒä½†å®ƒæ˜¯è‚¯å®šå¯èƒ½çš„。看看今天大é‡çš„˜qžçº¿æ¸¸æˆåQŒä»ŽQuake IIIåQ?/span>Unreal TournamentåQ?/span>Counter Strike一直到EverQuestå’?/span>Ultima Onlineã€?/span>

  如今大多数真正有长久生命力的游æˆéƒ½è‡³ž®‘有一些连¾U¿æˆåˆ†ã€‚最¾U¯çÑaçš„å•人游æˆå®¹æ˜“玩一‹Æ¡ï¼Œä¹Ÿè®¸ä¸¤æ¬¡åQŒæˆ–者甚至三‹Æ¡å¦‚果它是éžå¸¸å¥½çš„æ¸¸æˆï¼Œä½†ä¸€æ—¦æ¸¸æˆç»“æŸï¼Œž®Þp¢«æŸä¹‹é«˜é˜äº†ã€‚如果你惌™¦æœ‰ä“Q何长久生命力åQŒé‚£ä¹ˆå¤šäºø™¿ž¾U¿æ¸¸æˆå°±æ˜¯åŞ势的核心所在,òq¶ä¸”é‚£æ„味ç€å’?/span>Internet打交é“,为编ç è€…打开了那个潘多拉的盒å­ã€?/span>

  那么è·?/span>Internet打交é“包括些什么呢åQŸé¦–先是è¦ç†è§?/span>Internet是怎么工作的,和点对点与客æˆähœº/æœåС噍体¾pÈ»“构的快速讨论。点对点ž®±æ˜¯ä½ åœ¨ä¸¤å°æœºå™¨ä¸Šè¿è¡Œæ¸¸æˆï¼Œòq¶ç®€å•地在它们之间共享输入。æ¯ä¸ªå•独的游æˆå‡å®šå®ƒæ˜¯æ­£ç¡®çš„,òq¶ä»…仅在它一òq€æŽ¥ä¸€òq€çš„刷æ–îC¸­åˆåƈæ¥è‡ªå¦å¤–䏀尿œºå™¨çš„输入。客æˆähœº/æœåŠ¡å™¨æ˜¯ä¸€å°æœºå™¨æœ‰æ•ˆåœ°˜q行游æˆåQŒåˆ«çš„æœºå™¨ä»…ä»…æ˜¯ä¸€ä¸ªç»ˆç«¯ï¼ŒæŽ¥å—æ¥è‡ªçŽ©å®¶çš„è¾“å…¥ï¼Œòq¶æ¸²æŸ“æœåŠ¡å™¨è®©å®ƒæ¸²æŸ“çš„ä“Q何东è¥Ñ€?/span>

  客户æœ?/span>/æœåŠ¡å™¨çš„ä¼˜ç‚¹æ˜¯æ¯å°æœºå™¨éƒ½ž®†ä¼šå±•现相åŒçš„æ¸¸æˆï¼Œå› äؓ所有的处ç†éƒ½åœ¨ä¸€ä¸ªåœ°æ–¹å®Œæˆï¼Œæ²¡æœ‰è·¨è¶Šå¤šå°æœºå™¨åQŒä½ å¯ä»¥ä¸ç”¨è€ƒè™‘æ¯å°æœºå™¨ç›æ€º’ä¹‹é—´çš„åŒæ­¥é—®é¢˜ã€‚中‘³ä¹‹å¤„是åQŒæœåŠ¡å™¨æœ¬èínéœ€è¦æœ‰ä¸€äº›é‡è¦çš„CPUå¯ç”¨æ—‰™—´æ¥å¤„ç†æ¯ä¸€ä¸ªè¿žæŽ¥çš„客户机,和一个åˆé€‚çš„¾|‘络˜qžæŽ¥æ¥ç¡®ä¿æ¯ä¸€ä¸ªå®¢æˆähœºåŠæ—¶åœ°æŽ¥æ”¶åˆ°å®ƒçš„æ›´æ–°ã€?/span>


了解IP
  我们都已¾lå¬è¯´è¿‡TCP/IPåQˆä¼ è¾“控制åè®?/span>/¾|‘é—´åè®®åQ‰å’ŒUDPåQˆç”¨æˆäh•°æ®åŒ…åè®®åQ‰ï¼Œ åœ?/span>Web¾|‘络上有大é‡å…³äºŽ˜q™äº›å议的深奥的技术资讯。实际上åQŒåœ¨Cisco¾|‘站上有一些æžå¥½çš„TCP/IP指导。我们将在较高层é¢ä¸Šä»‹ç»ä¸€äº?/span>TCP/IP的基本知识,目的是让你更好地了解使用˜q™äº›æ ‡å‡†å议的网¾lœæ¸¸æˆè®¾è®¡è€…é¢ä¸´çš„æŒ‘战ã€?/span>

  TCP/IPå’?/span>UDP/IP是两层的通信åè®®¾pÈ»Ÿã€?/span>IP层负责网际数æ®åŒ…的传输ã€?/span>UDP或è€?/span>TCP层将大的数æ®åŒ…ä¼ ¾l?/span>IPåQ?/span>IPž®†æ•°æ®åŒ…分割为å°çš„å­æ•°æ®åŒ…,为æ¯ä¸ªæ•°æ®åŒ…加上一个信ž®ï¼Œè®¡ç®—出目的地çš?/span>IP地å€åQŒåº”该如何到è¾ùN‚£é‡Œï¼Œç„¶åŽž®†æ•°æ®åŒ…å‘é€åˆ°ä½ çš„ISPåQŒæˆ–è€…ä¸½Ž¡æ€Žæ ·ä½ è¿žæŽ¥åˆ°¾|‘络ã€?/span> ˜q™å®žåœ¨è±¡æ˜¯åœ¨ä¸€å¼ æ˜Žä¿¡ç‰‡ä¸Šå†™ä¸‹ä½ è¦å‘é€çš„åQŒè„“上邮¼œ¨ï¼Œå†™ä¸Šåœ°å€åQŒå¡ž˜q›ä¸€ä¸ªé‚®½Ž±ï¼Œå®ƒå°±é€èµ°äº†ã€?/span>

  UDPå’?/span>TCP是从你编ç è€…æˆ–è€…æ¸¸æˆæŽ¥æ”¶æ•°æ®åŒ…的高层å议,òq¶å†³å®šè¯¥å¦‚何处熘q™äº›æ•°æ®åŒ…ã€?/span>UDPå’?/span>TCP的区别在äº?/span>TCPä¿è¯æ•°æ®åŒ…的传é€å’Œæœ‰åºåQŒè€?/span>UDPä¸ä¿è¯ã€?/span>UDP是一æ¡ç›´æŽ¥å’ŒIP对è¯çš„å°è·¯ï¼Œè€?/span>TCP是在你和IP之间的一个接å£ã€‚å®ƒåƒæ˜¯åœ¨ä½ å’Œä½ çš„邮件之间有一个管ç†å‘˜åŠ©æ‰‹ã€‚ä‹Éç”?/span>UDP你会自己ä¸ÞZ½ çš„信打字åQŒæŠŠå®ƒä»¬æ”¾è¿›ä¸€ä¸ªä¿¡ž®ç­‰½{‰ã€‚ä‹Éç”?/span>TCP你会仅仅å‘你的管ç†å‘˜å£æŽˆä¿¡ç¨¿åQŒç®¡ç†å‘˜ä¼šåšå…¨éƒ¨çš„å·¥ä½œåÆˆ˜q½è¸ª¼‹®è®¤ä¿¡äšgé€åˆ°äº†ã€?/span>

  然而,所有这些ä×o人惊奇的ä¸ÞZ½ å®Œæˆçš„工作伴éšç€ä»£ä­hã€‚äØ“äº†ç¡®å®šæ•°æ®åŒ…通过Internet完好无æŸåœ°é€åˆ°äº†ç›®çš„æ–¹åQ?/span>TCP期待从目的方为它å‘é€çš„æ¯ä¸ªæ•°æ®åŒ…å‘回一个应½{”包åQˆç½‘¾lœç”¨è¯­æ˜¯ACKåQ‰ã€‚如果它在一定时间内没有收到ACKåQŒå®ƒž®±åœæ­¢å‘é€ä“Q何新的数æ®åŒ…åQŒé‡æ–°å‘é€ä¸¢å¤Þqš„æ•°æ®åŒ…,òq¶ä¸”ž®†ç‘ô¾l­è¿™æ ·åšç›´åˆ°æ”¶åˆ°ç›®çš„æ–¹çš„回应。当你访问一个网™å‰|—¶åQŒæˆ‘们都已ç»çœ‹åˆ°äº†è¿™¿U情形,在åŠé€”中下è²åœæ­¢äº†ä¸€ä¼šç„¶åŽåˆé‡æ–°å¼€å§‹äº†ã€‚å¯èƒ½æ˜¯ä¸€ä¸ªæ•°æ®åŒ…在什么地方丢å¤×ƒº†åQˆå‡å®šä¸æ—?/span>ISP的问题)åQŒåœ¨ä»ÖM½•更多的数æ®åŒ…被å‘é€ä»¥å‰?/span>TCPè¦æ±‚釿–°å‘é€å®ƒã€?/span>

  ˜q™ä¸€åˆ‡çš„问题是,在认识到å‡ÞZº†å·®é”™çš„å‘é€è€…和实际上正在é€è¾¾çš„æ•°æ®åŒ…之间出现了åšg˜qŸã€‚有时这能花上数¿U’é’ŸåQŒå¦‚æžœä½ ä»…ä»…åªæ˜¯ä¸‹è²ä¸€ä¸ªæ–‡ä»¶æˆ–一个网™åµï¼Œ˜q™ä¸æ˜¯ä»€ä¹ˆå¤§¼„ï¼Œä½†å¦‚æžœè¿™æ˜¯ä¸€ä¸ªæ¸¸æˆæ•°æ®åŒ…而且æ¯ç§’臛_°‘æœ‰å‹Æ¡ï¼Œé‚£ä¹ˆä½ çœŸçš„æ˜¯é‡åˆ°éºÈƒ¦äº†ï¼Œž®¤å…¶æ˜¯å› ä¸ºå®ƒåœæ­¢äº†å…¶ä»–一切事情。实际上ž®±æ˜¯˜q™ä¸ªé—®é¢˜æ‰€ä»¥å‡ ä¹Žæ²¡æœ‰æ¸¸æˆé€‰æ‹©ä½¿ç”¨TCPä½œäØ“å®ƒä»¬ä¸»è¦çš?/span>Internetåè®®åQŒé™¤éžå®ƒä¸æ˜¯ä¸€ä¸ªå®žæ—¶åŠ¨ä½œæ¸¸æˆã€‚大多数游æˆä½¿ç”¨ UDP--他们ä¸èƒ½ä¿è¯æœ‰åºæˆ–å¯é é€è¾¾åQŒä½†å®ƒç¡®å®žå¾ˆå¿?/span>â€?/span>或者结果是臛_°‘通常æ¯?/span>TCP/IP更快。现在我们了解这些了åQŒæŽ¥ä¸‹æ¥å‘¢ï¼Ÿ


客户端预‹¹?/span>
ã€€ã€€å› äØ“ UDP 明显的是快速å“应游æˆçš„æ–¹å¼åQŒæˆ‘ä»¬å°†å¿…é¡»è‡ªå·±å¤„ç†æ•°æ®åŒ…çš„ä¸¢å¤±å’ŒäØ•åºã€‚边而且˜q™æ˜¯æŠ€å·§æ‰€åœ¨ã€‚ä¸ç”¨è¯´å‡ºå¤ªå¤šçš„代砿U˜å¯†åQŒæˆ‘ž®Þpƒ½è¯´æœ‰æ–ÒŽ³•。作为开始,有客æˆïL«¯é¢„言åQŒä¸€ä¸ªè¢«è°ˆè®ºå¾—相当多的è¯è¯­ã€‚当你作ä¸ÞZ¸€ä¸ªå®¢æˆïL«¯˜qžæŽ¥åˆîC¸€ä¸ªå¤§çš„æœåŠ¡å™¨åQŒä½†æ˜¯ä¸èƒ½è¿žè´¯åœ°çœ‹è§æ¥è‡ªæœåŠ¡å™¨çš„æ›´æ–°åQŒå®¢æˆïL«¯é¢„言开始è“v作用了。正在你的电脑上˜q行的游æˆéƒ¨åˆ†çœ‹ç€ä½ æ­£¾l™å®ƒçš„输入,òq¶åœ¨¾~ÞZ¹æ¥è‡ªæœåŠ¡å™¨çš„ä»ÖM½•弃ç»ä¿¡æ¯çš„æƒ…况下åQŒå¯¹å®ƒè®¤ä¸ºå°†¾l§ç®‹˜q›è¡Œçš„事情作å‡?/span>最好的猜测。它ž®†ä¼šæ˜„¡¤ºè¢«çŒœ‹¹‹çš„æ•°æ®åQŒç„¶åŽå½“它得到æ¥è‡ªæœåŠ¡å™¨çš„ä¸–ç•Œçš„æœ€æ–°çŠ¶æ€æ—¶åQŒæ”¹æ­£å®ƒè‡ªå·±åQŒå¦‚果需è¦ã€‚ä½ å¯èƒ½ä¼šå¯¹˜q™ä¸ªæ–ÒŽ³•的效力感到惊讶。大体而言åQŒå¤§éƒ¨åˆ†æ—‰™—´æ•°æ®åŒ…ä¸å®ÒŽ˜“丢失â€?/span>大多数时候是一¿U’的几å分之一åQŒè¿™¿Uæƒ…å†µä¸‹æ¸¸æˆæ²¡æœ‰å¤ªå¤šçš„æ—¶é—´å¼›ÀLœåŠ¡å™¨å®žé™…ä¸Šè®¤ä¸ºæ­£åœ¨å‘生的事情。弛ȡ®å®žä¼šéšç€æ—‰™—´å˜çš„æ¯”较大,大多数游æˆé‡Œé¢æœ‰ä¸€ä¸ªè¶…时功能,当出现很长时间没有æ¥è‡ªæœåŠ¡å™¨çš„è”¾lœæ—¶ž®±åœæ­¢æ¸¸æˆã€?/span>

  你正在创造的游戾cÕdž‹åœ¨è¿™é‡Œæœ‰å…³ç³» -- ½W¬ä¸€äººç§°ž®„击游æˆä¸éœ€è¦è¿™æ ähœ‰æ•ˆçš„客户端预­a€åQŒå› ä¸ºå®ƒå¤šæ•°æƒ…况下仅仅处ç?/span>我在哪儿åQŒæˆ‘是å¦è¦å°„击?。在½W¬ä¸‰äººç§°æ¸¸æˆä¸­ï¼Œä½ å¿…™åÀL›´åŠ ç²¾¼‹®ï¼Œå› æ­¤ä½ èƒ½å¤Ÿæ­£¼‹®åœ°é¢„测你的角色正在播放的动画,òq¶ä¸”动作‹¹ç•…。在˜q™ç§æƒ…åŞ中æµç•…的动画是完全必è¦çš„ã€?/span>Heretic II在这斚w¢æœ‰å¾ˆå¤§çš„问题åQŒåƈ且是当它开始网¾lœç¼–ç æ—¶Raven一直ä¸å¾—ä¸å¤„ç†çš„æœ€å›°éš¾çš„事情之一ã€?/span>

  当然如果你有一个很ä¸é”™çš„网¾lœè¿žæŽ¥ï¼Œæ¯”如宽带˜qžæŽ¥åQŒé‚£ä¹ˆè¿™ä¸ªé—®é¢˜å°±˜qœæ²¡æœ‰é‚£ä¹ˆé‡è¦ã€‚对比较大的数æ®åŒ…有一个更宽的½Ž¡é“åQŒå¯¹ä½ çš„¾|‘络˜qžé€šæ—¶é—´æ›´å¿«é€Ÿã€‚事实上åQŒå®½å¸¦å¯¹äºŽæ¸¸æˆçš„主è¦ä¼˜ç‚¹ä¸æ¯”较胖的管é“多åQŒä½†å¤§å¤§å‡å°‘了åšg˜qŸï¼Œç‰¹åˆ«æ˜¯ä½ åˆ?/span>ISP的第一跳上。对äº?/span>56K 调制解调器,½W¬ä¸€è·›_…¸åž‹çš„延迟æ˜?/span>100msåQŒè¿™å·²ç»ä¸¥é‡åœ°å¢žåŠ äº†ä½ åˆ°¾|‘络上ä“Qæ„䏀尿¸¸æˆæœåŠ¡å™¨çš„æ½œåœ¨è¿žé€šæ—¶é—´ã€‚å¯¹äºŽå®½å¸¦è¿žæŽ¥æ¯”å¦‚åƒDSLåQŒç¬¬ä¸€è·³çš„延迟旉™—´å¤šåŠæ˜?/span>20ms。ä‹Éç”?/span>Windows中一个å«å?/span>TraceRouteåQ?/span>TRACERT.EXEåQ‰çš„命ä×o行程åºåƈ指定一个目æ ?/span>IPåœ°å€æˆ–者域å,你能够找å‡ÞZ½ çš„第一跳的˜qžé€šæ—¶é—´ã€‚ä»”¾l†è§‚察第一跻I¼Œå› äØ“˜q™å‡ ä¹Žæ€ÀL˜¯ä½ åˆ°ä½ çš„ISP的网¾lœè¿žé€šæ—¶é—´ã€‚åÆˆä¸”è§‚å¯Ÿä½ åœ¨ä½ çš?/span>ISP的网¾lœå†…部用了多ž®‘蟩直到你看è§åœ¨ä¸€ä¸ªç»™å®šèŸ©ä¸Šåˆ—出的一个ä¸åŒçš„域åã€?/span>

  è¯äh³¨æ„,宽带òq¶ä¸æ€ÀL˜¯èƒ½è§£å†›_šg˜qŸé—®é¢˜ã€‚ä½ ä»ç„¶å—最慢的路由å™?/span>/æœåŠ¡å™¨å’Œæ•°æ®åŒ…从æœåŠ¡å™¨ç©¿­‘Šç½‘¾lœåˆ°è¾¾ä½ çš„蟩敎ͼˆå之亦然åQ‰çš„æ”¯é…。有一个宽带连接确实容易缓和这些,但ä¸å¯èƒ½å®ƒä»¬æœ€åŽå°±æ¶ˆå¤±äº†ã€‚当ç„Óž¼Œå¦‚果你打½Ž—覘q行æŸç§æœåŠ¡å™¨ï¼Œä½ å°†ä¼šéœ€è¦ä¸€ä¸ªå…·æœ‰èƒö够快速的å‘上游的数æ®é€ŸçŽ‡çš„å¸¦å®½ï¼Œå› äØ“ä»…ä»…ä¸€ä¸ªè°ƒåˆ¶è§£è°ƒå™¨ä¸èƒ½å¤Ÿå¤„ç†ä¸€ä¸ªæœåŠ¡å™¨äº§ç”Ÿçš„è´Ÿè—÷€?/span>

  值得一æçš„æ˜¯ï¼Œå¦‚果你想è¦åœ¨PS2或è€?/span>Xbox上é¢çŽ©ç½‘¾lœæ¸¸æˆï¼Œä½ å°†éœ€è¦ä¸€ä¸ªå®½å¸¦è¿žæŽ¥ï¼Œå› äØ“å®ƒä»¬ä¸¤è€…éƒ½ä¸æ”¯æŒè°ƒåˆ¶è§£è°ƒå™¨ã€?/span>


包大ž®ï¼Œæ™ø™ƒ½æ•°æ®ä¼ è¾“åQŒå’Œå作å¼?/span>
  别的必须被处ç†çš„事情是数æ®åŒ…的大ž®ã€‚如果你在一个游æˆé‡Œé?/span>64个äh都在跑æ¥è·‘åŽ»ç›æ€º’æ”Õd‡»åQŒä»Žä¸€å°æœºå™¨å‘é€åˆ°å¦å¤–䏀尿œºå™¨çš„æ•°æ®åŒ…能å˜å¾—相当大,辑ֈ°äº†ä¸€äº›è°ƒåˆ¶è§£è°ƒå™¨æ²¡æœ‰å¸¦å®½å¤„熘q™äº›æ•°æ®çš„程度。这正在å˜å¾—特别和那些有ç€å¾ˆå¤§çš„地表系¾lŸçš„æ¸¸æˆæœ‰å…³ã€‚è¿™é‡Œå¢žåŠ çš„é—®é¢˜æ˜¯ï¼Œå› äØ“ä½ æœ‰˜q™ä¸ªå¾ˆå¥½çš„地表系¾lŸï¼Œä½ èƒ½å¤Ÿçœ‹å¾—很˜qœï¼Œå› æ­¤èƒ½å¤Ÿçœ‹è§è®¸å¤šå…¶ä»–游æˆçީ家åQŒä‹Éå¾—ä½ ä¸ÞZº†¾_„¡¡®æ¸²æŸ“所需è¦çš„æ¥è‡ªæœåŠ¡å™¨çš„æ•°æ®æ•°é‡ä»¥å¾ˆå¿«çš„速率增长。我们能åšä»€ä¹ˆå‘¢åQ?/span>

  好å§åQŒé¦–先必è¦çš„æ˜¯åªå‘é€ç»å¯¹å¿…™åÈš„东西¾l™ä“Q何给定的客户端,因此他仅仅得åˆîC»Žä»–çš„è§’åº¦è§‚å¯Ÿæ¸¸æˆæ‰€éœ€è¦çš„东西。å‘é€åœ¨ä»–视野以外的äºÞZ»¬çš„æ•°æ®æ²¡æœ‰ä¸€ç‚ÒŽ„ä¹?/span>â€?/span>他将看ä¸è§è¿™äº›ã€‚åŒæ—Óž¼Œä½ æœ€å¥½ç¡®ä¿åªå‘é€é‚£äº›æ¯òq€ä¹‹é—´å®žé™…上å‘生改å˜çš„æ•°æ®ã€‚如果一个家伙ä»ç„¶åœ¨æ’­æ”¾ç›¸åŒçš„åŠ¨ç”»ï¼Œé‡æ–°å‘逿•°æ®æ²¡æœ‰æ„义。当ç„Óž¼Œå¦‚果数æ®åŒ…丢失时˜q™ç¡®å®žå¸¦æ¥ä¸€äº›é—®é¢˜ï¼Œä½†è¿™ž®±æ˜¯ä¸ÞZ»€ä¹ˆå¥½çš„网¾lœç¨‹åºå‘˜è¢«æ”¯ä»˜å¾ˆå¤šé‡‘钱,æ¥å¤„ç†ç±»ä¼ÆD¿™æ ïLš„东西ã€?/span>

  ˜q˜æœ‰ä¸€äº›å…¶ä»–的事情也è¦å¤„ç†ã€‚最˜q‘å·²¾l有大é‡çš„ä×oäºø™‹¦æ¼çš„˜qžçº¿ä½œå¼Šæ­£åœ¨å‘生。这是æŸäº›äh修改游æˆä»¥ç»™ä»–们䏿­£å½“利益的地方。尽½Ž¡ä¸¥æ ¼æ„义上˜q™ä¸æ˜¯ç½‘¾lœçš„一部分åQŒä½†å®ƒç¡®å®žå‘生了。有时äh们会创作一些模å—,å…许他们立å³çž„准˜q›å…¥è§†é‡Žçš„ä“Q何ähåQŒæˆ–者简å•地å…许他们看穿墙å£åQŒæˆ–者让其他游æˆçŽ©å®¶çœ‹ä¸è§ä»–们自己。大部䆾旉™—´˜q™äº›äº‹æƒ…å¯ä»¥åœ¨ç½‘¾lœå±‚内部或者在æœåŠ¡å™¨ä¸Šè¢«å¤„ç†ã€‚ä“Q何有100%å‘½ä¸­çŽ‡çš„äºø™¢«½Ž€å•地ít¢å‡ºæ¸¸æˆåQŒå› ä¸ºåœ¨äººåŠ›æ‰€åŠçš„范围内那是ä¸å¯èƒ½çš„ã€?/span>

  游æˆå¼€å‘者必™åÕd°½ä¸€åˆ‡å¯èƒ½åˆ¶æ­¢ä½œå¼Šè¡Œä¸ºï¼Œä½†å¾ˆä¸å¹¸åQŒähåšçš„东西å¯ä»¥è¢«äh½H破。所有你能åšçš„就是让作弊å˜å¾—å›°éš¾åQŒå½“¼‹®å®žå‘生时去ž®è¯•å‘现它ã€?/span>

  好å§åQŒçŽ°åœ¨å°±åˆ°è¿™é‡Œäº†ã€‚åœ¨½W?/span>8部分中,我们ž®†ä¼šçœ‹çœ‹æ¸¸æˆè„šæœ¬¾pÈ»Ÿçš„趣味世界,æ ÒŽ®æ¸¸æˆ˜q‡ç¨‹ä¸­å‡ºçŽ°çš„äº‹äšgæ¥æ¸²æŸ“æˆ–ä½¿èƒ½é¢„å…ˆå®šä¹‰çš„åœºæ™¯å’Œè¡ŒäØ“åQŒå助故事噘q°ã€?/span>



]]>
游æˆå¼•擎基础åQˆå…­åQ‰ï¼ˆå£°éŸ³¾pÈ»ŸåQŒéŸ³é¢‘APIsåQ?/title><link>http://www.shnenglu.com/mzty/archive/2007/12/04/37776.html</link><dc:creator>梦在天æ„Ó</dc:creator><author>梦在天æ„Ó</author><pubDate>Tue, 04 Dec 2007 05:20:00 GMT</pubDate><guid>http://www.shnenglu.com/mzty/archive/2007/12/04/37776.html</guid><wfw:comment>http://www.shnenglu.com/mzty/comments/37776.html</wfw:comment><comments>http://www.shnenglu.com/mzty/archive/2007/12/04/37776.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mzty/comments/commentRss/37776.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mzty/services/trackbacks/37776.html</trackback:ping><description><![CDATA[<span>½W?/span><span>6</span><span>部分</span><span>: </span><span>声音¾pÈ»ŸåQŒéŸ³é¢?/span><span>APIs<br><br><br></span><strong><span>声音¾pÈ»Ÿ</span></strong><span><br></span><span>  ç”׃ºŽäºÞZ»¬çŽ©çš„æ¸¸æˆåœ¨ç§¾cÕd’ŒæŠ€æœ¯ä¸Šçš„进步,声音和音ä¹è¿‘几年æ¥åœ¨æ¸¸æˆä¸­æ­£é€æ¸å˜å¾—é‡è¦èµäh¥åQˆå£°éŸÏx˜¯ä¸€ä¸ªå®žé™…游æˆçš„å¯çŽ©ç‰¹ç‚¹åQŒæ¯”如在</span><span>Thief</span><span>和其它匾cÀL¸¸æˆä¸­çš„å¬è§‰æ½Cºï¼‰ã€‚现在四声é“环绕¾pÈ»Ÿåœ¨æ¸¸æˆçŽ©å®¶çš„å®åº“中是负担得è“v的和òq›_¸¸çš„事。给定空间的声音åQŒå™ªéŸ³çš„éšœç¢å’Œé—­å¡žï¼Œå’ŒåЍæ€çš„音ä¹åQŒå¦‚今许多游æˆä‹É用这些æé«˜çŽ©å®¶æƒ…¾lªä¸Šçš„å应,更多的关注投入到˜q™ä¸ªé¢†åŸŸž®×ƒ¸­‘³äؓ奇了ã€?/span><span><br><br></span><span>  现在åœ?/span><span>PC</span><span>竞技åœÞZ¸­åQŒæ¸¸æˆçŽ©å®¶å®žé™…ä¸Šåªæœ‰ä¸€¿U声韛_¡å¯ä»¥é€‰æ‹©</span><span> -- PC</span><span>声å¡åˆ‰™€ å•†åˆ›æ–°å…¬å¸åQ?/span><span>Creative Labs</span><span>åQ‰çš„</span><span>Sound Blaster Live</span><span>åQ?/span><span> </span><span>ä»Žæ—§çš„æ—¶é—´ä¸ªäºø™®¡½Ž—机声音å¡ç‰‡åˆ‰™€ ä¸šè€…有创造力的中å¿?/span><span>. </span><span>多年æ¥åˆ›æ–°å…¬å¸å·²¾l䨓</span><span>DirectX</span><span>æä¾›äº†ä»–们的</span><span>EAX</span><span>声音扩展åQŒåƈ且他们是å‘è“væ–°çš„</span><span>OpenAL</span><span>åQˆå¼€æ”ùNŸ³é¢‘库</span><span>Open Audio Library</span><span>åQ‰çš„创立者。就如åŒ</span><span>OpenGL</span><span>是一个图å½?/span><span>API</span><span>ä¸€æ øP¼Œ</span><span>OpenAL</span><span>åQŒåƒå®ƒè“væ¥å¬ä¸€æ øP¼Œæ˜¯ä¸€ä¸ªå£°éŸ³ç³»¾lŸçš„</span><span>API</span><span>ã€?/span><span>OpenAL </span><span>è¢«è®¾è®¡äØ“æ”¯æŒå¤§å¤šæ•°é€šå¸¸å£°å¡çš„许多特å¾ï¼Œè€Œä¸”在一个特定的¼‹¬äšg特å¾ä¸å¯å¾—æ—¶æä¾›ä¸€ä¸ªèÊY件替代ã€?/span><span><br><br></span><span>  ä¸ÞZº†æ›´å¥½çš„定ä¹?/span><span> OpenAL</span><span>åQŒæˆ‘å‘创新公å¸çš„</span><span>Garin Hiebert</span><span>询问了其定义</span><span>: <br><br></span><span>  </span><span>"</span><span>˜q™é‡Œå€Ÿç”¨æˆ‘们çš?/span><span> <span>" OpenAL </span></span><span>规格和åè€?/span><span>" </span><span>的一个定ä¹?/span><span>: <br><br></span><span>  </span><span>OpenAL </span><span>是对音频¼‹¬äšg的一个èÊY件接å?/span><span>,</span><span>¾l™ç¨‹åºå‘˜æä¾›ä¸€ä¸ªäñ”生高质é‡å¤šé€šé“输出的能力ã€?/span><span>OpenAL </span><span>是在模拟的三¾l´çŽ¯å¢ƒé‡Œäº§ç”Ÿå£°éŸ³çš„ä¸€¿Ué‡è¦æ–¹æ³•。它惌™¦è·¨åã^å°åƈå®ÒŽ˜“使用åQŒåœ¨é£Žæ ¼å’Œè§„范上ä¸?/span><span>OpenGL</span><span>ç›æ€¼¼ã€‚ä“Q何已¾l熟æ‚?/span><span>OpenGL</span><span>的程åºå‘˜ž®†å‘çŽ?/span><span>OpenAL</span><span>éžå¸¸ç†Ÿæ‚‰ã€?/span><span> <br><br></span><span>  </span><span>OpenAL API</span><span>能容易地被扩展适应æ’äšg技æœ?/span><span>.</span><span>创新公å¸å·²ç»æŠ?/span><span>EAX</span><span>支æŒåŠ å…¥åˆ°è¿™å¥?/span><span>API</span><span>了,½E‹åºå‘˜å¯ä»¥ç”¨æ¥ç»™ä»–ä»¬çš„å£°éŸ³çŽ¯å¢ƒå¢žåŠ å¤æ‚çš„åå“åQŒæ¯”èµ›å’Œéšœç¢æ•ˆæžœã€?/span><span><br><br></span><span>  如åŒ</span><span>Jedi Knight II: Outcast </span><span>ä¸€æ øP¼Œ˜qžåŒ</span><span>Eagle </span><span>世界</span><span>/</span><span>声音特徾~–辑å™?/span><span>,Soldier of Fortune II </span><span>以这个新¾pÈ»Ÿä¸ºç‰¹å¾ã€‚什么是</span><span>Eagle</span><span>åQ?/span><span> </span><span>在介¾l这个以å‰ï¼Œè®©æˆ‘们讨è®ÞZ¸€äº›å…¶ä»–çš„¾pÈ»ŸåQŒåƈ定义一些声éŸÏxœ¯è¯­ã€?/span><span> <br><br><br></span><span>  å¦å¤–的一个系¾lŸæ˜¯</span><span>Miles</span><span>声音¾pÈ»Ÿã€?/span><span>Miles</span><span>是一家公å¸ï¼Œå®ƒäؓ你的代ç ç”Ÿäñ”æ’äšgåQŒåœ¨å……分利用æ¯å—声塿—¶å¤„ç†æ‰€æœ‰å¿…™åÈš„到特定声韛_¡çš„说è¯ï¼ˆæ¯”如</span><span>Sound Blaster Live</span><span>åQ系列,或者è€çš„</span><span>A3D</span><span>声å¡åQ‰ã€‚它éžå¸¸åƒä¸€ä¸?/span><span>API</span><span>å‰ç«¯åQŒæ†¾l‘了一些é¢å¤–的特å¾åœ¨é‡Œé¢ã€?/span><span> </span><span>在其他事物当ä¸?/span><span>Miles</span><span>让你存å–一些事物åƒ</span><span>MP3</span><span>解压¾~©ã€?/span><span> </span><span>它是很好的解å†Ïx–¹æ¡ˆï¼Œä½†åƒä»ÖM½•äº‹ä¸€æ øP¼Œå®ƒèŠ±è´šw‡‘é’±åÆˆæ˜¯ä½ çš„ä»£ç å’Œ¼‹¬äšg之间的é¢å¤–一层。虽然对於快速的声音¾pÈ»Ÿåˆ‰™€ ï¼Œå®ƒéžå¸¸æœ‰ç”¨ï¼Œè€Œä¸”他们有段旉™—´äº†ï¼Œå› æ­¤ä»–们的确¾_ùN€šè‡ªå·Þqš„业务ã€?/span><span><br><br><br></span><strong><span>声音术语</span></strong><span><br></span><span>  让我们开始障¼„和闭塞。它们å¬èµäh¥ä¸€æ øP¼Œä½†ä¸æ˜¯è¿™æ —÷€‚闭塞基本上æ„è°“ç€ä¸€ä¸ªå£°éŸ›_œ¨æ’­æ”¾æ—¶å¬è€…在他们之间有一些闭åˆçš„éšœç¢ç‰©ã€?/span><span> <br><br></span><span>  比如è¯ß_¼Œåœ?/span><span>NOLF2</span><span>的一个å±òq•镜头上你å¬åˆ°æˆ¿å­é‡Œé¢å蛋的声音。你能å¬åˆîC»–们,但是他们的声音相当低沉而沙哑。障¼„æ˜¯ç›æ€¼¼çš„,但是你和声音之间的障¼„物òq¶ä¸æ˜¯é—­åˆçš„。一个好的例å­å°±æ˜¯åœ¨ä½ å’Œå£°æºä¹‹é—´æœ‰ä¸€æ ÒŽŸ±å­ã€‚由于房间中的回å£îC½ ä»ç„¶å¬å¾—到这个声韻I¼Œä½†æ˜¯å®ƒå’Œå£°éŸ³ç›´æŽ¥ä¼ é€’到你的è€Ïxœµé‡Œæ˜¯ä¸åŒçš„。当然这¼‹®å®žä¾èµ–于知é“在你的è€Ïxœµå’Œå£°æºä¹‹é—´çš„直线上是什么。而且æ ÒŽ®æˆ‰K—´çš„大ž®ï¼Œå£°æºåˆîC½ çš„è·¼›È­‰½{‰ï¼Œéœ€è¦çš„处ç†èƒ½å˜å¾—相当耗时。åŽé¢æˆ‘们将会谈到跟ít?/span><span>--</span><span>­‘›_¯ä»¥è¯´å®ƒæ—¶å¸¸æ˜¯æ¯”较慢的òq€é€ŸçŽ‡çš„åŽŸå› ã€?/span><span>Quake III </span><span>里é¢çš?/span><span>A3D </span><span>代ç åšäº†˜q™äº›äº‹æƒ…åQŒå…³é—­è¿™äº›é€‰é¡¹é€šå¸¸èƒ½å¤Ÿæé«˜òq€é€Ÿçއã€?/span><span>Tribe 2 </span><span>是这¿U弊病的å¦å¤–一个å—完™€…。关é—?/span><span>3D</span><span>声音选项则你的幀速率立å³å¥½è{åQŒè¿™åœ¨ä½ è€ƒè™‘</span><span>Tribes</span><span>世界有多大和你能看è§å¤šè¿œæ—¶æœ‰æ„义ã€?/span><span> <br><br></span><span>ã€€ã€€æŽ¥ç€æ˜¯å£°éŸ³ç‰©è´¨çš„特å¾ã€‚大部分声å¡å¯ä»¥è®©ä½ èƒ½å¤Ÿç”¨å¯å®šä¹‰çš„过滤器作用于声音从而修正播攄¡š„声音。例如,在水下,或者在一个布料é®ç›–的戉K—´ä¸­ï¼Œæˆ–者在一个长的走廊中åQŒæˆ–者在歌剧院,å¬åˆ°çš„声éŸÏxœ‰ç€å¾ˆå¤§çš„ä¸åŒã€‚能够根æ®ä½ æ‰€å¤„的环境改å˜ä½ å¬åˆ°å£°éŸ³çš„æ–¹å¼æ˜¯ç›¸å½“ä¸é”™çš„ã€?/span><span> <br><br></span><span>  我们回到</span><span>Eagle… </span><span>˜q™æ˜¯ä¸€ä¸ªç¼–辑器åQŒå…许多数第一人称ž®„击游æˆåœ°å›¾è®¾è®¡è€…将他们的地囑֯¼å…¥åˆ°˜q™ä¸ªå·¥å…·åQŒç„¶åŽæž„造简化的几何形体æ¥äؓ实际游æˆå¼•擎中的</span><span>EAX</span><span>代ç äº§ç”Ÿä¸€ä¸ªå£°éŸ›_œ°å›¾ã€‚å…¶æ€æƒ³æ˜¯ä½ ä¸éœ€è¦ä¸€ä¸ªçœŸå®žçš„囑ÖÅžåœ°å›¾çš„å¤æ‚几何åÅžä½“æ¥æ¨¡æ‹Ÿå£°éŸ³çŽ¯å¢ƒã€‚ä½ ä¹Ÿèƒ½å¤Ÿç»™äº§ç”Ÿçš„ç®€åŒ–åœ°å›‘Öˆ†é…声音物质,˜q™æ ·å£°éŸ³çŽ¯å¢ƒž®Þpƒ½å¤ŸåЍæ€åœ°æ”¹å˜ã€‚我亲眼目ç¹äº†è¿™åœ?/span><span>Soldier of Fortune</span><span>å’?/span><span>Unreal Tournament</span><span>上的½Cø™ŒƒåQŒç¡®å®žç›¸å½“引人注目ã€?/span><span> </span><span>我这在胦富和</span><span> Unreal </span><span>巡回赛和它的军äh上真的对½Cø™Œƒæ˜¯è¯äººç›¸å½“醒ç›?/span><span>. </span><span>当你跛_…¥æ°´ä¸­æ—Óž¼Œå¬åˆ°æ‰€æœ‰çš„声音改å˜åQŒè¿™æ˜¯ä¸€ä¸ªéžå¸æ€×o人沉‹¹¸çš„¾l历ã€?/span><span> <br><br></span><span>  好,让我们ç‘ô¾l­å§ã€?/span><span> <br><br></span><span>ã€€ã€€å¯¹äºŽæ¸¸æˆæœºï¼Œç”׃ºŽé™æ€çš„¼‹¬äšgåQŒä½ çš„å„¿Uå¯èƒ½æ€§ä¼šæ›´å—é™åˆ¶</span><span> â€?</span><span>ž®½ç®¡åœ?/span><span>PlayStation 2</span><span>å’?/span><span>Xbox</span><span>上,¼‹¬äšg相当ä¸é”™ã€‚我说的é™åˆ¶åQŒä»…ä»…æ˜¯æŒ‡æ‰©å±•ï¼Œè€Œä¸æ˜¯å®ƒæ‰€èƒ½å¤Ÿåšçš„。我一点也ä¸ä¼šæ„Ÿåˆ°æƒŠè®¶çœ‹åˆ°˜q™äº›æ¸¸æˆæœÞZ¸Šçš„æ¸¸æˆå¾ˆå¿«æ”¯æŒæœæ¯”æ•°å­?/span><span>5.1</span><span>åQ?/span><span>Dolby Digital 5.1</span><span>åQ‰è¾“出ã€?/span><span>Xbox </span><span>åQŒç”±äºŽå®ƒçš?/span><span> MCP </span><span>音频处ç†å™¨ï¼Œèƒ½å¤Ÿž®†ä“Q何游æˆéŸ³é¢‘ç¼–ç äØ“</span><span>5.1</span><span>åQŒåƈ且游æˆä¸éœ€è¦ç‰¹åˆ«ç¼–ç å°±èƒ½åˆ©ç”¨è¿™ä¸ªç‰¹å¾ã€‚æœæ¯”(</span><span>Dolby</span><span>åQ‰æŠŠ</span><span>ProLogic II </span><span>带到äº?/span><span> PS2 </span><span>上,òq¶ä¸Ž</span><span>Factor 5</span><span>åˆä½œä¸?/span><span>GameCube</span><span>游æˆå®žçްäº?/span><span>ProLogic II</span><span>。在</span><span> Xbox </span><span>之上åQ?/span><span>Halo, Madden 2002 </span><span>å’?/span><span> Project Gotham Racing</span><span>½{‰æ¸¸æˆéƒ½æœ?/span><span>5.1</span><span>æœæ¯”数字音频内容ã€?/span><span>DTS</span><span>最˜q‘也ä¸?/span><span> PS2 </span><span>游æˆå¼€å‘者å‘布了</span><span>SDK</span><span>åQŒäØ“˜q™ä¸ªòq›_°ä¸Šçš„æ¸¸æˆå¸¦æ¥äº†é™ä½Žäº†æ¯”特率的</span><span>DTS</span><span>音频版本ã€?/span><span><br><br><br></span><strong><span>ä½ç½®çš„声éŸ?/span></strong><strong><span>--</span></strong><strong><span>ä¸€ä¸ªå¤æ‚的世界</span></strong><span><br></span><span>  现在有一些很ž®‘有处ç†çš„声音空间化问题。我说的是把声音攑֜¨ä¸€ä¸ªçœŸå®žçš„</span><span>3D</span><span>世界中。有四个扬声器在你周围是一个很‹‚’的开始,但这ä»ç„¶åªæ˜¯åœ¨äºŒ¾l´æ–¹å‘。在你的上方和下æ–ÒŽ²¡æœ‰æ‰¬å£°å™¨åQŒä½ æ²¡æœ‰çœŸæ­£èŽ·å¾—</span><span>3D</span><span>声音。有一些声韌™°ƒåˆ¶è¿‡æ»¤å™¨è¯•图解决˜q™ä¸ªé—®é¢˜åQŒä½†å®žé™…上没有真实东西的代替物。当然真实地大多数游æˆå¤šåŠåªæ˜¯åœ¨äºŒç»´æ–¹å‘上,因此˜q™ä»ç„¶ä¸æ˜¯å¤ªå¤§çš„问题ã€?/span><span> <br><br></span><span>  实际上ä“Q何声音系¾lŸæœ€é‡è¦çš„特å¾ä¹‹ä¸€æ˜¯æŠŠå£°éŸ³æ··åˆåœ¨ä¸€èµ—÷€‚æ ¹æ®ä½ æ‰€å¤„çš„ä½ç½®åQŒç©ºé—´ä¸­å£°éŸ³çš„ä½¾|®ï¼Œæ¯ä¸ªå£°éŸ³çš„音é‡å¤§ž®ï¼Œä¸€æ—¦ä½ å†›_®šäº†å®žé™…上你能够å¬åˆ°çš„声音åQŒç„¶åŽä½ å¿…须混刘q™äº›å£°éŸ³ã€‚通常声音å¡è‡ªå·±å¤„ç†è¿™äº›ï¼Œ˜q™é¦–先是声音å¡å­˜åœ¨çš„主è¦åŽŸå› ã€‚ç„¶è€Œï¼Œå¤–é¢æœ‰ä¸€äº›å¼•擎决定首先用软äšgåšä¸€‹Æ?/span><span>‘</span><span>é¢„æØœå?/span><span>’</span><span>。直åˆîC½ ç€çœégºŽä¸€ç‚¹ç‚¹åކå²ä»¥å‰åQŒè¿™òq¶æ²¡æœ‰çœŸæ­£åœ°å¸¦æ¥å¤šå¤§çš„æ„ä¹‰ã€?/span><span><br><br></span><span>  当声韛_¡æœ€åˆé—®ä¸–的时候,有许多ä¸åŒçš„æ··åˆæ–ÒŽ³•。一些声å¡å¯ä»¥æØœå?/span><span>8</span><span>¿U声韻I¼Œä¸€äº›å•ä½?/span><span>16</span><span>¿U,一äº?/span><span>32</span><span>¿U,½{‰ç­‰ã€?/span><span> </span><span>如果你æ€ÀLƒ³å¬åˆ°</span><span>16</span><span>¿Uå¯èƒ½çš„声音åQŒä½†ä½ ä¸çŸ¥é“å£°éŸ³å¡æ˜¯å¦èƒ½å¤Ÿå¤„ç†ï¼Œé‚£ä¹ˆä½ å›žåˆîCº†ž®è¯•和试验的é“èµ\ä¸?/span><span> <span>â€?</span></span><span>ž®±æ˜¯ä½ è‡ªå·Þq”¨è½¯äšgæ··åˆã€‚这实际上是</span><span>Quake III</span><span>声音¾pÈ»Ÿçš„工作方å¼ï¼Œä½†æä¸€ä¸ªé—®é¢?/span><span>:"Quake III</span><span>æ˜¯äØ“</span><span>A3D</span><span>å’?/span><span>Sound Blaster Live</span><span>åQ声å¡ä¸–界å‘布的åQŒè¿™æ¯”以剿›´åŠ æ ‡å‡†åŒ–åQŒäؓ什么还˜q™æ ·åšï¼Ÿ</span><span>" </span><span>˜q™æ˜¯ä¸ªå¥½é—®é¢˜ã€‚实际上</span><span>Quake III</span><span>的声音系¾lŸå‡ ä¹Žæ¯è¡Œä»£ç éƒ½å’?/span><span>Quake II</span><span>中的声音¾pÈ»Ÿä¸€æ —÷€‚而且</span><span>Quake I</span><span>åQŒç”šè‡?/span><span>Doom</span><span>也是˜q™æ ·ã€‚你想一惻I¼Œå‘上直到</span><span> A3D </span><span>声å¡å’?/span><span> SB Live! </span><span>声å¡åQŒè®¸å¤šå¹´æ¥å£°éŸ³ç³»¾lŸçš„需求没有真正地改嘘q‡ã€‚两个扬声器åQŒäºŒ¾l´æ–¹å‘ï¼ŒéŸ³é‡½Ž€å•地éšç€è·ç¦»å‡å°ã€‚从</span><span>Doom</span><span>一直到</span><span>Quake III</span><span>没有å‘生太大å˜åŒ–。而且在游æˆè¡Œä¸šä¸­åQŒå¦‚æžœä¸æ˜¯è¿«ä¸å¾—å·ÔŒ¼Œåˆ«ç†ä¼šå®ƒã€?/span><span><br><br></span><span>  通常你会仅仅使用</span><span>DirectSound</span><span>ä¸ÞZ½ åšå£°éŸÏxØœåˆï¼Œå› äؓ它会å¯ä»¥ä½¿ç”¨çš„声音硬ä»Óž¼Œæˆ–者è{而ä¾é èÊYä»Óž¼Œå¾ˆå¤šåœ°æ–¹ž®±åƒ</span><span>DirectX</span><span>ä¸?/span><span>3D</span><span>昄¡¤ºå¡æ‰€åšçš„一栗÷€‚在</span><span> 90% </span><span>的声éŸÏxƒ…形中åQŒä¾é èÊYä»¶æØœåˆå¯¹ä½ çš„òq€é€ŸçŽ‡æ²¡æœ‰çœŸæ­£å‘生太多ä¸åŒã€‚当</span><span>DirectSound</span><span>在一些狂热的¾~–ç è€…眼中甚臌™¿˜ä¸æ˜¯ä¸€ä¸å…‰¾U¿æ—¶åQ?/span><span>Doom</span><span>引擎ž®±å·²¾läñ”ç”Ÿäº†ã€‚å®ƒä»Žæ¥æ²¡æœ‰å¾—到更新˜q‡ï¼Œå› äؓ它从æ¥å°±æ²¡æœ‰çœŸçš„éœ€è¦æ›´æ–°ã€?/span><span> <br><br></span><span>  当然åQŒä½ å¯ä»¥ä½¿ç”¨</span><span> SoundBlaster Live</span><span>åQ声å¡çš„ä¸€äº›èªæ˜Žç‰¹å¾ï¼Œä¾‹å¦‚戉K—´çš„回声特æ€?/span><span>: </span><span>一å—石½HŸï¼Œæˆ–一个礼堂,一个巨½I?/span><span>, </span><span>一个èƒöçƒä½“育馆½{‰ã€‚而且你真的应该ä‹É用由¼‹¬äšgæä¾›çš„æØœåˆå™¨åQŒæ¯•竟,那是它存在的目的。这¿U方法的一个中‘³ä¹‹å¤„是½E‹åºæœ¬èín时常无法获得混刾l“æžœåQŒå› ä¸ºæØœåˆæ˜¯åœ¨å£°å¡å†…部完æˆè€Œä¸æ˜¯åœ¨ä¸Õd­˜ã€‚如果由于柿U原因你需è¦çœ‹åˆîCñ”生的音é‡åQŒä½ æ˜¯è¿æ°”ä¸å¥½ã€?/span><span><br><br><br><strong><span>Music Tracks in Games</span></strong></span><strong><span>åQˆæ¸¸æˆä¸­çš„音轨)</span></strong><span><br></span><span>  我们没有˜q‡å¤šçš„谈到游æˆä¸­çš„音ä¹ç”Ÿæˆã€‚ä¼ ¾lŸçš„æœ‰ä¸¤¿U方法,一¿U是½Ž€å•的音ä¹</span><span> .wav </span><span>æ–‡äšg</span><span>(</span><span>或匽{‰ç‰©</span><span>)</span><span>。它被预先制作åšå¥½ï¼Œå‡†å¤‡˜q行åQŒå’Œæœ€ž®å¿™ä¹±ã€‚然而,˜q™äº›åœ¨å†…存和回放旉™—´æ–šw¢å¾ˆæ˜‚è´üc€‚ç¬¬äºŒç§æ–¹å¼ç”¨é¢„讄¡š„æ ähœ¬¾~–ç </span><span>MIDI</span><span>韌™½¨ã€‚这时常比较节çœå†…å­˜åQŒä½†¾~ºç‚¹æ˜¯å¿…™åÕdŒæ—¶æŠŠä¸€äº›å£°éŸÏxØœåˆåœ¨ä¸€èµøP¼Œå› è€Œä¼šæŠŠå£°éŸ³é€šé“用光ã€?/span><span> <br><br></span><span>  动æ€éŸ³ä¹å°±æ˜¯æ ¹æ®åœ¨æ¸¸æˆä¸­ç›®ç¹çš„行动改å˜ä½ çš„音ä¹çš„能力,比如探险用慢节å¥çš„音ä¹ï¼Œæˆ˜æ–—用快节å¥çš„音ä¹ã€‚预先制作的音ä¹çš„一个困难之处是è¦åˆæ‹ï¼Œå› æ­¤ä½ å¯ä»¥ä»Žä¸€ŒDµéŸ³ä¹æ¸å¼±åˆ°å¦ä¸€ŒDµéŸ³ä¹ï¼Œ˜q™å¯¹äº?/span><span>MIDI</span><span>韌™½¨æ¯”较å®ÒŽ˜“。尽½Ž¡æ—¶å¸æ€½ ­‘›_¤Ÿå¿«é€Ÿåœ°æ·¡å‡ºåQŒæˆ–者一ŒDµéŸ³ä¹åœ¨æ’­æ”¾å¦ä¸€ŒDµéŸ³ä¹ä¹‹å‰å·²¾l消å¤×ƒº†åQŒä½ èƒ½äÇoòq怸被察觉ã€?/span><span><br><br></span><span>  在我们离开˜q™ä¸ªä¸»é¢˜ä¹‹å‰åQŒé¡ºä¾¿è¯´ä¸€ä¸‹ï¼Œå€¼å¾—一æçš„æ˜¯å­˜åœ¨ä¸€äº›å…¬å怸“é—¨äØ“ä½ çš„æ¸¸æˆåˆ›ä½œç‰¹å®šæ„义的音ä¹ã€?/span><span>FatMan(<a target=_blank><span>www.fatman.com</span></a>) </span><span>ž®±æ˜¯ä¸€å®¶è¿™æ ïLš„å…¬å¸ã€‚音ä¹å¯èƒ½æ¯”其他别的东西更加å®ÒŽ˜“外包åQŒè¿™æ˜¯ä»–们存在的方å¼ã€?/span><span> <br><br></span><span>  最åŽï¼Œæ¸¸æˆçŽ°åœ¨çš„äº‹æƒ…è‡ªç„¶æ˜¯</span><span>MP3</span><span>æ ¼å¼åQŒå…许巨大的</span><span>11 </span><span>åQ?/span><span>1</span><span>的声éŸÏx ·æœ¬åŽ‹¾~©ï¼Œç„¶è€Œåœ¨é€åˆ°å£°éŸ³å¡ä¹‹å‰åªèŠÞp´¹</span><span>CPU</span><span>很少的时间解压羃。当我在</span><span>Rave Software</span><span>工作æ—Óž¼Œåœ?/span><span>Star Trek Voyager: Elite Force </span><span>中,我们设法ç”?/span><span>MP3</span><span>在一å¼?/span><span>CD</span><span>上é¢å®Œå…¨æ”¯æŒä¸‰ç§è¯­è¨€åQŒä»ç„¶äؓ较多的图形留有空间。主è¦åœ°åQŒæˆ‘ä»?/span><span> MP3 </span><span>åªç”¨äºŽéžçŽ©å®¶è§’è‰²åQ?/span><span>NPC</span><span>åQ‰çš„语音åQŒç”±äºŽæ¸¸æˆçš„全部音频效果</span><span>MP3</span><span>‹¹å’ŒåЍæ€è§£åŽ‹ç¾ƒ­‘…出了硬件的处ç†èƒ½åŠ›åQŒè™½ç„¶åœ¨ž®†æ¥˜q™æ˜¯è‚¯å®šå¯èƒ½çš„。比较新的格å¼ï¼Œå¦‚æ¥è‡?/span><span> Dolby </span><span>çš?/span><span> AAC </span><span>å’Œæ¥è‡ªå¾®è½¯çš„</span><span>WMA</span><span>åQŒä»¥ž®†è¿‘两å€?/span><span>MP3</span><span>的压¾~©çއæä¾›äº†ç›¸½{‰æˆ–者更高的音频质é‡åQˆå®žé™…上一åŠçš„æ¯”特率)åQŒå¯èƒ½åº”用到ž®†æ¥çš„æ¸¸æˆä¸­ã€?/span><span> <br><br></span><span>  以上是这一章节的内容,下颞®†æ˜¯¾|‘络和连¾U¿æ¸¸æˆçŽ¯å¢ƒçš„å¼€å‘ã€?/span><span> <br><br></span><img src ="http://www.shnenglu.com/mzty/aggbug/37776.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mzty/" target="_blank">梦在天æ„Ó</a> 2007-12-04 13:20 <a href="http://www.shnenglu.com/mzty/archive/2007/12/04/37776.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>游æˆå¼•擎基础åQˆå››åQ‰ï¼ˆæ¨¡åž‹ä¸ŽåŠ¨ç”»ï¼Œ¾l†èŠ‚¾U§åˆ«åQ?/title><link>http://www.shnenglu.com/mzty/archive/2007/12/04/37770.html</link><dc:creator>梦在天æ„Ó</dc:creator><author>梦在天æ„Ó</author><pubDate>Tue, 04 Dec 2007 05:18:00 GMT</pubDate><guid>http://www.shnenglu.com/mzty/archive/2007/12/04/37770.html</guid><wfw:comment>http://www.shnenglu.com/mzty/comments/37770.html</wfw:comment><comments>http://www.shnenglu.com/mzty/archive/2007/12/04/37770.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mzty/comments/commentRss/37770.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mzty/services/trackbacks/37770.html</trackback:ping><description><![CDATA[<span>½W?/span><span>4</span><span>部䆾</span><span>: </span><span>模型与动画,¾l†èŠ‚¾U§åˆ«</span><span><br><br><br></span><strong><span>角色建模与动ç”?/span></strong><span><br></span><span>  你的角色模型在å±òq•上看è“væ¥æ€Žä¹ˆæ ?/span><span>,</span><span>怎样å®ÒŽ˜“创å¾å®ƒä»¬</span><span>,</span><span>¾U¹ç†</span><span>,</span><span>以åŠåŠ¨ç”»å¯¹äºŽçŽîC»£æ¸¸æˆè¯•图完æˆçš?/span><span>`</span><span>消除ä¸å¯ä¿?/span><span>`</span><span>å› ç´ æ¥è¯´è‡›_…³é‡è¦ã€‚角色模型系¾lŸé€æ¸å˜å¾—夿‚èµäh¥</span><span>, </span><span>包括较高的多边åÅžæ•°é‡æ¨¡åž‹</span><span>, </span><span>和让模型在å±òq•上¿UÕdŠ¨çš„æ›´å¥½æ–¹å¼ã€?/span><span><br><br></span><span>  如今你需è¦ä¸€ä¸ªéª¨éª¼æ¨¡åž‹ç³»¾lŸï¼Œæœ‰éª¨æž¶å’Œ¾|‘æ ¼¾l†èŠ‚å±‚æ¬¡åQŒå•个顶炚wª¨æž¶çš„评估åQŒéª¨æž¶åЍç”Õd¿½ç•¥ï¼Œä»¥åŠæ¯”赛中åœç•™çš„角度忽略。而这些甚臌™¿˜æ²¡æœ‰å¼€å§‹æ¶‰åŠä¸€äº›ä½ èƒ½åšçš„很好的事情åQŒåƒåŠ¨ç”»æ··åˆåQŒéª¨æž¶åå‘è¿åЍ学åQ?/span><span>IK</span><span>åQ‰ï¼Œå’Œå•个骨枉™™åˆÓž¼Œä»¥åŠç›¸ç‰‡çœŸå®žæ„Ÿçš„¾U¹ç†ã€‚这个清å•还能够¾l§ç®‹åˆ—下厅R€‚但是真的,在用专业行è¯è¯´äº†æ‰€æœ‰è¿™äº›ä»¥åŽï¼Œæˆ‘们在这里真正谈论的是什么呢åQŸè®©æˆ‘们看看ã€?/span><span> <br><br></span><span>  让我们定义一个基于网格的¾pÈ»Ÿå’Œä¸€ä¸ªéª¨éª¼åЍç”ȳ»¾lŸä½œä¸ºå¼€å§‹ã€‚在åŸÞZºŽ¾|‘格的系¾lŸï¼Œå¯¹äºŽæ¯ä¸€ä¸ªåЍç”Õd¹€åQŒä½ è¦å®šä¹‰æ¨¡åž‹ç½‘格的æ¯ä¸ªç‚¹åœ¨ä¸–界中的ä½ç½®ã€‚ä‹D例æ¥è¯ß_¼Œä½ æœ‰ä¸€ä¸ªåŒ…å?/span><span>200 </span><span>个多边åŞ的手的模型,æœ?/span><span> 300 </span><span>个顶ç‚?/span><span>(</span><span>注æ„åQŒåœ¨™å¶ç‚¹å’Œå¤šè¾¹åŞ之间通常òq¶ä¸æ˜?/span><span>3</span><span>个对</span><span>1</span><span>个的关系åQŒå› ä¸ºå¤§é‡å¤šè¾¹åŞ时常å…׃ín™å¶ç‚¹</span><span> – </span><span>使用æ¡åŞ和扇形,你能大幅å‡å°‘™å¶ç‚¹æ•°é‡</span><span>)</span><span>。如果动ç”ÀLœ‰</span><span> 10 </span><span>òq€åQŒé‚£ä¹ˆä½ ž®±éœ€è¦åœ¨å†…存中有</span><span>300</span><span>个顶点佾|®çš„æ•°æ®ã€?/span><span> </span><span>æ€Õd…±æœ?/span><span>300 x 10 = 3000 </span><span>™å¶ç‚¹åQŒæ¯ä¸ªé¡¶ç‚¹ç”±</span><span>x</span><span>åQ?/span><span>y</span><span>åQ?/span><span>z</span><span>和颜è‰?/span><span>/alpha</span><span>信毾l„æˆã€‚你能看è§è¿™ä¸ªå¢žé•¿è“væ¥æ˜¯å¤šä¹ˆçš„å¿«ã€?/span><span>Quake I</span><span>åQ?/span><span>II</span><span>å’?/span><span> III </span><span>都ä‹É用了˜q™ç§¾pÈ»ŸåQŒè¿™¿Uç³»¾lŸç¡®å®žæœ‰åЍæ€å˜å½¢ç½‘格的能力åQŒæ¯”如ä‹Éè£™å­æ‘†åЍåQŒæˆ–者让头å‘飘动ã€?/span><span><br><br></span><span>  相比之下åQŒåœ¨éª¨éª¼åŠ¨ç”»¾pÈ»ŸåQŒç½‘格是由骨架组æˆçš„骨骼</span><span>( </span><span>骨架是你˜q动的对è±?/span><span>)</span><span>ã€?/span><span> </span><span>¾|‘æ ¼™å¶ç‚¹å’Œéª¨æž¶æœ¬íw«ç›¸å…»I¼Œæ‰€ä»¥å®ƒä»¬åœ¨æ¨¡åž‹ä¸­çš„ä½ç½®éƒ½æ˜¯ç›¸å¯¹äºŽéª¨æžÓž¼Œè€Œä¸æ˜¯ç½‘æ ég»£è¡¨æ¯ä¸ªé¡¶ç‚¹åœ¨ä¸–界中的ä½ç½®ã€‚因此,如果你移动骨æžÓž¼Œ¾l„æˆå¤šè¾¹å½¢çš„™å¶ç‚¹çš„ä½¾|®ä¹Ÿç›¸åº”改å˜ã€‚è¿™æ„è°“ç€ä½ åªå¿…须佉Kª¨éªÆD¿åŠ¨ï¼Œå…¸åž‹æƒ…å†µå¤§çº¦æœ?/span><span> 50 </span><span>个左å³çš„骨架</span><span>â€?/span><span>很明显æžå¤§åœ°èŠ‚çœäº†å†…å­˜ã€?/span><span><br><br><br></span><strong><span>骨骼动画附加的好å¤?/span></strong><span><br></span><span>  骨骼动画的å¦ä¸€ä¸ªä¼˜ç‚ÒŽ˜¯èƒ½å¤Ÿæ Òޮ影哙å¶ç‚¹çš„一些骨架æ¥åˆ†åˆ«</span><span>“</span><span>ä¼îC­h</span><span>” </span><span>æ¯ä¸ª™å¶ç‚¹ã€‚例如,åŒè‡‚的骨架è¿åŠ¨ï¼Œè‚©ï¼Œè„–å­è€Œä¸”甚至íw¯å¹²éƒ½èƒ½åœ¨è‚©ä¸­åª„å“网根{€‚当你移动躯òq²çš„æ—¶å€™ï¼Œ¾|‘æ ¼ž®±æ´»åƒä¸€ä¸ªè§’色一æ ïL§»åŠ¨ã€‚æ€Èš„æ•ˆæžœæ˜?/span><span>3D</span><span>角色能够实现的动ç”ÀL›´åŠ æµç•…å’Œå¯ä¿¡åQŒä¸”éœ€è¦æ›´ž®‘的内存。æ¯ä¸ªäh都赢了ã€?/span><span> <br><br></span><span>  当然˜q™é‡Œçš„缺ç‚ÒŽ˜¯åQŒå¦‚果你惌™¦ä½¿æœ‰æœºçš„东西˜q动且很好,比如说头å‘,或者披肩,ä¸ÞZº†è®©å®ƒçœ‹è“væ¥è‡ªç„Óž¼Œä½ æœ€åŽä¸å¾—ä¸åœ¨é‡Œé¢æ”¾¾|®æ•°é‡æƒŠäººçš„骨架åQŒè¿™ä¼šæŠ¬é«˜ä¸€äº›å¤„ç†æ—¶é—´ã€?/span><span> <br><br></span><span>  åŸÞZºŽéª¨éª¼çš„ç³»¾lŸèƒ½å¸¦ç»™ä½ çš„一些其他事情是</span><span>‘</span><span>忽略</span><span>’</span><span>特定层次骨架的能åŠ?/span><span> -- </span><span>è¯?/span><span>,"</span><span>我ä¸å…›_¿ƒåŠ¨ç”»æƒŒ™¦å¯¹è¿™å—骨架所åšçš„事情åQŒæˆ‘惌™¦è®©å®ƒæŒ‡å‘世界中的一个特定点</span><span>"</span><span>。这很棒。你能让模型ç€çœégºŽä¸–界中的事äšgåQŒæˆ–者ä‹É他们的脚在他们站ç€çš„地é¢ä¿æŒæ°´òqŸë€‚这一切éžå¸¸å¾®å¦™ï¼Œä½†å®ƒå¯ä»¥å¸®åŠ©å¸¦ç»™åœºæ™¯é™„åŠ çš„çœŸå®žæ„Ÿã€?/span><span><br><br></span><span>  在骨骼系¾lŸï¼Œä½ ç”šè‡›_¯ä»¥æŒ‡å®?/span><span>"</span><span>æˆ‘éœ€è¦æŠŠ˜q™ä¸ªç‰¹åˆ«çš„动ç”È”¨æ–¼æ¨¡åž‹çš„腿,而一个ä¸åŒçš„æºæžªæˆ–å°„å‡ÕdЍç”Õdœ¨æ¨¡åž‹íw¯å¹²ä¸Šæ’­æ”¾ï¼Œä¸”那家伙åQˆè§’è‰ÔŒ¼‰å«å–Šçš„ä¸åŒåЍç”ÀL•ˆæžœåœ¨æ¨¡åž‹çš„头部播æ”?/span><span>"</span><span>。éžå¸¸å¦™ã€?/span><span>Ghoul2 ( </span><span>åœ?/span><span>Soldier of Fortune II: Double Helix and Jedi Knight I: Outcast</span><span>中ä‹É用了</span><span>Raven</span><span>的动ç”ȳ»¾l?/span><span> ) </span><span>拥有所有这些好东西åQŒä¸”ç‰¹åˆ«è¢«è®¾è®¡äØ“å…许½E‹åºå‘˜ä‹É用所有这些忽略能力。这对动ç”Èš„节çœåƒä½ ä¸€æ ·éš¾ä»¥ç›¸ä¿¡ã€‚åƒä½ ä¸€æ ïLš„动画上的˜q™æ¬¡æ•‘æ´ä¸ç›¸ä¿?/span><span>. Raven</span><span>有一个角色行走的动画和一个站立开ç«çš„动画åQŒåÆˆåœ¨å®ƒåŒæ—¶è¡Œèµ°å’Œå¼€ç«åŞ下把˜q™ä¸¤ä¸ªåЍç”ÕdˆòqÓž¼Œè€Œä¸æ˜¯éœ€è¦ä¸€ä¸ªåŠ¨ç”»è¡¨½Cø™§’è‰²è¡Œèµ°åÆˆå¼€ç«ã€?/span><span><br><br><br><strong><span>More Skeletons in the Closet</span></strong><br></span><span>ã€€ã€€å…ˆå‰æè¿°çš„æ•ˆæžœå¯ä»¥é€šè¿‡å…ähœ‰å±‚次的骨骼系¾lŸæ¥å®Œæˆã€‚è¿™æ˜¯ä»€ä¹ˆæ„æ€å‘¢åQŸæ„æ€æ˜¯æ¯å—骨架实际上的ä½ç½®ç›¸å¯¹äºŽå®ƒçš„父äºÔŒ¼Œè€Œä¸æ˜¯æ¯ä¸ªéª¨æž¶ç›´æŽ¥ä½äºŽç©ºé—´ä¸­çš„地æ–V€‚è¿™æ„è°“ç€å¦‚果你移动父亲骨æžÓž¼Œé‚£ä¹ˆå®ƒæ‰€æœ‰çš„å­å­™éª¨æž¶ä¹Ÿè·Ÿç€¿UÕdЍåQŒåœ¨ä»£ç ä¸Šä¸éœ€è¦ä“Q何é¢å¤–的努力。这是让你能够在ä»ÖM½•骨架层次改å˜åŠ¨ç”»åQŒè€Œä¸”通过骨骼其余部分å‘下传递的东西ã€?/span><span> <br><br></span><span>  创å¾ä¸€ä¸ªæ²¡æœ‰å±‚‹Æ¡çš„骨骼¾pÈ»Ÿæ˜¯å¯èƒ½çš„</span><span> -- </span><span>但那时你ä¸èƒ½å¿½ç•¥ä¸€ä¸ªéª¨æž¶åÆˆä¸”é¢„æœŸå®ƒå·¥ä½œã€‚ä½ æ‰€çœ‹åˆ°çš„åªæ˜¯èín体上的一个骨架开始了新动画,除éžä½ å®žçŽîCº†æŸç§</span><span>‘</span><span>å‘下传递信æ?/span><span>’</span><span>的系¾lŸï¼Œå¦åˆ™åœ¨è¯¥éª¨æž¶ä¸‹é¢çš„å…¶å®ƒéª¨æž¶ä¿æŒåŽŸæ¥çš„动画。首先由一个层‹Æ¡ç³»¾lŸå¼€å§‹ï¼Œä½ å°±è‡ªåŠ¨åœ°èŽ·å¾—è¿™äº›æ•ˆæžœã€?/span><span> <br><br></span><span>  许多今天的动ç”ȳ»¾lŸä¸­æ­£å¼€å§‹å‡ºçŽîC¸€äº›æ¯”较新的特å¾ï¼Œå¦‚动ç”ÀLØœåˆï¼Œä»Žä¸€ä¸ªæ­£åœ¨æ’­æ”„¡š„动画转å˜åˆ°å¦å¤–一个动画需è¦ç»˜q‡ä¸€ž®æ®µæ—‰™—´åQŒè€Œä¸æ˜¯ç«‹å³ä»Žä¸€ä¸ªåЍç”Ȫ然è{å˜åˆ°å¦å¤–一个。ä‹D例æ¥è¯ß_¼Œä½ æœ‰ä¸ªè§’色在行走åQŒç„¶åŽä»–åœäº†ä¸‹æ¥ã€‚你䏿˜¯ä»…ä»…½H然地è{å˜åŠ¨ç”»ï¼Œè®©ä»–çš„è…¿å’Œè„šåœåœ¨æ— æ•ˆä½ç½®åQŒè€Œæ˜¯ä¸€¿U’é’Ÿæ··åˆä¸€åŠï¼Œ˜q™æ ·è„šä¼¼ä¹Žè‡ªç„¶åœ°¿UÕdˆ°äº†æ–°çš„动甅R€‚ä¸èƒ½å¤Ÿ˜q‡é«˜çš„评仯‚¿™¿U效æž?/span><span> -- </span><span>æ··åˆæ˜¯ä¸€ä¸ªå¾®å¦™çš„事情</span><span>,</span><span>但如果正¼‹®çš„˜q用åQŒå®ƒçœŸçš„æœ‰äº›å·®åˆ«ã€?/span><span><br><br><br></span><strong><span>å员q动å­?/span></strong><span><br></span><span>  å员q动å­?/span><span> (IK) </span><span>是被许多äºÞZ»¬ä¸¢å¼ƒçš„一个专业术语,对它的真实å«ä¹‰æ²¡æœ‰å¤šž®‘概å¿üc€?/span><span>IK </span><span>是如今游æˆé‡Œé¢ä¸€ä¸ªç›¸å¯Òޝ”较新的系¾lŸã€‚ä‹Éç”?/span><span> IK </span><span>åQŒç¨‹åºå‘˜èƒ½å¤Ÿ¿UÕdŠ¨ä¸€åªæ‰‹åQŒæˆ–一æ¡è…¿</span><span>, </span><span>æ¨¡åž‹çš„å…¶ä½™å…³èŠ‚è‡ªåŠ¨é‡æ–°å®šä½ï¼Œå› æ­¤æ¨¡åž‹è¢«æ­£¼‹®å®šå‘。而且有模型的兌™Š‚æ–îC½¾|®çš„å…‰™¦€è€…他们自己,因此模型正确的被定å‘。比如,你将会说</span><span>,"</span><span>好,æ‰?/span><span> , </span><span>åŽÀL‹¾èµäh¡Œå­ä¸Šçš„那个æ¯å­?/span><span>"</span><span>òq¶æŒ‡å‡ºæ¯å­åœ¨ä¸–界中的ä½ç½®ã€‚手ž®×ƒ¼š¿UÕdŠ¨åˆ°é‚£é‡Œï¼Œä¸”å®ƒåŽé¢çš„èín体会调节其自íw«ä»¥ä¾¿åŒè‡‚移动,íw«ä½“适当弯曲åQŒç­‰½{‰ã€?/span><span><br><br></span><span>  也有å’?/span><span>IK</span><span>相å的事情,å«åšå‰å‘˜q动å­?/span><span>,</span><span>本质上与</span><span> IK </span><span>工作的次åºç›¸å。想åƒä¸€åªæ‰‹åQŒæ‰‹é™„ç€åœ¨æ‰‹è‡‚上åQŒæ‰‹è‡‚附ç€åœ¨èín体上。现在想åƒä½ é‡é‡åœ°å‡»ä¸­äº†íw«ä½“。通常手臂åƒè¿ž˜q¦èˆ¬æŠ½åЍåQŒä¸”手臂末梢的手éšä¹‹æŒ¯åЍã€?/span><span> IK </span><span>能够¿UÕdЍíw«ä½“åQŒåƈ让其余的四肢自己以真实的方弿UÕdŠ¨ã€‚åŸºæœ¬ä¸Šå®ƒéœ€è¦åЍç”Õd¸ˆè®‘Ö®šæ¯ç§å·¥ä½œçš„大é‡ä¿¡æ?/span><span> -- </span><span>åƒå…³èŠ‚æ‰€èƒ½é€šè¿‡çš„è¿åŠ¨èŒƒå›ß_¼Œå¦‚果一å—骨架å‰é¢çš„骨架¿UÕdЍåQŒé‚£ä¹ˆè¿™å—骨架将¿UÕdŠ¨å¤šå°‘ç™‘Öˆ†æ¯”,½{‰ç­‰ã€?/span><span><br><br></span><span>ã€€ã€€å’Œå®ƒçŽ°åœ¨ä¸€æ øP¼Œž®½ç®¡å¾ˆå¥½åQŒå®ƒæ˜¯ä¸€ä¸ªå¾ˆå¤§çš„处ç†é—®é¢˜åQŒä¸ç”¨å®ƒä½ å¯ä»¥æœ‰ä¸åŒçš„动ç”È»„åˆè€Œè„±íw«ã€‚值得注æ„的是åQŒçœŸæ­£çš„</span><span> IK </span><span>解决办法需è¦ä¸€ä¸ªå±‚‹Æ¡éª¨éª¼ç³»¾lŸè€Œä¸æ˜¯ä¸€ä¸ªæ¨¡åž‹ç©ºé—´ç³»¾l?/span><span> -- </span><span>å¦åˆ™å®ƒä»¬éƒ½è€—时太多以致无法æ°å½“地计½Ž—æ¯ä¸ªéª¨æž¶ã€?/span><span><br><br><br><strong><span>LOD</span></strong></span><strong><span>几何¾pÈ»Ÿ</span></strong><span><br></span><span>  最åŽï¼Œæˆ‘们应当快速讨è®ÞZ¸€ä¸‹ä¸Ž¾~©æ”¾æ¨¡åž‹å‡ ä½•夿‚度相关的¾l†èŠ‚¾U§åˆ«åQ?/span><span>LOD</span><span>åQ‰ç³»¾l?/span><span>(</span><span>与讨è®?/span><span>MIP</span><span>映射时ä‹É用的</span><span>LOD</span><span>相对ç…?/span><span>)</span><span>。å‡å®šå¦‚今ç»å¤§å¤šæ•?/span><span>PC</span><span>æ¸¸æˆæ”¯æŒçš„处ç†å™¨é€Ÿåº¦çš„巨大范å›ß_¼Œä»¥åŠä½ å¯èƒ½æ¸²æŸ“çš„ä»ÖM½•¾l™å®šå¯è§†åœºæ™¯çš„åŠ¨æ€æ€§è´¨</span><span>(</span><span>在å±òq•上有一个角色还æ˜?/span><span>12</span><span>个?</span><span>)</span><span>åQ?/span><span> </span><span>你通常需è¦ä¸€äº›ç³»¾lŸæ¥å¤„熘q™æ ·çš„æƒ…况,比如åQŒå½“¾pÈ»ŸæŽ¥è¿‘æžé™è¯•å›¾åŒæ—¶åœ¨å±òq•上¾l˜åˆ¶å‡?/span><span>12</span><span>个角è‰ÔŒ¼Œæ¯ä¸ªè§’色æœ?/span><span>3</span><span>åQ?/span><span>000</span><span>个多边åÅž</span><span>,</span><span>òq¶ç»´æŒçŽ°å®žçš„òq€é€Ÿçއã€?/span><span> LOD </span><span>被设计æ¥å助˜q™æ ·çš„æƒ…景中。最基本的情况,它是在ä“Q何给定时间动æ€åœ°æ”¹å˜ä½ åœ¨å±å¹•上绘制的角色的多边åÅžæ•°é‡çš„能力。é¢å¯¹çŽ°å®žå§åQŒå½“一个角色走˜qœï¼Œä¹Ÿè®¸åªæœ‰å个å±å¹•åƒç´ é«˜åº¦åQŒä½ çœŸçš„ä¸éœ€è¦?/span><span>3000</span><span>个多边åÅžæ¥æ¸²æŸ“这个角è‰?/span><span> -- </span><span>或许</span><span>300</span><span>个就够了åQŒè€Œä¸”你很隑ֈ†è¾¨å‡ºå·®åˆ«ã€?/span><span> <br><br></span><span>  一äº?/span><span> LOD </span><span>¾pÈ»Ÿž®†ä¼šéœ€è¦ä½ å»ºç«‹æ¨¡åž‹çš„多个版本,而且他们ž®†ä¼šä¾é æ¨¡åž‹¼›»è§‚察者的接近½E‹åº¦æ¥æ”¹å˜å±òq•上çš?/span><span>LOD</span><span>¾U§åˆ«åQ?/span><span> </span><span>以åŠå¤šå°‘个多边åÅžæ­£è¢«åŒæ—¶æ˜„¡¤ºã€‚æ›´åŠ å¤æ‚çš„¾pÈ»Ÿå®žé™…上将会动æ€åœ°å‡å°‘å±å¹•上的多边形数é‡ï¼Œåœ¨ä“Q何给定时é—ß_¼Œä»ÖM½•¾l™å®šçš„è§’è‰ÔŒ¼ŒåЍæ€åœ°</span><span> -- Messiah</span><span>å’?/span><span>Sacrifice</span><span>包括了这¿U风格的技术,ž®½ç®¡åœ?/span><span>CPU</span><span>æ–šw¢òq¶ä¸ä¾¿å®œã€‚ä½ å¿…é¡»¼‹®ä¿¡åQŒä¸Žé¦–å…ˆ½Ž€å•地渲染整个事物相比åQŒä½ çš?/span><span> LOD </span><span>¾pÈ»Ÿæ²¡æœ‰èŠÞp¾ƒå¤šçš„æ—‰™—´è®¡ç®—凸™¦æ¸²æŸ“é‚£äº›å¤šè¾¹å½¢ï¼ˆæˆ–ä¸æ¸²æŸ“åQ‰ã€?/span><span> </span><span>ä»ÖM¸€æ–¹å¼éƒ½å°†ä¼šå·¥ä½œï¼Œç”׃ºŽå¦‚今我们试图è¦åœ¨å±å¹•上绘制的多边形数é‡ï¼Œ˜q™æ˜¯ä»‰™žå¸¸å¿…è¦çš„事情。注æ„,</span><span> DX9 </span><span>ž®†ä¼šæ”¯æŒ¼‹¬äšg执行的自适应几何¾~©æ”¾</span><span>(tessellation)</span><span>ã€?/span><span><br><br></span><span>  归结èµäh¥æ˜¯ï¼Œå¾—到一个è¿åЍæµç•…,其表现和¿UÕdŠ¨åœ¨è§†è§‰ä¸Šå¯ä¿¡åQŒå±òq•上看è“væ¥é€¼çœŸçš„æ¨¡åž‹ã€‚æµç•…的动画时常是通过手工建造动ç”Õd’Œ˜qåŠ¨æ•æ‰åŠ¨ç”»çš„ç»„åˆå¾—到。有时你仅仅手工建立了一个给定的动画</span><span> -- </span><span>å½“ä½ åœ¨äØ“ä¸€ä¸ªæ¨¡åž‹åšä¸€äº›ä½ åœ¨çŽ°å®žç”Ÿ‹zÖM¸­ä¸èƒ½åšåˆ°çš„事情的动画æ—Óž¼Œ</span><span> </span><span>你們֑于这样åš</span><span> -- </span><span>举例æ¥è¯´åQŒä½ ¼‹®å®žä¸èƒ½å‘åŽå¼¯è…°åQŒæˆ–åƒ?/span><span>Mortal Kombat 4</span><span>中的</span><span>Lui Kang</span><span>那样在行˜q›çš„脚è¸è½¦ä¸Šít¢è…¿åQŒé€šå¸¸˜qåŠ¨æ•æ‰˜q™æ—¶å€™å°±å‡ºå±€äº?/span><span>! </span><span>通常˜qåŠ¨æ•æ‰åŠ¨ç”»</span><span> -- </span><span>å®žé™…ä¸Šè§†é¢‘æ•æ‰æ´»ç”Ÿç”Ÿçš„æ¼”员诽I¿äºŽä½ æƒ³åœ¨å±òq•上所看到的动ç”?/span><span> -- </span><span>是得到逼真的东西的方å¼ã€‚真实感的东西能使一‹Æ¾æ™®é€šæ¸¸æˆçœ‹èµäh¥å¾ˆæ£’åQŒè€Œä¸”能掩饰许多事情。比å¦?/span><span> NFL Blitz</span><span>åQŒå±òq•上的模型大¾U¦æœ‰</span><span> 200 </span><span>个多边åÅžã€‚å®ƒä»¬åœ¨é™æ­¢ç«™ç«‹æ—¶çœ‹èµäh¥å¯æ€•的斑驳åQŒä¸€æ—¦è¿™äº›æ¨¡åž‹è·‘动è“væ¥å®ƒä»¬å°±æœ‰å¿«é€Ÿæµç•…的动画åQŒæ¨¡åž‹è‡ªíw«çš„许多丑陋消失了。眼ç›å®¹æ˜“看è§çš„æ˜?/span><span> '</span><span>逼真çš?/span><span>' </span><span>åŠ¨ç”»è€Œä¸æ˜¯æ¨¡åž‹è‡ªíw«çš„¾l“æž„ã€?/span><span> </span><span>一个ä¸é”™çš„æ¨¡åž‹è®¾è®¡å¸ˆèƒ½å¤ŸæŽ©é¥°å¤§å¤šæ•°æ¨¡åž‹¾~ºé™·ã€?/span><span><br><br></span><span>  我希望这些带¾l™ä½ å¯Òލ¡åž‹å’ŒåŠ¨ç”»é—®é¢˜çš„æ´žå¯ŸåŠ›ã€‚åœ¨½W¬äº”部䆾中,我们ž®†ä¼šæ›´åŠ æ·±å…¥</span><span>3D</span><span>世界的å¾é€ ï¼Œè®¨è®ºä¸€äº›ç‰©ç†ï¼Œ˜q动和效果系¾lŸçš„东西ã€?/span><span><br><br></span><img src ="http://www.shnenglu.com/mzty/aggbug/37770.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mzty/" target="_blank">梦在天æ„Ó</a> 2007-12-04 13:18 <a href="http://www.shnenglu.com/mzty/archive/2007/12/04/37770.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>游æˆå¼•擎基础åQˆä¸‰åQ‰ï¼ˆå†…存使用åQŒç‰¹æ•ˆå’ŒAPIåQ?/title><link>http://www.shnenglu.com/mzty/archive/2007/12/04/37769.html</link><dc:creator>梦在天æ„Ó</dc:creator><author>梦在天æ„Ó</author><pubDate>Tue, 04 Dec 2007 05:17:00 GMT</pubDate><guid>http://www.shnenglu.com/mzty/archive/2007/12/04/37769.html</guid><wfw:comment>http://www.shnenglu.com/mzty/comments/37769.html</wfw:comment><comments>http://www.shnenglu.com/mzty/archive/2007/12/04/37769.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mzty/comments/commentRss/37769.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mzty/services/trackbacks/37769.html</trackback:ping><description><![CDATA[<span>½W?/span><span>3</span><span>部䆾</span><span>: </span><span>内存使用åQŒç‰¹æ•ˆå’Œ</span><span>API<br><br><br></span><strong><span>关于内存使用的æ€è€?/span></strong><span><br></span><span>  让我们想一惻I¼Œåœ¨ä»Šå¤©å®žé™…上是如何ä‹Éç”?/span><span>3D </span><span>昑֡内存的以åŠåœ¨ž®†æ¥åˆä¼šå¦‚何使用ã€?/span><span> </span><span>如今¾l大多数</span><span>3D</span><span>昑֡处ç†</span><span>32</span><span>ä½åƒç´ é¢œè‰ÔŒ¼Œ</span><span>8</span><span>ä½çº¢è‰ÔŒ¼Œ</span><span> 8</span><span>ä½è“è‰ÔŒ¼Œ</span><span>8 </span><span>ä½ç»¿è‰ÔŒ¼Œå’?/span><span> 8 </span><span>ä½é€æ˜Žåº¦ã€‚这些组åˆçš„¾U¢ï¼Œè“å’Œ¾l?/span><span>256</span><span>个色度,å¯ä»¥¾l„æˆ</span><span> 16</span><span>ã€?/span><span>7 </span><span>百万¿U颜è‰?/span><span>-- </span><span>那是你我å¯ä»¥åœ¨ä¸€ä¸ªç›‘视器上看è§çš„æ‰€æœ‰é¢œè‰ŒÓ€?/span><span> <br><br></span><span>  那么åQŒæ¸¸æˆè®¾è®¡å¤§å¸?/span><span>John Carmack </span><span>ä¸ÞZ»€ä¹ˆè¦æ±?/span><span> 64 </span><span>ä½é¢œè‰²åˆ†è¾¨çއå‘?/span><span>? </span><span>如果我们看ä¸å‡ºåŒºåˆ«ï¼Œåˆæœ‰ä»€ä¹ˆæ„义呢</span><span>? </span><span>æ„义æ˜?/span><span>: </span><span>比如è¯ß_¼Œ</span><span> </span><span>有å几个ç¯å…‰ç…§å°„模型上的点,颜色颜色å„ä¸ç›¸åŒã€?/span><span> </span><span>æˆ‘ä»¬å–æ¨¡åž‹çš„æœ€åˆé¢œè‰ÔŒ¼Œç„¶åŽè®¡ç®—一个ç¯å…‰çš„ç…§å°„åQŒæ¨¡åž‹é¢œè‰²å€¼å°†æ”¹å˜ã€?/span><span> </span><span>ç„¶åŽæˆ‘们计算å¦å¤–的一个ç¯å…‰ï¼Œ</span><span> </span><span>æ¨¡åž‹é¢œè‰²å€ÆD¿›ä¸€æ­¥æ”¹å˜ã€?/span><span> </span><span>˜q™é‡Œçš„问题是åQŒå› ä¸ºé¢œè‰²å€¼åªæœ?/span><span>8</span><span>ä½ï¼Œåœ¨è®¡½Ž—了</span><span>4</span><span>个ç¯å…‰ä¹‹åŽï¼Œ</span><span>8</span><span>ä½çš„颜色值将ä¸èƒö以给我们最åŽçš„颜色较好的分辨率和表现。分辨率的中‘Ïx˜¯ç”±é‡åŒ–误差导致的åQŒæœ¬è´¨åŽŸå› æ˜¯ç”׃ºŽä½æ•°ä¸èƒö引è“vçš„èˆå…¥è¯¯å·®ã€?/span><span> <br><br></span><span>  你能很快地用ž®½ä½æ•ŽÍ¼Œè€Œä¸”åŒæ ·åœŽÍ¼Œæ‰€æœ‰çš„颜色被清掉。æ¯é¢œè‰²</span><span>16 </span><span>æˆ?/span><span> 32 </span><span>ä½ï¼Œä½ æœ‰ä¸€ä¸ªæ›´é«˜åˆ†è¾¨çއåQŒå› æ­¤ä½ èƒ½å¤Ÿåå¤ç€è‰²ä»¥é€‚当地表现最åŽçš„颜色。这æ ïLš„颜色深度很快ž®Þpƒ½æ¶ˆè€—大é‡çš„存储½Iºé—´ã€‚我们也应æåˆ°æ•´ä¸ªæ˜¾å¡å†…存与¾U¹ç†å†…存。这里所è¦è¯´çš„æ˜¯åQŒæ¯ä¸?/span><span>3D </span><span>æ˜‘Ö¡å®žé™…åªæœ‰æœ‰é™çš„内存,而这些内存è¦å­˜å‚¨å‰ç«¯å’ŒåŽç«¯ç¼“冲区åQ?/span><span>Z </span><span>¾~“冲区,˜q˜æœ‰æ‰€æœ‰çš„令äh惊奇的纹ç†ã€‚最åˆçš„</span><span> Voodoo1 </span><span>æ˜‘Ö¡åªæœ‰</span><span>2MB</span><span>昑֭˜åQŒåŽæ?/span><span> Riva TNT</span><span>æé«˜åˆ?/span><span>16MB</span><span>昑֭˜ã€‚ç„¶å?/span><span> GeForce </span><span>å’?/span><span> ATI Rage</span><span>æœ?/span><span>32MB</span><span>昑֭˜åQ?/span><span> </span><span>现在一äº?/span><span> GeForce 2 </span><span>åˆ?/span><span> 4</span><span>的显å¡å’Œ</span><span> Radeons </span><span>带有</span><span> 64MB </span><span>åˆ?/span><span>128MB </span><span>的显存ã€?/span><span> </span><span>˜q™äؓ什么é‡è¦?/span><span>? </span><span>好å§åQŒè®©æˆ‘们看一些数å­?/span><span>…<br><br></span><span>  比如你想让你的游æˆçœ‹èµäh¥æœ€å¥½ï¼Œæ‰€ä»¥ä½ æƒŒ™¦è®©å®ƒä»?/span><span>32</span><span>ä½å±òq•,</span><span> 1280x1024</span><span>分èöL率和</span><span>32</span><span>ä½?/span><span> Z- </span><span>¾~“冲跑è“væ¥ã€?/span><span> </span><span>好,å±å¹•上æ¯ä¸ªåƒç´?/span><span>4</span><span>个字节,外加æ¯ä¸ªåƒç´ </span><span>4</span><span>字节çš?/span><span>Z-</span><span>¾~“冲åQŒå› ä¸ºéƒ½æ˜¯æ¯åƒç´ </span><span>32</span><span>ä½ã€‚我们有</span><span>1280x1024 </span><span>个åƒç´?/span><span> – </span><span>也就æ˜?/span><span> 1</span><span>åQ?/span><span>310</span><span>åQ?/span><span>720</span><span>个åƒç´ ã€‚基于å‰ç«¯ç¼“冲区å’?/span><span>Z-</span><span>¾~“冲区的字节敎ͼŒ˜q™ä¸ªæ•°å­—乘以</span><span>8</span><span>åQŒæ˜¯</span><span> 10</span><span>åQ?/span><span>485</span><span>åQ?/span><span>760</span><span>字节。包括一个åŽç«¯ç¼“冲区åQŒè¿™æ äh˜¯</span><span> 1280x1024x12</span><span>åQ?/span><span> </span><span>也就æ˜?/span><span> 15</span><span>åQ?/span><span>728</span><span>åQ?/span><span>640 </span><span>字节åQ?/span><span> </span><span>æˆ?/span><span> 15MB</span><span>ã€?/span><span> </span><span>在一ä¸?/span><span> 16MB </span><span>昑֭˜çš„æ˜¾å¡ä¸ŠåQŒå°±åªç»™æˆ‘们剩下</span><span>1MB </span><span>æ¥å­˜å‚¨æ‰€æœ‰çš„¾U¹ç†ã€?/span><span> </span><span>现在如果最åˆçš„¾U¹ç†æ˜¯çœŸ</span><span>32 </span><span>使ˆ–</span><span> 4</span><span>字节宽,那么我们æ¯å¹€èƒ½åœ¨æ˜‘֡上存å‚?/span><span> 1MB/4</span><span>字节æ¯åƒç´?/span><span> = 262</span><span>åQ?/span><span>144</span><span>个åƒç´ ã€‚这大约æ˜?/span><span>4 </span><span>ä¸?/span><span> 256x256 </span><span>的纹ç†é¡µé¢ã€?/span><span> <br><br></span><span>  很清楚,上述例å­è¡¨æ˜ŽåQŒæ—§çš?/span><span>16MB </span><span>昑֡没有çŽîC»£æ¸¸æˆè¡¨çŽ°å…¶ç»šä¸½ç”»é¢æ‰€éœ€è¦çš„­‘›_¤Ÿå†…存。很明显åQŒåœ¨å®ƒç»˜åˆ¶ç”»é¢çš„æ—¶å€™ï¼Œæˆ‘们æ¯å¹€éƒ½å¿…™å»é‡æ–°æŠŠ¾U¹ç†è£…è²åˆ°æ˜¾å¡ã€‚实际上åQŒè®¾è®?/span><span>AGP</span><span>æ€Èº¿çš„目的就是完æˆè¿™ä¸ªä“Q务,ä¸è¿‡åQ?/span><span> AGP </span><span>˜q˜æ˜¯è¦æ¯”</span><span> 3D </span><span>掀å¡çš„òq€¾~“冲区慢åQŒæ‰€ä»¥ä½ ä¼šå—到性能上的一些æŸå¤±ã€‚很明显åQŒå¦‚果纹ç†ç”±</span><span>32</span><span>ä½é™ä½Žåˆ°</span><span>16</span><span>ä½ï¼Œä½ å°±èƒ½å¤Ÿé€šè¿‡</span><span>AGP</span><span>以较低的分èöL率传é€ä¸¤å€æ•°é‡çš„¾U¹ç†ã€‚如果你的游æˆä»¥æ¯ä¸ªåƒç´ æ¯”较低的色彩分èöL率跑åQ?/span><span> </span><span>那么ž®±å¯ä»¥æœ‰æ›´å¤šçš„æ˜¾½Cºå†…存用æ¥ä¿å­˜å¸¸ç”¨çš„¾U¹ç†</span><span> (</span><span>¿UîCؓ高速缓存纹ç?/span><span>) </span><span>ã€?/span><span> </span><span>但实际上你永˜qœä¸å¯èƒ½é¢„知使用者将如何讄¡½®ä»–们的系¾lŸã€‚如果他们有一个在高分辨率和颜色深度跑的显å¡ï¼Œé‚£ä¹ˆä»–们ž®†ä¼šæ›´å¯èƒ½é‚£æ ¯‚®¾å®šä»–们的昑֡ã€?/span><span><br><br><br></span><strong><span>é›?/span></strong><span><br></span><span>  我们现在开始讲é›?/span><span>,</span><span>它是æŸç§è§†è§‰ä¸Šçš„æ•ˆæžœã€‚如今ç»å¤§å¤šæ•°çš„引擎都能处ç†é›¾ï¼Œ</span><span> </span><span>因䨓é›ùNžå¸¸æ–¹ä¾¿åœ°è®©è¿œå¤„的世界淡出视野åQŒæ‰€ä»¥å½“模型和场景地ç†è¶Š˜q‡è§‚察体åŽåã^é¢è¿›å…¥è§†è§‰èŒƒå›´å†…æ—Óž¼Œä½ å°±ä¸ä¼šçœ‹è§å®ƒä»¬½H然从远处蟩出æ¥äº†ã€?/span><span> </span><span>也有一¿Uç§°ä¸ÞZ½“雄¡š„技术。这¿U雾䏿˜¯éšç‰©ä½“离照相机的è·ç¦»è€Œå®š</span><span>,</span><span>它实际上是一个你能看è§çš„真实对象åQŒåƈ且å¯ä»¥ç©¿­‘Šå®ƒåQŒä»Žå¦å¤–一侧出åŽ?/span><span> -- </span><span>当你在穿­‘Šå¯¹è±¡çš„æ—¶å€™ï¼Œè§†è§‰ä¸Šé›¾çš„å¯è§ç¨‹åº¦éšç€å˜åŒ–。想象一下穿˜q‡äº‘å›?/span><span> -- </span><span>˜q™æ˜¯ä½“雾的一个完¾ŸŽä¾‹å­ã€‚体雄¡š„一些好的实çŽîC¾‹å­æ˜¯</span><span>Quake III</span><span>一些关å¡ä¸­çš„红色雾åQŒæˆ–æ–°çš„</span><span>Rogue Squadron II </span><span>ä¹?/span><span> Lucas Arts</span><span>çš?/span><span> GameCube </span><span>版本。其中有一些是我曾¾l觘q‡çš„æœ€å¥½çš„äº?/span><span>--</span><span>大约与你能看è§çš„一æ ïLœŸå®žã€?/span><span><br><br></span><span>  在我们讨论雾化的时å€?/span><span>,</span><span>å¯èƒ½æ˜¯ç®€çŸ­ä»‹¾l一ä¸?/span><span> Alpha </span><span>‹¹‹è¯•和纹ç?/span><span>Alpha</span><span>æ··åˆçš„好时机。当渲染器往å±å¹•上画一个特定åƒç´ æ—¶åQŒå‡å®šå®ƒå·²ç»é€šè¿‡</span><span> Z- </span><span>¾~“冲‹¹‹è¯•</span><span> (</span><span>在下é¢å®šä¹?/span><span>)</span><span>åQŒæˆ‘们å¯èƒ½æœ€åŽåšä¸€äº?/span><span>Alpha</span><span>‹¹‹è¯•。我们å¯èƒ½å‘çŽîCؓ了显½Cºåƒç´ åŽé¢çš„æŸäº›ä¸œè¥¿åQŒåƒç´ éœ€è¦é€æ˜Ž¾l˜åˆ¶ã€‚è¿™æ„å‘³ç€æˆ‘们必须å–å¾—åƒç´ çš„已有å€û|¼Œå’Œæˆ‘们新的åƒç´ å€ÆD¿›è¡ŒæØœå’Œï¼Œòq¶æŠŠæ··åˆ¾l“果的åƒç´ å€¼æ”¾å›žåŽŸå¤„ã€‚è¿™¿UîCØ“è¯?/span><span>-</span><span>修改</span><span>-</span><span>写æ“ä½?/span><span>,</span><span>˜qœæ¯”正常的åƒç´ å†™æ“作è´ÒŽ—¶ã€?/span><span> <br><br></span><span>  你å¯ä»¥ç”¨ä¸åŒ¾cÕdž‹çš„æØœåˆï¼Œ˜q™äº›ä¸åŒçš„æ•ˆæžœè¢«¿UîCØ“æ··åˆæ¨¡å¼ã€‚ç›´æŽ?/span><span>Alpha</span><span>æ··åˆåªæ˜¯æŠŠèƒŒæ™¯åƒç´ çš„一些百分比值加到新åƒç´ çš„相å百分比å€ég¸Šé¢ã€‚è¿˜æœ‰åŠ æ³•æØœåˆï¼Œž®†æ—§åƒç´ çš„一些百分比</span><span>,</span><span>和特定数é‡?/span><span>(</span><span>è€Œä¸æ˜¯ç™¾åˆ†æ¯”</span><span>)</span><span>的新åƒç´ ç›¸åŠ ã€?/span><span> </span><span>˜q™æ ·æ•ˆæžœä¼šæ›´åŠ é²œæ˜Žã€?/span><span> (Kyle's Lightsaber</span><span>åœ?/span><span> Jedi Knight II </span><span>中的效果</span><span>)</span><span>ã€?/span><span><br><br></span><span>  æ¯å½“厂商æä¾›æ–°çš„æ˜‘Ö¡æ—Óž¼Œæˆ‘们å¯ä»¥å¾—到¼‹¬äšg支æŒçš„æ›´æ–°æ›´å¤æ‚çš„æØœåˆæ¨¡å¼ï¼Œä»Žè€Œåˆ¶ä½œå‡ºæ›´å¤šæ›´çœ©ç›®çš„æ•ˆæžœã€?/span><span>GF3+4</span><span>和最˜q‘çš„</span><span>Radeon</span><span>昑֡æä¾›çš„åƒç´ æ“作,已ç»åˆîCº†æžé™ã€?/span><span><br><br><br></span><strong><span>模æ¿é˜´åª„与深度测è¯?/span></strong><span><br></span><span>  用模æ¿äñ”生阴影效果,事情ž®±å˜å¾—夿‚而昂贵了。这里ä¸è®¨è®ºå¤ªå¤š¾l†èŠ‚åQˆå¯ä»¥å†™æˆä¸€½‹‡å•独的文章了)åQŒå…¶æ€æƒ³æ˜¯ï¼Œä»Žå…‰æºè§†è§’绘制模型视图,然åŽç”¨è¿™ä¸ªæŠŠå¤šè¾¹å½¢çº¹ç†åŞ状äñ”生或投射到å—å½±å“的物体表é¢ã€?/span><span> <br><br></span><span>  实际上你是在视野中投ž®„å°†ä¼?/span><span>“</span><span>è?/span><span>”</span><span>在其他多边åŞ上é¢çš„光体。最åŽä½ å¾—到看似真实的光照,甚至带有视角在里é¢ã€‚因䏸™¦åЍæ€åˆ›å»ºçº¹ç†ï¼Œòq¶å¯¹åŒä¸€åœºæ™¯˜q›è¡Œå¤šé¾l˜åˆ¶åQŒæ‰€ä»¥è¿™å¾ˆæ˜‚è´üc€?/span><span> <br><br></span><span>  你能用众多ä¸åŒæ–¹æ³•äñ”生阴影,情åŞ时常是这样一æ¥ï¼Œæ¸²æŸ“è´¨é‡ä¸Žäñ”生效果所需è¦çš„æ¸²æŸ“å·¥ä½œæˆæ¯”例。有所谓的¼‹¬é˜´å½±æˆ–软阴å½×ƒ¹‹åˆ†ï¼Œè€ŒåŽè€…è¾ƒå¥½ï¼Œå› äØ“å®ƒä»¬æ›´åŠ å‡†ç¡®åœ°æ¨¡ä»‰K˜´å½±é€šå¸¸åœ¨çœŸå®žä¸–ç•Œçš„è¡ŒäØ“ã€?/span><span> </span><span>通常有一些被游æˆå¼€å‘者åçˆÞqš„</span><span>“</span><span>­‘›_¤Ÿå¥?/span><span>”</span><span>çš„æ–¹æ³•ã€‚å¦‚è¦æ›´å¤šçš„了解阴媄åQŒè¯·å‚è€?/span><span> <span>Dave Salvator</span></span><span>çš?/span><span> 3D </span><span>‹¹æ°´¾U¿ä¸€æ–‡ã€?/span><span><br><br><br></span><strong><span>深度‹¹‹è¯•</span></strong><span><br></span><span>  现在我们开始讨论深度测试,</span><span> </span><span>深度‹¹‹è¯•丢弃éšè—çš„åƒç´ ï¼Œ˜q‡åº¦¾l˜åˆ¶å¼€å§‹è“v作用。过度绘刉™žå¸¸ç®€å?/span><span> – </span><span>在一òq€ä¸­ï¼Œä½ æ•°‹Æ¡ç»˜åˆ¶ä¸€ä¸ªåƒç´ ä½¾|®ã€‚它ä»?/span><span>3D</span><span>场景ä¸?/span><span>Z</span><span>åQˆæ·±åº¦ï¼‰æ–¹å‘上存在的元素数é‡ä¸ºåŸº¼‹€åQŒä¹Ÿè¢«ç§°ä¸ºæ·±åº¦å¤æ‚度。如果你常常太多的过度绘åˆÓž¼Œ</span><span> -- </span><span>举例æ¥è¯´</span><span>, </span><span>½W¦å’’的眩目视觉特效,ž®Þp±¡</span><span>Heretic II</span><span>åQŒèƒ½è®©ä½ çš„幀速率å˜å¾—很糟¾p•。当å±å¹•上的一些äh们彼此施攄¡¬¦å’’æ—¶åQ?/span><span>Heretic II</span><span>è®¾è®¡çš„ä¸€äº›æœ€åˆæ•ˆæžœé€ æˆçš„æƒ…形是åQŒä»–们在一òq€ä¸­å¯¹å±å¹•上æ¯ä¸ªç›¸åŒçš„åƒç´ ç”ÖMº†</span><span>40</span><span>‹Æ?/span><span>! </span><span>ä¸ç”¨è¯ß_¼Œ˜q™å¿…™å»è°ƒæ•ß_¼Œž®¤å…¶æ˜¯èÊY件渲染器åQŒé™¤äº†å°†æ¸¸æˆé™ä½Žåˆ°è±¡æ˜¯æ»‘雪表演外åQŒå®ƒæ ÒŽœ¬ä¸èƒ½å¤„熘q™æ ·çš„è´Ÿè—÷€‚深度测试是一¿U用æ¥å†³å®šåœ¨ç›¸åŒçš„åƒç´ ä½¾|®ä¸Šå“ªäº›å¯¹è±¡åœ¨å…¶å®ƒå¯¹è±¡å‰é¢çš„æŠ€æœ¯ï¼Œ˜q™æ ·æˆ‘们ž®Þpƒ½å¤Ÿé¿å…绘刉™‚£äº›éšè—的对象ã€?/span><span> <br><br></span><span>  看ç€åœºæ™¯òq¶æƒ³æƒ³ä½ æ‰€çœ‹ä¸è§çš„ã€?/span><span> </span><span>æ¢å¥è¯è¯´åQŒæ˜¯ä»€ä¹ˆåœ¨å…¶ä»–场景对象å‰é¢</span><span>,</span><span>或者éšè—了其他场景对象</span><span>? </span><span>是深度测试作出的˜q™ä¸ªå†›_®šã€?/span><span> <br><br></span><span>  我将˜q›ä¸€æ­¥è§£é‡Šæ·±åº¦æ·±åº¦å¦‚何帮助æé«˜å¹€é€ŸçŽ‡ã€‚æƒ³åƒä¸€ä¸ªå¾ˆç细的场景,大é‡çš„多边åÅž</span><span> (</span><span>或åƒç´?/span><span>)</span><span>ä½äºŽå½¼æ­¤çš„åŽé¢ï¼Œåœ¨æ¸²æŸ“器获得他们之间没有一个快速的æ–ÒŽ³•丢弃他们。对é?/span><span>Alpha</span><span>æ··åˆçš„多边åŞ分类排åº</span><span>( </span><span>åœ?/span><span>Z- </span><span>æ–¹å‘ä¸?/span><span>)</span><span>åQŒé¦–先渲染离你最˜q‘的那些多边形,优先使用è·ç¦»æœ€˜q‘çš„åƒç´ å¡«å……å±å¹•ã€‚æ‰€ä»¥å½“ä½ è¦æ¸²æŸ“它们åŽé¢çš„åƒç´ ï¼ˆç”?/span><span>Z</span><span>或者深度测试决定)æ—Óž¼Œ˜q™äº›åƒç´ å¾ˆå¿«è¢«ä¸¢å¼ƒï¼Œä»Žè€Œé¿å…äº†æ··åˆæ­¥éª¤òq¶èŠ‚çœäº†æ—‰™—´ã€‚如果你从åŽåˆ°å‰¾l˜åˆ¶åQŒæ‰€æœ‰éšè—的对象ž®†è¢«å®Œå…¨¾l˜åˆ¶åQŒç„¶åŽåˆè¢«å…¶ä»–对象完全é‡å†™è¦†ç›–ã€‚åœºæ™¯è¶Šå¤æ‚åQŒè¿™¿U情况就­‘Šç³Ÿ¾p•,所以深度测试是个好东西ã€?/span><span><br><br><br></span><strong><span>抗锯é½?/span></strong><span><br></span><span>  让我们快速的看一下抗锯é‹É。当渲染å•个多边形时åQ?/span><span>3D </span><span>昑֡仔细‹‚€æŸ¥å·²¾l渲染的åQŒåƈå¯ÒŽ–°çš„多边åŞ的边¾~˜è¿›è¡ŒæŸ”化,˜q™æ ·ä½ å°±ä¸ä¼šå¾—到明显å¯è§çš„锯齿åÅžçš„åƒç´ è¾¹¾~˜ã€‚两¿U技术方法之一通常被用æ¥å¤„ç†ã€?/span><span> </span><span>½W¬ä¸€¿U方法是å•个多边形层‹Æ¡ï¼Œéœ€è¦ä½ ä»Žè§†é‡ŽåŽé¢åˆ°å‰é¢æ¸²æŸ“多边形,˜q™æ ·æ¯ä¸ªå¤šè¾¹å½¢éƒ½èƒ½å’Œå®ƒåŽé¢çš„˜q›è¡Œé€‚å½“çš„æØœåˆã€‚å¦‚æžœä¸æŒ‰åº˜q›è¡Œæ¸²æŸ“åQŒæœ€åŽä½ ä¼šçœ‹è§å„¿U奇怪的效果。在½W¬äºŒ¿U方法中åQŒä‹É用比实际昄¡¤ºæ›´å¤§çš„åˆ†è¾©çŽ‡æ¥æ¸²æŸ“æ•´òq…幀画é¢åQŒç„¶åŽåœ¨ä½ ç¾ƒž®å›¾åƒæ—¶åQŒå°–é”的锯é‹É形边¾~˜å°±æ··åˆæ¶ˆå¤±äº†ã€‚è¿™½W¬äºŒ¿U方法的¾l“æžœä¸é”™åQŒä½†å› äØ“æ˜‘Ö¡éœ€è¦æ¸²æŸ“比实际¾l“æžœòq€æ›´å¤šçš„åƒç´ ï¼Œæ‰€ä»¥éœ€è¦å¤§é‡çš„内存资æºå’Œå¾ˆé«˜çš„内存带宽ã€?/span><span><br><br></span><span>  多数新的昑֡能很好地处熘q™äº›åQŒä½†ä»ç„¶æœ‰å¤š¿U抗锯é‹É模å¼å¯ä»¥ä¾›ä½ é€‰æ‹©åQŒå› æ­¤ä½ å¯ä»¥åœ¨æ€§èƒ½å’Œè´¨é‡ä¹‹é—´ä½œå‡ºæŠ˜è¡—÷€‚对於当今æµè¡Œçš„å„ç§ä¸åŒæŠ—锯齿技术的更详¾l†è®¨è®ø™¯·å‚è§</span><span>Dave Salvator </span><span>çš?/span><span>3D </span><span>‹¹æ°´¾U¿ä¸€æ–‡ã€?/span><span><br><br><br></span><strong><span>™å¶ç‚¹ä¸Žåƒç´ ç€è‰?/span></strong><span><br></span><span>  在结æŸè®¨è®ºæ¸²æŸ“技术之å‰ï¼Œæˆ‘们快速的说一下顶点和åƒç´ ç€è‰ÔŒ¼Œæœ€˜q‘它们正引è“v很多å…Ïx³¨ã€‚顶点ç€è‰²æ˜¯ä¸€¿U直接ä‹É用显å¡ç¡¬ä»¶ç‰¹å¾çš„æ–¹å¼åQŒä¸ä½¿ç”¨</span><span>API</span><span>。ä‹D例æ¥è¯ß_¼Œå¦‚果昑֡支挼‹¬äšg</span><span> T & L </span><span>åQŒä½ å¯ä»¥ç”?/span><span>DirectX</span><span>æˆ?/span><span>OpenGL</span><span>¾~–程åQŒåƈ希望你的™å¶ç‚¹é€šè¿‡</span><span> T & L </span><span>å•å…ƒ</span><span> (</span><span>因䨓˜q™å®Œå…¨ç”±é©±åЍ½E‹åºå¤„ç†åQŒæ‰€ä»¥æ²¡æœ‰åŠžæ³•ç¡®ä¿?/span><span>)</span><span>åQŒæˆ–者你直接利用昑֡¼‹¬äšg使用™å¶ç‚¹ç€è‰ŒÓ€‚它们å…è®æ€½ æ ÒŽ®æ˜‘Ö¡è‡ªèín特徘q›è¡Œç‰¹åˆ«¾~–ç åQŒä½ è‡ªå·±ç‰ÒŽ®Šçš„ç¼–ç ä‹Éç”?/span><span>T & L </span><span>引擎åQŒä»¥åŠäØ“äº†å‘æŒ¥ä½ çš„æœ€å¤§ä¼˜åŠ¿ï¼Œæ˜‘Ö¡å¿…é¡»æä¾›çš„其他别的特å¾ã€?/span><span> </span><span>事实上,现在</span><span>nVidia </span><span>å’?/span><span>ATI </span><span>在他们大é‡çš„æ˜‘֡上都æä¾›äº†è¿™ä¸ªç‰¹å¾ã€?/span><span> <br><br></span><span>  ä¸å¹¸çš„æ˜¯åQŒæ˜¾å¡ä¹‹é—´è¡¨½Cºé¡¶ç‚¹ç€è‰²çš„æ–ÒŽ³•òq¶ä¸ä¸€è‡´ã€‚ä½ ä¸èƒ½è±¡ä‹Éç”?/span><span>DirectX</span><span>或è€?/span><span>OpenGL </span><span>那样åQŒäØ“™å¶ç‚¹ç€è‰²ç¼–写一‹Æ¡ä»£ç å°±å¯ä»¥åœ¨ä“Q何显å¡ä¸Š˜q行åQŒè¿™å¯æ˜¯ä¸ªå消æ¯ã€‚ç„¶è€Œï¼Œå› äØ“ä½ ç›´æŽ¥å’Œæ˜‘Ö¡¼‹¬äšg交æµåQŒå®ƒä¸ºå¿«é€Ÿæ¸²æŸ“顶点ç€è‰²å¯èƒ½ç”Ÿæˆçš„æ•ˆæžœæä¾›æœ€å¤§çš„æ‰¿è¯ºã€?/span><span>( </span><span>如åŒåˆ›é€ å¾ˆä¸é”™çš„特æ•?/span><span> -- </span><span>你能够ä‹É用顶点ç€è‰²ä»¥</span><span>API</span><span>没有æä¾›çš„æ–¹å¼åª„å“事ç‰?/span><span>)</span><span>。事实上åQŒé¡¶ç‚¹ç€è‰²æ­£åœ¨çœŸçš„å°†</span><span>3D </span><span>囑ÖŞ昄¡¤ºå¡å¸¦å›žåˆ°æ¸¸æˆæœºçš„¾~–ç æ–¹å¼åQŒç›´æŽ¥å­˜å–硬ä»Óž¼Œæœ€å¤§é™åº¦åˆ©ç”¨ç³»¾lŸçš„必须知识åQŒè€Œä¸æ˜¯ä¾é?/span><span>API</span><span>æ¥äؓ你åšä¸€åˆ‡ã€‚对一些程åºå‘˜æ¥è¯´åQŒä¼šå¯¹è¿™¿Uç¼–ç æ–¹å¼æ„Ÿåˆ°åƒæƒŠï¼Œä½†è¿™æ˜¯è¿›æ­¥ä»£ä»—÷€?/span><span><br><br></span><span>  ˜q›ä¸€æ­¥é˜˜qŽÍ¼Œ™å¶ç‚¹ç€è‰²æ˜¯ä¸€äº›åœ¨™å¶ç‚¹è¢«é€åˆ°æ˜‘֡渲染之å‰è®¡ç®—å’Œè¿è¡Œé¡¶ç‚ÒŽ•ˆæžœç¨‹åºæˆ–者例½E‹ã€‚ä½ å¯ä»¥åœ¨ä¸»</span><span>CPU</span><span>上é¢ç”¨èÊYä»¶æ¥åšè¿™äº›äº‹æƒ…,或者ä‹É用显å¡ä¸Šçš„顶点ç€è‰ŒÓ€?/span><span> </span><span>为动ç”ÀL¨¡åž‹å˜æ¢ç½‘格是™å¶ç‚¹½E‹åºçš„主选ã€?/span><span><br><br></span><span>  åƒç´ ç€è‰²æ˜¯é‚£äº›ä½ å†™çš„例½E‹ï¼Œå½“ç»˜åˆ¶çº¹ç†æ—¶åQŒè¿™äº›ä¾‹½E‹å°±é€ä¸ªåƒç´ è¢«æ‰§è¡Œã€‚你有效地用˜q™äº›æ–°çš„例程推翻了显å¡ç¡¬ä»¶æ­£å¸¸æƒ…况åšçš„æØœåˆæ¨¡å¼è¿½Ž—。这å…许你åšä¸€äº›å¾ˆä¸é”™çš„åƒç´ æ•ˆæžœï¼Œ</span><span> </span><span>比如åQŒä‹É˜qœå¤„çš„çº¹ç†æ¨¡¾pŠï¼Œæ·ÕdŠ ç‚®ç«çƒŸé›¾</span><span>, </span><span>产生水中的垮„效果等。一æ—?/span><span> ATI </span><span>å’?/span><span> nVidia </span><span>能实际上ž®±åƒç´ ç€è‰²ç‰ˆæœ¬è¾¾æˆä¸€è‡?/span><span>( DX9's </span><span>新的高çñ”阴媄语言ž®†ä¼šå¸®åŠ©ä¿ƒè¿›˜q™ä¸€ç›®æ ‡</span><span>), </span><span>æˆ‘ä¸€ç‚¹ä¸æƒŠè®¶</span><span>DirectX </span><span>å’?/span><span>OpenGL</span><span>采用</span><span>Glide</span><span>的方å¼?/span><span>-- </span><span>有帮助开å§?/span><span>, </span><span>但最¾lˆä¸æ˜¯æŠŠä»ÖM½•æ˜‘Ö¡å‘æŒ¥åˆ°æžé™çš„æœ€å¥½æ–¹æ³•ã€‚æˆ‘è®¤äØ“æˆ‘ä¼šæœ‰å…´­‘£è§‚望将æ¥ã€?/span><span><br><br><br></span><strong><span>最åŽï¼ˆ</span></strong><strong><span>In Closing...</span></strong><strong><span>åQ?/span></strong><span><br></span><span>  最¾lˆï¼Œæ¸²æŸ“器是游戽E‹åºå‘˜æœ€å—评判的地方。在˜q™ä¸ªè¡Œä¸šåQŒè§†è§‰ä¸Šçš„åŽä¸½éžå¸”R‡è¦ï¼Œå› æ­¤å®ƒäؓ知é“你正在åšçš„ä¹°å•。对于渲染器½E‹åºå‘˜ï¼Œæœ€å的因素之一ž®±æ˜¯</span><span>3D </span><span>昑֡工业界å˜åŒ–的速度。一天,你正在å°è¯•ä‹É逿˜Žå›‘փ正确地工作;½W¬äºŒå¤?/span><span> nVidia </span><span>正在åšé¡¶ç‚¹ç€è‰²ç¼–½E‹çš„展示。而且å‘展éžå¸¸å¿«ï¼Œå¤§è‡´ä¸Šï¼Œå››å¹´ä»¥å‰ä¸ºé‚£ä¸ªæ—¶ä»£çš„</span><span> 3D </span><span>昑֡写的代ç çŽ°åœ¨å·²ç»˜q‡æ—¶äº†ï¼Œéœ€è¦å…¨éƒ¨é‡å†™ã€?/span><span> </span><span>甚至</span><span>John Carmack </span><span>˜q™æ ·æè¿°˜q‡ï¼Œä»–知é“å››òq´ä»¥å‰äØ“å……åˆ†å‘æŒ¥é‚£ä¸ªæ—¶æœŸæ˜‘֡的性能所写的ä¸é”™çš„代ç ï¼Œå¦‚今很åã^å‡?/span><span> -- </span><span>因此他äñ”生了为æ¯ä¸ªæ–°çš?/span><span>id</span><span>™å¹ç›®å®Œå…¨é‡å†™æ¸²æŸ“器的‹Æ²æœ›ã€?/span><span>Epic </span><span>çš?/span><span>Tim Sweeney</span><span>赞åŒ</span><span> -- </span><span>˜q™é‡Œæ˜¯åŽ»òq´ä»–¾l™æˆ‘的评è®?/span><span>: <br><br></span><span>  我们已续‘Œ™ƒöèŠÞp´¹äº?/span><span>9</span><span>个月旉™—´æ¥æ›´æ¢æ‰€æœ‰çš„æ¸²æŸ“代ç ã€‚最åˆçš„</span><span> Unreal </span><span>è¢«è®¾è®¡äØ“è½¯äšgæ¸²æŸ“å’ŒåŽæ¥æ‰©å±•䨓¼‹¬äšg渲染。下一代引擎被设计ä¸?/span><span> GeForce </span><span>åŠæ›´å¥½çš„囑ÖŞ昄¡¤ºå¡ï¼Œä¸”多边åÅžåžå釿˜¯</span><span>Unreal Tournament</span><span>çš?/span><span>100</span><span>å€ã€?/span><span> <br><br></span><span>  ˜q™éœ€è¦å…¨éƒ¨æ›¿æ¢æ¸²æŸ“器。很òq¸è¿åQŒè¯¥å¼•擎模å—化程度èƒö够好åQŒæˆ‘们å¯ä»¥ä¿æŒå¼•擎的其余部分</span><span>â€?/span><span>¾~–辑器,物ç†å­¦ï¼Œäººå·¥æ™ø™ƒ½åQŒç½‘¾l?/span><span>--</span><span>䏿”¹åŠ¨ï¼Œž®½ç®¡æˆ‘ä»¬ä¸€ç›´åœ¨ä»¥è®¸å¤šæ–¹å¼æ”¹˜q›è¿™äº›éƒ¨åˆ†ã€?/span><span><br><br></span><span>  æ­é…长篇文章的短½‹‡æŠ¥å¯û|¼ˆ</span><span>Sidebar</span><span>åQ‰ï¼š</span><span>API -- </span><span>¼œç¦å’Œè¯…å’?/span><span><br></span><span>  那么什么是</span><span>API? </span><span>它是应用½E‹åº¾~–程接å£</span><span>,</span><span>ž®†ä¸ä¸€è‡´çš„åŽç«¯ç”¨ä¸€è‡´çš„å‰ç«¯å‘ˆçŽ°å‡ºæ¥ã€‚ä‹D例æ¥è¯ß_¼Œå¾ˆå¤§½E‹åº¦ä¸Šæ¯¿U?/span><span>3D</span><span>昄¡¤ºå¡çš„</span><span>3D</span><span>实现方å¼éƒ½æœ‰æ‰€å·®åˆ«ã€‚然而,他们全部都呈çŽîC¸€ä¸ªä¸€è‡´çš„å‰ç«¯¾l™æœ€¾lˆä‹É用者或者程åºå‘˜åQŒæ‰€ä»¥ä»–们知é“他们䨓</span><span>X 3D</span><span>昄¡¤ºå¡å†™çš„代ç å°†ä¼šåœ¨</span><span>Y 3D</span><span>昄¡¤ºå¡ä¸Šé¢æœ‰ç›¸åŒçš„结果。好å§ï¼Œä¸ç®¡æ€Žæ ·ç†è®ºä¸Šæ˜¯é‚£æ ·ã€?/span><span> </span><span>大约在三òq´ä»¥å‰è¿™å¯èƒ½æ˜¯ç›¸å½“真实的陈述åQŒä½†è‡ªé‚£ä»¥åŽåQŒåœ¨</span><span>nVidia </span><span>å…¬å¸çš„引领下åQ?/span><span>3D</span><span>昑֡行业的事情å‘生了å˜åŒ–ã€?/span><span> <br><br></span><span>  如今åœ?/span><span>PC</span><span>领域åQŒé™¤éžä½ æ­£è®¡åˆ’å¾é€ è‡ªå·Þqš„软äšg光栅引擎åQŒä‹Éç”?/span><span>CPU</span><span>æ¥ç»˜åˆ¶ä½ æ‰€æœ‰çš„¾_„¡µåQŒå¤šè¾¹åŞ和粒å­?/span><span> -- </span><span>而且äºÞZ»¬ä»ç„¶åœ¨è¿™æ ·åšã€‚è·Ÿ</span><span>Unreal</span><span>ä¸€æ øP¼Œ</span><span>Age of Empires II: Age of Kings</span><span>有一个优¿U€çš„èÊY件渲染器</span><span> – </span><span>å¦åˆ™ä½ å°†ä½¿ç”¨ä¸¤ç§å¯èƒ½çš„图å½?/span><span>API</span><span>åQ?/span><span>OpenGL</span><span>或è€?/span><span> DirectX </span><span>之一ã€?/span><span>OpenGL</span><span>是一¿U真正的跨åã^å?/span><span>API (</span><span>使用˜q™ç§</span><span>API</span><span>写的软äšgå¯ä»¥åœ?/span><span>Linux</span><span>åQ?/span><span>Windows</span><span>å’?/span><span>MacOS</span><span>上è¿è¡Œã€?/span><span>)</span><span>åQ?/span><span> </span><span>而且有多òq´çš„历å²äº†ï¼Œä¸ÞZh所熟知åQŒä½†ä¹Ÿå¼€å§‹æ…¢æ…¢åœ°æ˜„¡¤ºå‡ºå®ƒçš„å¤è€ã€?/span><span> </span><span>大约在四òq´ä»¥å‰ï¼Œå®šä¹‰</span><span>OpenGL</span><span>驱动特å¾é›†ä¸€ç›´æ˜¯æ‰€æœ‰æ˜¾½Cºå¡åŽ‚å•†å·¥ä½œçš„æ–¹å‘ã€?/span><span><br><br></span><span>  然而,一旦在目标达æˆä»¥åŽåQŒæ²¡æœ‰é¢„先制定特å¾å·¥ä½œæ–¹å‘的路线图,˜q™æ—¶å€™ï¼Œæ‰€æœ‰çš„æ˜‘Ö¡å¼€å‘商开始在特å¾é›†ä¸Šåˆ†é“扬镳åQŒä‹Éç”?/span><span>OpenGL</span><span>扩展ã€?/span><span><br><br></span><span>  </span><span>3dfx </span><span>创造了</span><span>T- </span><span>¾~“冲ã€?/span><span> nVidia </span><span>努力å¯ÀL±‚¼‹¬äšgå˜æ¢å’Œå…‰ç…§è®¡½Ž—ã€?/span><span>Matrox</span><span>努力获å–凹凸贴图。等½{‰ã€?/span><span> </span><span>我以å‰è¯´˜q‡çš„一å¥è¯åQ?/span><span>"</span><span>˜q‡å޻几年以æ¥åQ?/span><span>3D</span><span>昄¡¤ºå¡é¢†åŸŸçš„事情å‘生了å˜åŒ–ã€?/span><span>"</span><span>委婉地说明了˜q™ä¸€åˆ‡ã€?/span><span> <br><br></span><span>  无论如何åQŒå¦ä¸€ä¸ªå¯ä»¥é€‰æ‹©çš?/span><span>API</span><span>æ˜?/span><span> DirectX</span><span>。这å?/span><span>Microsoft</span><span>å…¬å¸æŽ§åˆ¶åQŒä¸”åœ?/span><span>PC </span><span>å’?/span><span> Xbox </span><span>上被完美地支æŒã€‚由于明昄¡š„原因åQ?/span><span>DirectX </span><span>没有</span><span>Apple</span><span>或è€?/span><span> Linux </span><span>版本。因ä¸?/span><span>Microsoft</span><span>控制ç€</span><span> DirectX</span><span>åQŒå¤§ä½“上它容易更好地集æˆåœ?/span><span>Windows</span><span>里é¢ã€?/span><span> <br><br></span><span>  </span><span>OpenGL</span><span>å’?/span><span>DirectX</span><span>之间的基本差别是å‰è€…ç”±</span><span>‘</span><span>½C‘ÖŒº</span><span>’</span><span>拥有åQŒè€ŒåŽè€…ç”±</span><span>Microsoft</span><span>拥有。如果你惌™¦</span><span> DirectX </span><span>ä¸ÞZ½ çš?/span><span> 3D </span><span>昄¡¤ºå¡æ”¯æŒä¸€ä¸ªæ–°çš„特å¾ï¼Œé‚£ä¹ˆä½ éœ€è¦æ¸¸è¯´å¾®è½¯ï¼Œå¸Œæœ›é‡‡çº³ä½ çš„æ„¿æœ›åQŒåƈ½{‰å¾…æ–°çš„</span><span> DirectX</span><span>å‘行版本。对äº?/span><span>OpenGL</span><span>åQŒç”±äºŽæ˜¾½Cºå¡åˆ‰™€ å•†ä¸?/span><span>3D</span><span>昄¡¤ºå¡æä¾›é©±åŠ¨ç¨‹åºï¼Œä½ èƒ½å¤Ÿé€šè¿‡</span><span>OpenGL</span><span>扩展立å³èŽ·å¾—æ˜„¡¤ºå¡çš„æ–°ç‰¹å¾ã€‚这是好åQŒä½†ä½œäؓ游æˆå¼€å‘者,当你为游æˆç¼–ç çš„æ—¶å€™ï¼Œä½ ä¸èƒ½æŒ‡æœ›å®ƒä»¬å¾ˆæ™®é。它们å¯èƒ½è®©ä½ çš„æ¸¸æˆé€Ÿåº¦æå‡</span><span>50%</span><span>åQŒä½†ä½ ä¸èƒ½è¦æ±‚别人有一å?/span><span>GeForce 3 </span><span>æ¥è·‘你的游æˆã€‚好å§ï¼Œä½ å¯ä»¥è¿™ä¹ˆåšåQŒä½†å¦‚果你想æ¥å¹´˜q˜åœ¨˜q™ä¸ªè¡Œä¸šçš„è¯åQŒè¿™æ˜¯ä¸ªç›¸å½“愚蠢的主æ„ã€?/span><span><br><br></span><span>  ˜q™æ˜¯å¯¹è¿™ä¸ªé—®é¢˜æžå¤§çš„½Ž€å•化åQŒå¯¹æˆ‘所有æ˜q°çš„也有å„ç§ä¾‹å¤–情况åQŒä½†˜q™é‡Œä¸€èˆ¬çš„æ€æƒ³æ˜¯å¾ˆ¼‹®å®žçš„。对äº?/span><span>DirectX </span><span>åQŒåœ¨ä»ÖM½•既定旉™—´ä½ å®¹æ˜“确切地知é“你能从显½Cºå¡èŽ·å¾—çš„ç‰¹å¾ï¼Œå¦‚果一个特å¾ä¸èƒ½èŽ·å¾—ï¼Œ</span><span>DirectX </span><span>ž®†ä¼šç”¨èÊY件模拟它</span><span>(</span><span>ä¹Ÿä¸æ€ÀL˜¯ä¸€ä»¶å¥½äº‹æƒ…åQŒå› ä¸ø™¿™æ ähœ‰æ—¶ä¾¯éžå¸¸çš„æ…¢åQŒä½†é‚£æ˜¯å¦å¤–一回事</span><span>)</span><span>。对äº?/span><span>OpenGL</span><span>åQŒä½ å¯ä»¥æ›´åŠ è´´è¿‘æ˜„¡¤ºå¡çš„特å¾</span><span>,</span><span>但代ä»äh˜¯ä¸èƒ½¼‹®å®šž®†ä¼šèŽ·å¾—çš„å‡†¼‹®ç‰¹å¾ã€?/span><span> <br><br></span><img src ="http://www.shnenglu.com/mzty/aggbug/37769.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mzty/" target="_blank">梦在天æ„Ó</a> 2007-12-04 13:17 <a href="http://www.shnenglu.com/mzty/archive/2007/12/04/37769.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>游æˆå¼•擎基础åQˆäºŒåQ‰ï¼ˆ3D环境的光照和¾U¹ç†åQ?/title><link>http://www.shnenglu.com/mzty/archive/2007/12/04/37768.html</link><dc:creator>梦在天æ„Ó</dc:creator><author>梦在天æ„Ó</author><pubDate>Tue, 04 Dec 2007 05:16:00 GMT</pubDate><guid>http://www.shnenglu.com/mzty/archive/2007/12/04/37768.html</guid><wfw:comment>http://www.shnenglu.com/mzty/comments/37768.html</wfw:comment><comments>http://www.shnenglu.com/mzty/archive/2007/12/04/37768.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mzty/comments/commentRss/37768.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mzty/services/trackbacks/37768.html</trackback:ping><description><![CDATA[<span>½W?/span><span>2</span><span>部䆾</span><span>: 3D</span><span>环境的光照和¾U¹ç†</span><span><br><br><br></span><strong><span>世界的ç¯å…?/span></strong><span><br></span><span>ã€€ã€€åœ¨å˜æ¢è¿‡½E‹ä¸­åQ?/span><span> </span><span>通常是在¿UîCؓ观察½Iºé—´çš„åæ ‡ç©ºé—´ä¸­åQ?/span><span> </span><span>我们é‡åˆ°äº†æœ€é‡è¦çš„è¿½Ž—ä¹‹ä¸€</span><span>: </span><span>光照计算ã€?/span><span> </span><span>它是一¿Uè¿™æ ïLš„事情åQ?/span><span> </span><span>当它工作æ—Óž¼Œä½ ä¸å…Ïx³¨å®ƒï¼Œä½†å½“它ä¸å·¥ä½œæ—Óž¼Œ</span><span> </span><span>ä½ å°±éžå¸¸å…Ïx³¨å®ƒäº†ã€‚有很多ä¸åŒçš„光照方法,从简å•的计算多边形对于ç¯å…‰çš„æœå‘åQŒåƈæ ÒŽ®ç¯å…‰åˆ°å¤šè¾¹åŞ的方å‘å’Œè·ç¦»åŠ ä¸Šç¯å…‰é¢œè‰²çš„百分比å€û|¼Œä¸€ç›´åˆ°äº§ç”Ÿè¾¹ç¼˜òqÏx»‘çš„ç¯å…‰è„“囑֠加基本纹ç†ã€‚而且一äº?/span><span> API </span><span>实际上æä¾›é¢„å…ˆå¾é€ çš„光照æ–ÒŽ³•。ä‹D例æ¥è¯ß_¼Œ</span><span>OpenGL </span><span>æä¾›äº†æ¯å¤šè¾¹å½¢ï¼Œæ¯é¡¶ç‚¹ï¼Œå’Œæ¯åƒç´ çš„光照计½Ž—ã€?/span><span> <br><br></span><span>  在顶点光照中åQŒä½ è¦å†³å®šä¸€ä¸ªé¡¶ç‚¹è¢«å¤šå°‘个多边åÅžå…׃ínåQŒåƈ计算出共享该™å¶ç‚¹çš„æ‰€æœ‰å¤šè¾¹åŞ法å‘é‡çš„å‡å€û|¼ˆ¿UîCؓ法å‘é‡ï¼‰åQŒåƈž®†è¯¥æ³•å‘é‡èµ‹™å¶ç‚¹ã€‚一个给定多边åÅžçš„æ¯ä¸ªé¡¶ç‚¹ä¼šæœ‰ä¸åŒçš„æ³•å‘é‡ï¼Œæ‰€ä»¥ä½ éœ€è¦æ¸å˜æˆ–æ’值多边åÅž™å¶ç‚¹çš„光照颜色以便得到åã^滑的光照效果ã€?/span><span> </span><span>你没有必è¦ç”¨˜q™ç§å…‰ç…§æ–¹å¼æŸ¥çœ‹æ¯ä¸ªå•独的多边åÅžã€?/span><span> </span><span>˜q™ç§æ–¹å¼çš„优ç‚ÒŽ˜¯æ—¶å¸¸å¯ä»¥ä½¿ç”¨¼‹¬äšg转æ¢ä¸Žå…‰ç…§ï¼ˆ</span><span>T & L</span><span>åQ‰æ¥å¸®åŠ©å¿«é€Ÿå®Œæˆã€?/span><span> </span><span>ä¸èƒö之处是它ä¸èƒ½äº§ç”Ÿé˜´åª„ã€?/span><span> </span><span>举例æ¥è¯´åQŒå³ä½¿ç¯å…‰æ˜¯åœ¨æ¨¡åž‹çš„å³ä¾§åQŒå·¦æ‰‹è‡‚应该在被íw«ä½“投媄的阴å½×ƒ¸­åQŒè€Œå®žé™…上模型的åŒè‡‚å´ä»¥åŒæ ïLš„æ–¹å¼è¢«ç…§æ˜Žäº†ã€?/span><span><br><br></span><span>  ˜q™äº›½Ž€å•çš„æ–ÒŽ³•使用ç€è‰²æ¥è¾‘Öˆ°å®ƒä»¬çš„目标ã€?/span><span> </span><span>当用òq³é¢å…‰ç…§¾l˜åˆ¶ä¸€ä¸ªå¤šè¾¹åÅžæ—Óž¼Œ</span><span> </span><span>你让渲染åQˆç»˜åˆÓž¼‰å¼•擎把整个多边åŞ都ç€ä¸Šä¸€¿U指定的颜色。这å«åšòq³é¢ç€è‰²å…‰ç…§ã€?/span><span> (</span><span>该方法中åQŒå¤šè¾¹åÅžå‡å¯¹åº”一个光强度åQŒè¡¨é¢ä¸Šæ‰€æœ‰ç‚¹éƒ½ç”¨ç›¸åŒçš„强度值显½Cºï¼Œæ¸²æŸ“¾l˜åˆ¶æ—¶å¾—åˆîC¸€¿Uåã^颿•ˆæžœï¼Œå¤šè¾¹å½¢çš„边缘ä¸èƒ½¾_„¡¡®çš„æ˜¾½Cºå‡ºæ?/span><span>) </span><span>ã€?/span><span><br><br></span><span>  对于™å¶ç‚¹ç€è‰?/span><span> ( Gouraud </span><span>ç€è‰?/span><span>) </span><span>åQŒä½ è®©æ¸²æŸ“引擎给æ¯ä¸ª™å¶ç‚¹èµ‹äºˆç‰¹å®šçš„颜艌Ӏ?/span><span> </span><span>在绘制多边åŞ上å„ç‚ÒŽŠ•å½±æ‰€å¯¹åº”çš„åƒç´ æ—¶åQŒæ ¹æ®å®ƒä»¬ä¸Žå„顶点的è·ç¦»åQŒå¯¹˜q™äº›™å¶ç‚¹çš„颜色进行æ’倯D®¡½Ž—ã€?/span><span> (</span><span>实际ä¸?/span><span>Quake III </span><span>模型使用的就是这¿U方法,</span><span> </span><span>效果好的令äh惊奇</span><span>)</span><span>ã€?/span><span> <br><br></span><span>  ˜q˜æœ‰ž®±æ˜¯</span><span> Phong </span><span>ç€è‰ŒÓ€‚如å?/span><span> Gouraud </span><span>ç€è‰ÔŒ¼Œé€šè¿‡¾U¹ç†å·¥ä½œåQŒä½†ä¸å¯¹æ¯ä¸ª™å¶ç‚¹é¢œè‰²˜q›è¡Œæ’值决定åƒç´ é¢œè‰²å€û|¼Œ</span><span> </span><span>它对æ¯ä¸ª™å¶ç‚¹çš„æ³•å‘釘q›è¡Œæ’å€û|¼Œä¼šäØ“æ¯ä¸ª™å¶ç‚¹æŠ•媄的åƒç´ åšç›¸åŒçš„工作。对äº?/span><span> Gouraud </span><span>ç€è‰ÔŒ¼Œä½ éœ€è¦çŸ¥é“哪些光投射在æ¯ä¸ªé¡¶ç‚¹ä¸Šã€‚对äº?/span><span> Phong </span><span>ç€è‰ÔŒ¼Œä½ å¯¹æ¯ä¸ªåƒç´ ä¹Ÿè¦çŸ¥é“˜q™ä¹ˆå¤šã€?/span><span> <br><br></span><span>  一点也ä¸ä×o人惊è®Óž¼Œ</span><span> Phong </span><span>ç€è‰²å¯ä»¥å¾—到更加åã^滑的效果åQŒå› ä¸ºæ¯ä¸ªåƒç´ éƒ½éœ€è¦è¿›è¡Œå…‰ç…§è®¡½Ž—,其绘刉™žå¸¸è€—费旉™—´ã€‚åã^é¢å…‰ç…§å¤„ç†æ–¹æ³•很快速,</span><span> </span><span>但比较粗¾p™ã€?/span><span>Phong </span><span>ç€è‰²æ¯”</span><span> Gouraud </span><span>ç€è‰²è®¡½Ž—更昂贵åQŒä½†æ•ˆæžœæœ€å¥½ï¼Œå¯ä»¥è¾‘Öˆ°é•œé¢é«˜å…‰æ•ˆæžœ</span><span>("</span><span>高亮</span><span>")</span><span>ã€?/span><span> </span><span>˜q™äº›éƒ½éœ€è¦ä½ åœ¨æ¸¸æˆå¼€å‘中折衷æƒè¡¡ã€?/span><span><br><br><br></span><strong><span>ä¸åŒçš„ç¯å…?/span></strong><span><br></span><span>ã€€ã€€æŽ¥ç€æ˜¯ç”Ÿæˆç…§æ˜Žæ˜ ž®„,你用½W¬äºŒä¸ªçº¹ç†æ˜ ž®„(照明映射åQ‰ä¸Žå·²æœ‰çš„çº¹ç†æØœåˆæ¥äº§ç”Ÿç…§æ˜Žæ•ˆæžœã€‚这样工作得很好åQ?/span><span> </span><span>但这本质上是在渲染之å‰é¢„先生æˆçš„一¿Uç½è£…效果。如果你使用动æ€ç…§æ˜?/span><span> (</span><span>å»I¼Œç¯å…‰¿UÕdЍåQ?/span><span> </span><span>或者没有程åºçš„òq²é¢„而打开和关é—?/span><span>)</span><span>åQŒä½ å¾—å¿…™åÕdœ¨æ¯ä¸€òq€é‡æ–°ç”Ÿæˆç…§æ˜Žæ˜ å°„åQŒæŒ‰ç…§åЍæ€ç¯å…‰çš„˜q动方å¼ä¿®æ”¹˜q™äº›ç…§æ˜Žæ˜ å°„。ç¯å…‰æ˜ ž®„能够快速的渲染åQŒä½†å¯¹å­˜å‚¨è¿™äº›ç¯å…‰çº¹ç†æ‰€éœ€çš„内存消耗éžå¸¸æ˜‚è´üc€‚ä½ å¯ä»¥ä½¿ç”¨ä¸€äº›åŽ‹¾~©æŠ€å·§ä‹É它们å ç”¨è¾ƒå°‘的的内存½Iºé—´åQŒæˆ–å‡å°‘其尺寸大ž®ï¼Œ</span><span> </span><span>甚至使它们是å•色çš?/span><span> (</span><span>˜q™æ ·åšå°±ä¸ä¼šæœ‰å½©è‰²ç¯å…‰äº†</span><span>)</span><span>åQŒç­‰½{‰ã€?/span><span> </span><span>如果你确实在场景中有多个动æ€ç¯å…‰ï¼Œ</span><span> </span><span>釿–°ç”Ÿæˆç…§æ˜Žæ˜ å°„ž®†ä»¥æ˜‚è´µçš?/span><span>CPU</span><span>周期而告¾lˆã€?/span><span> <br><br></span><span>  许多游æˆé€šå¸¸ä½¿ç”¨æŸç§æ··åˆç…§æ˜Žæ–¹å¼ã€?/span><span> </span><span>ä»?/span><span>Quake III</span><span>ä¸ÞZ¾‹åQŒåœºæ™¯ä‹É用照明映ž®„,</span><span> </span><span>动画模型使用™å¶ç‚¹ç…§æ˜Žã€?/span><span> </span><span>预先处ç†çš„ç¯å…‰ä¸ä¼šå¯¹åŠ¨ç”»æ¨¡åž‹äº§ç”Ÿæ­£ç¡®çš„æ•ˆæž?/span><span> -- </span><span>整个多边形模型得到ç¯å…‰çš„全部光照å€?/span><span> -- </span><span>而动æ€ç…§æ˜Žå°†è¢«ç”¨æ¥äñ”生正¼‹®çš„æ•ˆæžœã€?/span><span> </span><span>使用混åˆç…§æ˜Žæ–¹å¼æ˜¯å¤šæ•°çš„äºÞZ»¬æ²¡æœ‰æ³¨æ„åˆ°çš„ä¸€ä¸ªæŠ˜è¡øP¼Œå®ƒé€šå¸¸è®©æ•ˆæžœçœ‹èµäh¥</span><span>"</span><span>正确</span><span>"</span><span>ã€?/span><span> </span><span>˜q™å°±æ˜¯æ¸¸æˆçš„全部</span><span> – </span><span>åšä¸€åˆ‡å¿…è¦çš„工作让效果看èµäh¥</span><span>"</span><span>正确</span><span>"</span><span>åQŒä½†ä¸å¿…真的是正¼‹®çš„ã€?/span><span> <br><br></span><span>  当然åQŒæ‰€æœ‰è¿™äº›åœ¨æ–°çš„</span><span>Doom</span><span>引擎里é¢éƒ½ä¸å¤å­˜åœ¨äº†åQŒä½†è¦çœ‹åˆ°æ‰€æœ‰çš„æ•ˆæžœåQŒè‡³ž®‘需è¦?/span><span> 1GHZ CPU </span><span>å’?/span><span> GeForce 2 </span><span>昑֡。是˜q›æ­¥äº†ï¼Œä½†ä¸€åˆ‡éƒ½æ˜¯æœ‰ä»£ä­hçš„ã€?/span><span> <br><br></span><span>  一旦场景绘q‡è{æ¢å’Œç…§æ˜ŽåQ?/span><span> </span><span>我们ž®Þp¿›è¡Œè£å‰ªè¿½Ž—ã€?/span><span> </span><span>ä¸è¿›å…¥è¡€æ·‹æ·‹çš„细节而,剪断˜q算军_®šå“ªäº›ä¸‰è§’形完全在场景</span><span> (</span><span>è¢«ç§°ä¸ø™§‚察åã^截头ä½?/span><span>) </span><span>之内或部份地在场景之内。完全在场景之内的三角åŞ被称为细节接å—,它们被处ç†ã€‚å¯¹äºŽåªæ˜¯éƒ¨åˆ†åœ¨åœºæ™¯ä¹‹å†…的三角åÅžåQ?/span><span> </span><span>ä½äºŽòqÏxˆªå¤´ä½“外é¢çš„部分将被è£å‰ªæŽ‰åQŒä½™ä¸‹ä½äºŽåã^截头体内部的多边形部分将需è¦é‡æ–°é—­åˆï¼Œä»¥ä¾¿å…¶å®Œå…¨ä½äºŽå¯è§åœºæ™¯ä¹‹å†…ã€?/span><span> (</span><span>更多的细节请å‚考我们的</span><span> 3D </span><span>‹¹æ°´¾U¿æŒ‡å¯ég¸€æ–?/span><span>)</span><span>ã€?/span><span><br><br></span><span>  场景¾l过è£å‰ªä»¥åŽåQŒæµæ°´çº¿ä¸­çš„下一个阶ŒDµå°±æ˜¯ä¸‰è§’åŞ生æˆé˜¶æ®µ</span><span>(</span><span>也å«å𿉫æ?/span><span> </span><span>¾U¿è{æ?/span><span>)</span><span>åQŒåœºæ™¯è¢«æ˜ å°„åˆ?/span><span>2D </span><span>å±å¹•åæ ‡ã€‚到˜q™é‡ŒåQŒå°±æ˜¯æ¸²æŸ“(¾l˜åˆ¶åQ‰è¿½Ž—了ã€?/span><span><br><br><br></span><strong><span>¾U¹ç†ä¸?/span></strong><strong><span>MIP</span></strong><strong><span>映射</span></strong><span><br></span><span>  ¾U¹ç†åœ¨ä‹É</span><span>3D</span><span>场景看è“væ¥çœŸå®žæ–¹é¢å¼‚帔R‡è¦ï¼Œå®ƒä»¬æ˜¯ä½ åº”用到场景区域或对象的一些分解æˆå¤šè¾¹å½¢çš„ž®å›¾ç‰‡ã€‚å¤šé‡çº¹ç†è€—费大é‡çš„内存,有ä¸åŒçš„æŠ€æœ¯æ¥å¸®åŠ©½Ž¡ç†å®ƒä»¬çš„尺寸大ž®ã€‚纹ç†åŽ‹¾~©æ˜¯åœ¨ä¿æŒå›¾ç‰‡ä¿¡æ¯çš„æƒ…å†µä¸‹ï¼Œè®©çº¹ç†æ•°æ®æ›´ž®çš„一¿U方法。纹ç†åŽ‹¾~©å ç”¨è¾ƒž®‘的游æˆ</span><span>CD</span><span>½Iºé—´åQŒæ›´é‡è¦çš„æ˜¯åQŒå ç”¨è¾ƒž®‘内存和</span><span>3D </span><span>昑֡存储½Iºé—´ã€‚å¦å¤–,在你½W¬ä¸€‹Æ¡è¦æ±‚æ˜¾å¡æ˜¾½Cºçº¹ç†çš„æ—¶å€™ï¼ŒåŽ‹ç¾ƒçš?/span><span>(</span><span>较å°çš?/span><span>) </span><span>版本¾l过</span><span> AGP </span><span>接å£ä»?/span><span> PC </span><span>ä¸Õd­˜é€åˆ°</span><span>3D </span><span>昑֡åQ?/span><span> </span><span>会更快一些。纹ç†åŽ‹¾~©æ˜¯ä»¶å¥½äº‹æƒ…ã€?/span><span> </span><span>åœ¨ä¸‹é¢æˆ‘们将会更多的讨论¾U¹ç†åŽ‹ç¾ƒã€?/span><span> <br><br><br><strong><span>MIP </span></strong></span><strong><span>映射åQˆå¤š¾U¹ç†æ˜ å°„åQ?/span></strong><span><br></span><span>  游æˆå¼•擎用æ¥å‡å°‘¾U¹ç†å†…存和带宽需求的å¦å¤–一个技术就æ˜?/span><span> MIP </span><span>映射ã€?/span><span> MIP </span><span>映射技术通过预先处熾U¹ç†åQŒäñ”生它的多个拷è´çº¹ç†ï¼Œæ¯ä¸ªç›¸ç‘ôçš„æ‹·è´æ˜¯ä¸Šä¸€ä¸ªæ‹·è´çš„一åŠå¤§ž®ã€‚äØ“ä»€ä¹ˆè¦˜q™æ ·å?/span><span>?</span><span>è¦å›ž½{”这个问题,你需è¦äº†è§?/span><span> 3D </span><span>昑֡是如何显½Cºçº¹ç†çš„ã€‚æœ€åæƒ…况,你选择一个纹ç†ï¼Œè´´åˆ°ä¸€ä¸ªå¤šè¾¹åŞ上,然åŽè¾“出到å±òq•。我们说˜q™æ˜¯ä¸€å¯¹ä¸€çš„å…³¾p»ï¼Œæœ€åˆçº¹ç†æ˜ ž®„图的一个纹ç´?/span><span> (</span><span>¾U¹ç†å…ƒç´ </span><span>) </span><span>å¯¹åº”åˆ°çº¹ç†æ˜ ž®„对象多边åŞ的一个åƒç´ ã€‚如果你昄¡¤ºçš„多边åŞ被羃ž®ä¸€åŠï¼Œ¾U¹ç†çš„纹素就æ¯é—´éš”一个被昄¡¤ºã€‚这样通常没有什么问é¢?/span><span> -- </span><span>但在æŸäº›æƒ…å†µä¸‹ä¼šå¯ÆD‡´ä¸€äº›è§†è§‰ä¸Šçš„æ€ªå¼‚现象。让我们看看砖å—墙å£ã€?/span><span> </span><span>å‡è®¾æœ€åˆçš„¾U¹ç†æ˜¯ä¸€é¢ç –墙,有许多砖å—,砖å—之间的惔‹¹†å®½åº¦åªæœ‰ä¸€ä¸ªåƒç´ ã€‚如果你把多边åÅž¾~©å°ä¸€åŠï¼Œ</span><span> </span><span>¾U¹ç´ åªæ˜¯æ¯é—´éš”一个被应用åQŒè¿™æ—¶å€™ï¼Œæ‰€æœ‰çš„æ³¥æµ†ä¼šçªç„¶æ¶ˆå¤±ï¼Œå› äؓ它们被羃掉了。你åªä¼šçœ‹åˆ°ä¸€äº›å¥‡æ€ªçš„囑փã€?/span><span> <br><br></span><span>  使用</span><span> MIP </span><span>映射åQŒä½ å¯ä»¥åœ¨æ˜¾½Cºå¡åº”用¾U¹ç†ä¹‹å‰åQŒè‡ªå·Þq¾ƒæ”‘Ö›¾åƒï¼Œå› äØ“å¯ä»¥é¢„先处熾U¹ç†åQŒä½ åšå¾—更好一些,让惔‹¹†ä¸è¢«ç¾ƒæŽ‰ã€‚当</span><span> 3D </span><span>昑֡用纹ç†ç»˜åˆ¶å¤šè¾¹åÅžæ—Óž¼Œå®ƒæ£€‹¹‹åˆ°¾~©æ”¾å› å­åQŒè¯´åQ?/span><span>"</span><span>你知é“,我è¦ä½¿ç”¨ž®ä¸€äº›çš„¾U¹ç†åQŒè€Œä¸æ˜¯ç¾ƒž®æœ€å¤§çš„¾U¹ç†åQŒè¿™æ ïLœ‹èµäh¥ä¼šæ›´å¥½ä¸€äº›ã€?/span><span>" </span><span>在这里,</span><span> MIP </span><span>映射ä¸ÞZº†ä¸€åˆ‡ï¼Œä¸€åˆ‡ä¹Ÿä¸ÞZº†</span><span> MIP </span><span>映射ã€?/span><span><br><br><br></span><strong><span>多釾U¹ç†ä¸Žå‡¹å‡¸æ˜ ž®?/span></strong><span><br></span><span>  å•一¾U¹ç†æ˜ å°„¾l™æ•´ä¸?/span><span>3D </span><span>真实感图形带æ¥å¾ˆå¤§çš„ä¸åŒåQ?/span><span> </span><span>但ä‹É用多é‡çº¹ç†ç”šè‡›_¯ä»¥è¾¾åˆîC¸€äº›æ›´åŠ ä×o人难忘的效果。过去这一直需è¦å¤šé渲染(¾l˜åˆ¶åQ‰ï¼Œä¸¥é‡å½±å“了åƒç´ å¡«å……率ã€?/span><span> </span><span>但许多具有多‹¹æ°´¾U¿çš„</span><span>3D </span><span>加速å¡åQŒå¦‚</span><span>ATI's Radeon </span><span>å’?/span><span> nVidia's GeForce 2</span><span>åŠæ›´é«˜çñ”的显å¡ï¼Œå¤šé‡¾U¹ç†å¯ä»¥åœ¨ä¸€é渲染(¾l˜åˆ¶åQ‰è¿‡½E‹ä¸­å®Œæˆã€?/span><span> </span><span>产生多釾U¹ç†æ•ˆæžœæ—Óž¼Œ</span><span> </span><span>你先用一个纹ç†ç»˜åˆ¶å¤šè¾¹åÅžåQŒç„¶åŽå†ç”¨å¦å¤–一个纹ç†é€æ˜Žåœ°ç»˜åˆ¶åœ¨å¤šè¾¹å½¢ä¸Šé¢ã€‚这让你å¯ä»¥ä½¿çº¹ç†çœ‹ä¸ŠåŽ»åœ¨ç§»åŠ¨ï¼Œæˆ–è„‰åŠ¨ï¼Œ</span><span> </span><span>甚至产生阴媄效果</span><span> (</span><span>我们在照明一节中æè¿°˜q?/span><span>)</span><span>ã€‚ç»˜åˆ¶ç¬¬ä¸€ä¸ªçº¹ç†æ˜ ž®„,然åŽåœ¨ä¸Šé¢ç»˜åˆ¶å¸¦é€æ˜Žçš„全黑纹ç†ï¼Œå¼•è“v一¿U是所有的¾l‡æ³•é»‘è‰²çš„ä½†æ˜¯æœ‰ä¸€ä¸ªé€æ˜Žåˆ†å±‚堆积˜q‡å®ƒçš„é¡¶ç«?/span><span> </span><span>åQ?/span><span> </span><span>˜q™å°±æ˜?/span><span> -- </span><span>åÏx—¶é˜´åª„ã€?/span><span> </span><span>该技术被¿UîCؓ照明映射</span><span> ( </span><span>有时也称ä¸?/span><span> </span><span>暗映ž®?/span><span>)</span><span>åQŒç›´è‡Ïx–°çš?/span><span>Doom </span><span>åQŒä¸€ç›´æ˜¯</span><span>Id</span><span>引擎里关å¡ç…§æ˜Žçš„传统æ–ÒŽ³•ã€?/span><span> <br><br></span><span>  凹凸贴图是最˜q‘涌现出æ¥çš„一¿Uå¤è€æŠ€æœ¯ã€‚几òq´ä»¥å‰?/span><span> Matrox </span><span>½W¬ä¸€ä¸ªåœ¨‹¹è¡Œçš?/span><span> 3D </span><span>游æˆä¸­å‘èµ·ä‹É用儿Uä¸åŒåÅžå¼çš„凹凸贴图。就是生æˆçº¹ç†æ¥è¡¨çްç¯å…‰åœ¨è¡¨é¢çš„æŠ•å°„åQŒè¡¨çŽ°è¡¨é¢çš„凹凸或表é¢çš„裂ç¼ã€?/span><span> </span><span>凹凸贴图òq¶ä¸éšç€ç¯å…‰ä¸€èµïL§»åŠ?/span><span> -- </span><span>它被设计用æ¥è¡¨çŽ°ä¸€ä¸ªè¡¨é¢ä¸Šçš„细ž®ç‘•ç–µï¼Œè€Œä¸æ˜¯å¤§çš„凹凸ã€?/span><span> </span><span>比如è¯ß_¼Œåœ¨é£žè¡Œæ¨¡æ‹Ÿå™¨ä¸­ï¼Œä½ å¯ä»¥ä‹É用凹凸脓图æ¥äº§ç”Ÿåƒæ˜¯éšæœºçš„åœ°è¡¨ç»†èŠ‚ï¼Œè€Œä¸æ˜¯é‡å¤åœ°ä½¿ç”¨ç›¸åŒçš„纹ç†ï¼Œçœ‹ä¸ŠåŽÖM¸€ç‚¹è¶£å‘³ä¹Ÿæ²¡æœ‰ã€?/span><span> <br><br></span><span>  凹凸贴图产生相当明显的表é¢ç»†èŠ‚ï¼Œž®½ç®¡æ˜¯å¾ˆé«˜æ˜Žçš„æˆæ³•ï¼Œä½†ä¸¥æ ¼æ„义上è®ÔŒ¼Œå‡¹å‡¸è´´å›¾òq¶ä¸éšç€ä½ çš„观察角度而å˜åŒ–。比较新çš?/span><span> ATI </span><span>å’?/span><span> nVidia </span><span>昑֡片能执行æ¯åƒç´ è¿½Ž—,˜q™ç§¾~ºçœè§‚察角度的中‘›_°±çœŸçš„ä¸å†æ˜¯æœ‰åŠ›è€Œå¿«é€Ÿçš„æ³•åˆ™äº†ã€?/span><span> </span><span>无论是哪一¿U方法,</span><span> </span><span>到目å‰äؓ止,没有游æˆå¼€å‘者太多的使用åQ?/span><span> </span><span>更多的游æˆèƒ½å¤Ÿä¸”应该使用凹凸贴图ã€?/span><span><br><br><br></span><strong><span>高速缓存抖åŠ?/span></strong><strong><span> = </span></strong><strong><span>¾pŸç³•的事ç‰?/span></strong><span><br></span><span>  ¾U¹ç†é«˜é€Ÿç¼“存的½Ž¡ç†æ¸¸æˆå¼•擎的速度臛_…³é‡è¦ã€?/span><span> </span><span>å’Œä“Qä½•é«˜é€Ÿç¼“å­˜ä¸€æ øP¼Œ¾~“存命中很好åQŒè€Œä¸å‘½ä¸­ž®†å¾ˆ¾pŸç³•。如果é‡åˆ°çº¹ç†åœ¨å›‘ÖŞ昄¡¤ºå¡å†…存被频ç¹åœ°æ¢å…¥æ¢å‡ºçš„æƒ…况åQŒè¿™ž®±æ˜¯¾U¹ç†é«˜é€Ÿç¼“存抖动。å‘生这¿U情冉|—¶åQŒé€šå¸¸</span><span>API</span><span>ž®†ä¼šåºŸå¼ƒæ¯ä¸ª¾U¹ç†åQŒç»“果是所有的¾U¹ç†åœ¨ä¸‹ä¸€òq€ž®†è¢«é‡æ–°åŠ è²åQŒè¿™éžå¸¸è€—时和浪è´V€‚对游æˆçީ家æ¥è¯´åQŒå½“</span><span>API</span><span>釿–°åŠ è²¾U¹ç†é«˜é€Ÿç¼“存时åQŒä¼šå¯ÆD‡´òq€é€Ÿçއ˜qŸé’ã€?/span><span><br><br></span><span>  在纹ç†é«˜é€Ÿç¼“存管ç†ä¸­åQŒæœ‰å„ç§ä¸åŒçš„æŠ€æœ¯å°†¾U¹ç†é«˜é€Ÿç¼“存抖动å‡åˆ°æœ€ž®?/span><span> – </span><span>˜q™æ˜¯¼‹®ä¿ä»ÖM½•</span><span> 3D </span><span>游æˆå¼•擎速度的一个决定性因素ã€?/span><span> </span><span>¾U¹ç†½Ž¡ç†æ˜¯äšg好事æƒ?/span><span> – </span><span>˜q™æ„味ç€åªè¦æ±‚显å¡ä‹É用纹ç†ä¸€‹Æ¡ï¼Œè€Œä¸æ˜¯é‡å¤ä‹É用。这å¬è“væ¥æœ‰ç‚¹è‡ªç›¸çŸ›ç›¾ï¼Œä½†æ•ˆæžœæ˜¯å®ƒæ„è°“ç€å¯ÒŽ˜¾å¡è¯´åQ?/span><span>"</span><span>看,</span><span> </span><span>所有这些多边åŞ全部使用˜q™ä¸€ä¸ªçº¹ç†ï¼Œæˆ‘们能够仅仅加貘q™ä¸ª¾U¹ç†ä¸€‹Æ¡è€Œä¸æ˜¯è®¸å¤šæ¬¡å?/span><span>?" </span><span>˜q™é˜»æ­?/span><span>API ( </span><span>或图形驱动èÊYä»?/span><span>) </span><span>ä¸Šä¼ å¤šæ¬¡å‘æ˜¾å¡åŠ è½½çº¹ç†ã€‚象</span><span>OpenGL</span><span>˜q™æ ·çš?/span><span>API</span><span>实际上通常处熾U¹ç†é«˜é€Ÿç¼“存管ç†ï¼Œæ„è°“ç€åQŒæ ¹æ®ä¸€äº›è§„则,比如¾U¹ç†å­˜å–的频率,</span><span>API</span><span>军_®šå“ªäº›¾U¹ç†å‚¨å­˜åœ¨æ˜¾å¡ä¸ŠåQŒå“ªäº›çº¹ç†å­˜å‚¨åœ¨ä¸Õd­˜ã€?/span><span> </span><span>真正的问题æ¥äº†ï¼š</span><span>a) </span><span>你时常无法知é?/span><span>API</span><span>正在使用的准¼‹®è§„则ã€?/span><span> b)</span><span>ä½ æ—¶å¸¸è¦æ±‚在一òq€ä¸­ç»˜åˆ¶æ›´å¤šçš„¾U¹ç†åQŒä»¥è‡´è¶…å‡ÞZº†æ˜‘֡内存½Iºé—´æ‰€èƒ½å®¹¾U³çš„¾U¹ç†ã€?/span><span> <br><br></span><span>  å¦å¤–一¿U纹ç†é«˜é€Ÿç¼“å­˜ç®¡ç†æŠ€æœ¯æ˜¯æˆ‘ä»¬æ—©å…ˆè®¨è®ºçš„çº¹ç†åŽ‹¾~©ã€‚很象声éŸÏx‡L形文件被压羃æˆ?/span><span> MP3 </span><span>æ–‡äšgåQŒå°½½Ž¡æ— æ³•达到那æ ïLš„压羃比率åQŒä½†¾U¹ç†å¯ä»¥è¢«åŽ‹¾~©ã€?/span><span> </span><span>从声éŸÏx‡L形文件到</span><span>MP3</span><span>的压¾~©å¯ä»¥è¾¾åˆ?/span><span> 11:1</span><span>的压¾~©æ¯”率,而ç»å¤§å¤šæ•°ç¡¬ä»¶æ”¯æŒçš„¾U¹ç†åŽ‹ç¾ƒ˜qç®—æ³•åˆ™åªæœ‰</span><span> 4:1 </span><span>的压¾~©æ¯”率,ž®½ç®¡å¦‚æ­¤åQŒè¿™æ ¯‚ƒ½äº§ç”Ÿå¾ˆå¤§çš„差别ã€?/span><span> </span><span>除此之外åQŒåœ¨æ¸²æŸ“åQˆç»˜åˆÓž¼‰˜q‡ç¨‹ä¸­ï¼Œåªæœ‰åœ¨éœ€è¦æ—¶åQŒç¡¬ä»¶æ‰åЍæ€åœ°å¯¹çº¹ç†è¿›è¡Œè§£åŽ‹ç¾ƒã€‚è¿™ä¸€ç‚šwžå¸¸æ£’åQŒæˆ‘们仅仅擦除峞®†å¯èƒ½ç”¨åˆ°çš„表é¢ã€?/span><span><br><br></span><span>  如上所˜qŽÍ¼Œå¦å¤–一¿UæŠ€æœ¯ç¡®ä¿æ¸²æŸ“å™¨è¦æ±‚昑֡å¯ÒŽ¯ä¸ªçº¹ç†åª¾l˜åˆ¶ä¸€‹Æ¡ã€‚确定你惌™¦æ¸²æŸ“åQˆç»˜åˆÓž¼‰çš„ä‹É用相åŒçº¹ç†çš„æ‰€æœ‰å¤šè¾¹åÅžåŒæ—¶é€åˆ°æ˜‘Ö¡åQŒè€Œä¸æ˜¯ä¸€ä¸ªæ¨¡åž‹åœ¨˜q™é‡ŒåQŒå¦ä¸€ä¸ªæ¨¡åž‹åœ¨é‚£é‡ŒåQŒç„¶åŽåˆå›žåˆ°æœ€åˆçš„¾U¹ç†è®ºã€‚仅仅绘制一‹Æ¡ï¼Œä½ ä¹Ÿž®±é€šè¿‡</span><span>AGP</span><span>接å£ä¼ é€ä¸€‹Æ¡ã€?/span><span>Quake III </span><span>在其阴媄¾pÈ»Ÿž®±æ˜¯˜q™ä¹ˆåšçš„。处ç†å¤šè¾¹åÅžæ—Óž¼ŒæŠŠå®ƒä»¬åŠ å…¥åˆ°ä¸€ä¸ªå†…éƒ¨çš„é˜´åª„åˆ—è¡¨åQŒä¸€æ—¦æ‰€æœ‰çš„多边形处ç†å®Œæ¯•,渲染器é历纹ç†åˆ—表,ž®±å°†¾U¹ç†åŠæ‰€æœ‰ä‹É用这些纹ç†çš„å¤šè¾¹å½¢åŒæ—¶ä¼ é€å‡ºåŽ…R€?/span><span> <br><br></span><span>  上述˜q‡ç¨‹åœ¨ä‹É用显å¡çš„¼‹¬äšg</span><span> T & L</span><span>åQˆå¦‚果支æŒçš„è¯ï¼‰æ—Óž¼Œòq¶ä¸æ€Žä¹ˆæœ‰æ•ˆã€‚ä½ é¢äÍ的结局是,满å±òq•都是ä‹É用相åŒçº¹ç†çš„大é‡çš„多边åÅžž®ç¾¤¾l„,所有多边åŞ都ä‹É用ä¸åŒçš„å˜æ¢çŸ©é˜µã€‚è¿™æ„è°“ç€æ›´å¤šçš„æ—¶é—´èŠ±åœ¨å¾ç«‹æ˜¾å¡çš„¼‹¬äšg</span><span> T & L </span><span>引擎</span><span> </span><span>åQŒæ›´å¤šçš„æ—‰™—´è¢«æµªè´¹äº†ã€?/span><span> </span><span>无论如何åQŒå› ä¸ÞZ»–们有助于å¯ÒŽ•´ä¸ªæ¨¡åž‹ä‹É用统一的纹ç†ï¼Œæ‰€ä»¥å®ƒå¯¹å®žé™…å±òq•上的模型å¯ä»¥æœ‰æ•ˆåœ°å·¥ä½œã€‚ä½†æ˜¯å› ä¸ø™®¸å¤šå¤šè¾¹åŞ們֑使用相åŒçš„墙å£çº¹ç†ï¼Œæ‰€ä»¥å¯¹äºŽä¸–界场景的渲染åQŒå®ƒå¸¸å¸¸ž®±æ˜¯åœ°ç‹±ã€‚通常它没有这么严é‡ï¼Œå› äؓ大体而言åQŒä¸–界的¾U¹ç†ä¸ä¼šæœ‰é‚£ä¹ˆå¤§åQŒè¿™æ ·ä¸€æ?/span><span>API</span><span>的纹ç†ç¼“存系¾lŸå°†ä¼šæ›¿ä½ å¤„ç†è¿™äº›ï¼Œòq¶æŠŠ¾U¹ç†ä¿ç•™åœ¨æ˜¾å¡ä»¥å¤‡å†‹Æ¡ä‹É用ã€?/span><span> <br><br></span><span>ã€€ã€€åœ¨æ¸¸æˆæœºä¸Šï¼Œé€šå¸¸æ²¡æœ‰¾U¹ç†é«˜é€Ÿç¼“存系¾l?/span><span>(</span><span>除éžä½ å†™ä¸€ä¸?/span><span>)</span><span>。在</span><span> PS2 </span><span>上é¢åQŒä½ æœ€å¥½æ˜¯˜qœç¦»</span><span>"</span><span>一‹Æ¡çº¹ç?/span><span>" </span><span>的方法。在</span><span> Xbox </span><span>上é¢åQ?/span><span> </span><span>˜q™æ˜¯ä¸é‡è¦çš„åQŒå› ä¸ºå®ƒæœ¬èín没有囑ÖŞ内存</span><span>(</span><span>它是</span><span> UMA </span><span>体系¾l“æž„</span><span>)</span><span>åQŒä¸”所有的¾U¹ç†æ— è®ºå¦‚何始终ä¿ç•™åœ¨ä¸»å­˜ä¹‹ä¸­ã€?/span><span> <br><br></span><span>  事实上,在今天的çŽîC»£</span><span>PC FPS </span><span>游æˆä¸­ï¼Œè¯•图通过</span><span>AGP</span><span>接å£ä¼ é€å¤§é‡çº¹ç†æ˜¯½W¬äºŒä¸ªæœ€é€šå¸¸çš„瓶颈。最大的瓉™¢ˆæ˜¯å®žé™…几何处ç†ï¼Œå®ƒè¦ä½¿ä¸œè¥¿å‡ºçŽ°åœ¨å®ƒåº”è¯¥å‡ºçŽ°çš„åœ°æ–¹ã€‚åœ¨å¦‚ä»Šçš?/span><span>3D FPS </span><span>游æˆä¸­ï¼Œæœ€è€—费旉™—´çš„工作,昄¡„¶æ˜¯é‚£äº›è®¡½Ž—模型中æ¯ä¸ª™å¶ç‚¹æ­£ç¡®çš„世界佾|®çš„æ•°å­¦˜qç®—ã€‚å¦‚æžœä½ ä¸æŠŠåœºæ™¯çš„çº¹ç†ä¿æŒåœ¨é¢„算之内åQŒä»…å±…å…¶‹Æ¡çš„ž®±æ˜¯é€šè¿‡</span><span>AGP</span><span>接å£ä¼ é€å¤§é‡çš„¾U¹ç†äº†ã€‚然而,你确实有能力影哘q™äº›ã€?/span><span> </span><span>通过é™ä½Ž™å¶å±‚çš?/span><span> MIP </span><span>¾U§åˆ«</span><span>(</span><span>˜q˜è®°å¾—ç³»¾lŸåœ¨å“ªé‡Œä¸æ–­åœîCؓ你细分纹ç†å—</span><span>?)</span><span>åQ?/span><span> </span><span>你就能够把系¾lŸæ­£åœ¨å°è¯•é€åˆ°æ˜‘֡的纹ç†å¤§ž®å‡ž®‘一åŠã€‚你的视觉质é‡ä¼šæœ‰æ‰€ä¸‹é™</span><span>-- </span><span>ž®¤å…¶æ˜¯åœ¨å¼•äh注目的电å½Þq‰‡æ–­ä¸­</span><span>--</span><span>但是你的òq€é€ŸçŽ‡ä¸Šå‡äº†ã€‚è¿™¿Uæ–¹å¼å¯¹¾|‘络游戞®¤å…¶æœ‰å¸®åŠ©ã€‚å®žé™…ä¸ŠåQ?/span><span>Soldier of Fortune II</span><span>å’?/span><span>Jedi Knight II: Outcast</span><span>˜q™ä¸¤‹Æ¾æ¸¸æˆåœ¨è®¾è®¡æ—‰™’ˆå¯¹çš„æ˜‘Ö¡˜q˜ä¸æ˜¯å¸‚åœÞZ¸Šçš„大众主‹¹æ˜¾å¡ã€‚äØ“äº†ä»¥æœ€å¤§å¤§ž®è§‚看他们的¾U¹ç†åQŒä½ çš?/span><span>3D </span><span>昑֡臛_°‘éœ€è¦æœ‰</span><span>128MB</span><span>的内存。这两ç§äº§å“åœ¨æ€æƒ³ä¸Šéƒ½æ˜¯ç»™æœªæ¥è®¾è®¡çš„ã€?/span><span> <br><br></span><span>  上颞®±æ˜¯½W?/span><span> 2 </span><span>部䆾。在下é¢ç« èŠ‚ä¸­ï¼Œæˆ‘ä»¬ž®†ä»‹¾l许多主题,包括内存½Ž¡ç†åQŒé›¾æ•ˆæžœåQŒæ·±åº¦æµ‹è¯•,</span><span> </span><span>抗锯齿,™å¶ç‚¹ç€è‰ÔŒ¼Œ</span><span>API</span><span>½{‰ã€?/span><span> <br><br></span><img src ="http://www.shnenglu.com/mzty/aggbug/37768.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mzty/" target="_blank">梦在天æ„Ó</a> 2007-12-04 13:16 <a href="http://www.shnenglu.com/mzty/archive/2007/12/04/37768.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>游æˆå¼•擎基础åQˆä¸€åQ‰ï¼ˆæ¸²æŸ“和构é€?D世界åQ?/title><link>http://www.shnenglu.com/mzty/archive/2007/12/04/37767.html</link><dc:creator>梦在天æ„Ó</dc:creator><author>梦在天æ„Ó</author><pubDate>Tue, 04 Dec 2007 05:14:00 GMT</pubDate><guid>http://www.shnenglu.com/mzty/archive/2007/12/04/37767.html</guid><wfw:comment>http://www.shnenglu.com/mzty/comments/37767.html</wfw:comment><comments>http://www.shnenglu.com/mzty/archive/2007/12/04/37767.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/mzty/comments/commentRss/37767.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mzty/services/trackbacks/37767.html</trackback:ping><description><![CDATA[     摘è¦:  æœ¬ç³»åˆ—è{自:http://www.shnenglu.com/orlando/archive/2007/12/03/37734.html è°¢è°¢ä½œè€…有˜q™ä¹ˆå¥½çš„æ–‡ç« ä¸Žå¤§å®¶å…±äº«ï¼ä»£è¡¨æ‰€æœ‰æœ‰òq”R˜…è¯Õdˆ°‹Æ¡ä¹¦çš„读者谢谢先åQ第1部分: 游æˆå¼•擎介ç»åQ?渲染和构é€?D世界介ç»ã€€ã€€è‡ªDoomæ¸¸æˆæ—¶ä»£ä»¥æ¥æˆ‘们已ç»èµîCº†å¾ˆè¿œã€?DOOMä¸åªæ˜¯ä¸€‹Æ¾ä¼Ÿå¤§çš„æ¸¸æˆåQŒå®ƒåŒæ—¶ä¹Ÿå¼€åˆ›äº†ä¸€¿U新的游æˆç¼–½E‹æ¨¡å¼? æ¸¸æˆ "å¼?..  <a href='http://www.shnenglu.com/mzty/archive/2007/12/04/37767.html'>阅读全文</a><img src ="http://www.shnenglu.com/mzty/aggbug/37767.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mzty/" target="_blank">梦在天æ„Ó</a> 2007-12-04 13:14 <a href="http://www.shnenglu.com/mzty/archive/2007/12/04/37767.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>¸ÐлÄú·ÃÎÊÎÒÃǵÄÍøÕ¾£¬Äú¿ÉÄÜ»¹¶ÔÒÔÏÂ×ÊÔ´¸ÐÐËȤ£º</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.cysq88.cn" target="_blank">ÑÇÖÞ¹ú²úÌìÌþþÃ×ÛºÏ</a>| <a href="http://www.vgunu.cn" target="_blank">¹ú²ú³ÉÈ˾«Æ·¾Ã¾ÃÑÇÖÞ¸ßÇå²»¿¨</a>| <a href="http://www.zhangqiu114.cn" target="_blank">ÈÕ±¾¾Ã¾Ã¾Ã¾Ã¾Ã¾Ã¾Ã¾Ã</a>| <a href="http://www.zyxsjjz.cn" target="_blank">ÆæÃ×Ó°ÊÓ7777¾Ã¾Ã¾«Æ·ÈËÈËˬ</a>| <a href="http://www.fzmnls.cn" target="_blank">ÑÇÖÞ¾«Æ·ÎÞÂë¾Ã¾Ã¾Ã¾Ãsm</a>| <a href="http://www.tuomao8.cn" target="_blank">Å·ÃÀ¾«Æ·Ò»±¾¾Ã¾ÃÄÐÈ˵ÄÌìÌÃ</a>| <a href="http://www.shuffley.cn" target="_blank">¾Ã¾Ã¾Ã¾ÃÅ®½ÌʦÃâ·ÑÒ»Çø</a>| <a href="http://www.uqtl.cn" target="_blank">Å·ÃÀºÚÈ˼¤ÇéÐԾþÃ</a>| <a href="http://www.cnyaxin.cn" target="_blank">¾Ã¾Ã¾Ã¾Ã¾Ã¾ÃÑÇÖÞ¾«Æ·</a>| <a href="http://www.ygowj.cn" target="_blank">99¾Ã¾ÃÈËÆÞÎÞÂ뾫ƷϵÁÐÃÛÌÒ</a>| <a href="http://www.rainbow-city.cn" target="_blank">¾«Æ·¹ú²úÒ»Çø¶þÇøÈýÇø¾Ã¾ÃÃÛÍÎ</a>| <a href="http://www.51d1.cn" target="_blank">ÑÇÖÞºÝºÝæÃæÃ×ۺϾþÃÃÛÑ¿</a>| <a href="http://www.wufayulecheng.cn" target="_blank">ÎçÒ¹²»¿¨888¾Ã¾Ã</a>| <a href="http://www.67335.com.cn" target="_blank">ÈÕº«¾«Æ·¾Ã¾ÃÎÞÂëÖÐÎÄ×ÖÄ»</a>| <a href="http://www.djmb.net.cn" target="_blank">¾Ã¾Ã¾ÃÎÞÂ뾫ƷÑÇÖÞÈÕº«Èí¼þ</a>| <a href="http://www.3393795.cn" target="_blank">ÑÇÖÞºÝºÝæÃæÃ×ۺϾþþþÃ</a>| <a href="http://www.shuwangou.cn" target="_blank">¾Ã¾Ã¹ú²ú¾«Æ·Íµ99</a>| <a href="http://www.fimtb.cn" target="_blank">³ÉÈËÃâ·ÑÍøÕ¾¾Ã¾Ã¾Ã</a>| <a href="http://www.bjwx2008.cn" target="_blank">ÉÙ¸¾ÎÞÌ×ÄÚл¾Ã¾Ã¾Ã¾Ã</a>| <a href="http://www.hp6000.cn" target="_blank">ÑÇÖÞÂÒÑÇÖÞÂÒÒù¾Ã¾Ã</a>| <a href="http://www.otc-online.com.cn" target="_blank">¾«²ú¹úÆ·¾Ã¾ÃÒ»¶þÈý²úÇøÇø±ð</a>| <a href="http://www.anglein.cn" target="_blank">¾Ã¾ÃÈËÆÞÉÙ¸¾ÄÛ²ÝAVÎÞÂëÃÛÌÒ</a>| <a href="http://www.9a0g.cn" target="_blank">99¾Ã¾Ã³ÉÈ˹ú²ú¾«Æ·Ãâ·Ñ</a>| <a href="http://www.maituogangwan.cn" target="_blank">¹ú²ú69¾«Æ·¾Ã¾Ã¾Ã¾Ã9999APGF</a>| <a href="http://www.chunhuanhcl.cn" target="_blank">¹úÄÚ¾«Æ·ÒÁÈ˾þþþÃÓ°Ôº¶Ô°×</a>| <a href="http://www.988o.cn" target="_blank">www.¾Ã¾Ã99</a>| <a href="http://www.taphha.cn" target="_blank">¾Ã¾Ã91¾«Æ·¹ú²ú91¾Ã¾ÃÂé¶¹</a>| <a href="http://www.aaa69.cn" target="_blank">¾Ã¾Ã¾«Æ·ÌìÌìÖÐÎÄ×ÖÄ»ÈËÆÞ</a>| <a href="http://www.abovefq.cn" target="_blank">¾Ã¾Ã¾«Æ·¹ú²úÂÒ×ÓÂ×</a>| <a href="http://www.foundxy.cn" target="_blank">¾Ã¾Ã¾Ã¾Ã¾Ã¾«Æ·Ãâ·Ñ¿´SSS</a>| <a href="http://www.hzyzhongyuan.cn" target="_blank">¾Ã¾Ã¾Ã¾Ã¾ÃÎÞÂë¹ú²ú¾«Æ·ÖÐÎÄ×ÖÄ»</a>| <a href="http://www.hbxstech.cn" target="_blank">ºÝºÝ¾Ã¾ÃÑÇÖÞÅ·ÃÀ×¨Çø</a>| <a href="http://www.0475job.cn" target="_blank">¾Ã¾Ã99¹ú²ú¾«Æ·ÓÈÎï</a>| <a href="http://www.webidea.com.cn" target="_blank">¾Ã¾ÃÑÇÖÞ˽È˹ú²ú¾«Æ·vA</a>| <a href="http://www.haolinhaoju.cn" target="_blank">¾Ã¾Ã¾Ã¾Ã¾Ã¾Ã²¨¶àÒ°½áÒ¸߳±</a>| <a href="http://www.hhhkk.cn" target="_blank">97Ïã½¶¾Ã¾Ãҹɫ¾«Æ·¹ú²ú</a>| <a href="http://www.fouming.cn" target="_blank">ÑÇÖÞ¹ú²úСÊÓÆµ¾«Æ·¾Ã¾Ã¾ÃÈý¼¶</a>| <a href="http://www.fign.cn" target="_blank">ÇøÑÇÖÞÅ·ÃÀÒ»¼¶¾Ã¾Ã¾«Æ·ÑÇÖÞ¾«Æ·³ÉÈËÍø¾Ã¾Ã¾Ã¾Ã </a>| <a href="http://www.6t0n.cn" target="_blank">ÈÕº«ÃÀÅ®18ÍøÕ¾¾Ã¾Ã¾«Æ·</a>| <a href="http://www.alexa178.cn" target="_blank">ÑÇÖÞ¹ú²úÌìÌþþÃ×ÛºÏÍøÕ¾ </a>| <a href="http://www.heilai.cn" target="_blank">Ó°ÒôÏÈ·æÅ®ÈËAV³ɫ×ÊÔ´Íø¾Ã¾Ã</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>