»ùÓÚUnity3DµÄÈýάÐéÄâµçÄÔ×éװʵÑéϵͳ
ͼ4 ΪÄÚ´æÐ¾Æ¬Ö¸¶¨²ÄÖÊID
È»ºóÓÃͬÑùµÄ·½·¨Ñ¡ÖÐÄÚ´æÌõµÄ²à±ß£¬ÎªËüÖ¸¶¨²ÄÖÊIDºÅΪ1£¬Èçͼ5£º
ͼ5 ΪÄÚ´æÌõ²àÃæÖ¸¶¨²ÄÖÊID
ÓÃÕâÖÖ·½·¨¸øÄÚ´æµÄÆäËü²¿·ÖÒ²Ö¸¶¨IDºó£¬¾Í¿ÉÒÔ½øÈë²ÄÖÊ±à¼Æ÷£¬´´½¨Ò»¸ö¶àά×Ó¶ÔÏó²ÄÖÊ£¬ÒòΪ×ܹ²ÎªÄÚ´æÌõÖ¸¶¨ÁË5¸ö²ÄÖÊID£¬ËùÒÔÐèÒª´´½¨Ò»¸ö°üº¬5¸ö×Ó¶ÔÏóµÄ¶àά×Ó¶ÔÏó²ÄÖÊ£¬Ã¿¸ö×Ó¶ÔÏó²ÄÖʲÄÖÊ¿ÉÒÔµ¥¶À±à¼£¬Âþ·´ÉäÑÕÉ«¿ÉÒÔ´¿É«Ò²¿ÉÒÔÌùͼ£¬»·¾³¹âºÍ¸ß¹â·´Éä¸ù¾Ý¾ßÌåÇé¿ö½øÐÐÉèÖã¬Èçͼ6Ëùʾ¡£ÓÉÓÚUnity3DÒýÇæÒ²ÊÇÖ§³Ö¶àά×Ó¶ÔÏó²ÄÖʵģ¬ËùÒÔÔÚ3DS MaxÖÐ×öµÄÕâЩ¹¤×÷¶¼²»»áÊÇͽÀ͵ġ£
µÚ4Ò³
»ùÓÚUnity3DµÄÈýάÐéÄâµçÄÔ×éװʵÑéϵͳ
ͼ6 ¶àά×Ó¶ÔÏó²ÄÖÊÉèÖÃ
½«Óõ½µÄÌùͼ±£´æÔÚÒ»¸öÎļþ¼ÐÀÔÚµ¼ÈëU3DÒýÇæµÄʱºòÐèÒªÖØÐ½øÐÐÖ¸¶¨¡£×¼±¸¹¤×÷×öÍêÖ®ºó¾Í¿ÉÒÔµ¼ÈëU3DÒýÇæÁË¡£
2.3 ×ÊÔ´µ¼ÈëUnity3DÒýÇæ
½«ÈýάÈí¼þÖÆ×÷µÄÄ£Ð͵¼ÈëUnity3DÒýÇæÊ±ÐèҪעÒâһЩÎÊÌâ¡£
Ê×ÏÈÊÇXÖáÏòƫת¡£3DS MaxÄ£Ð͵¼ÈëÒýÇæºó½«×Ô¶¯ÓÐÒ»¸öÈÆXÖá270¶ÈµÄƫת£¬ÔÚUnityÖÐÐýתģÐ͵Äʱºò£¬YÖáµÄ²ÎÕÕ·½ÏòÓÀÔ¶³¯ÉÏ£¬¶øXºÍZÖáÔòÒÔÄ£Ð͵Ä×ÔÉí¾Ö²¿×ø±êΪ׼£¬ËùÒÔµ±Ä£ÐÍÐýת270¶Èºó£¬ZÖáÕýºÃÓëYÖáÖØºÏ¡£½â¾öÕâ¸öÎÊÌâÐèÒª½«Ä£ÐÍÎļþµ¼³ö³ÉΪ.3dsÀàÐ͵ÄÎļþÔÙµ¼ÈëUnity¡£
Æä´ÎÊDzÄÖÊÎÊÌ⡣ģÐÍÎļþµ¼ÈëUnityºó£¬UnityÖ»»á×Ô¶¯Éú³É²ÄÖÊÇò£¬µ«ÊDzÄÖʵÄÌùͼÐèÒªÊÖ¶¯µ¼ÈëUnity¹¤³ÌÈ»ºó½øÐÐÖ¸¶¨¡£Èç¹ûÄ£Ð;ßÓз¨ÏßÌùͼ»òÕß¹âÕÕÌùͼ£¬»¹ÐèҪѡÔñÕýÈ·µÄ×ÅÉ«Æ÷£¨Shader£©²ÅÄÜ´ïµ½ÏëÒªµÄЧ¹û¡£
×îºóÊÇËõ·ÅÒò×Ó¡£ÈýάģÐ͵ĵ¥Î»ÐèÒªÔÚǰÆÚ½¨Ä£µÄʱºò¾ÍÉèÖò¢Í³Ò»£¬·ñÔòÄ£ÐͳöÀ´µÄ´óС»á²»Æ¥Åä¡£UnityÖеÄ1µ¥Î»ÊÇfbxÎļþÖÐ1µ¥Î»µÄ100±¶£¬Òò´ËÈç¹ûUnityÖÐ1µ¥Î»¶¨ÒåΪ1Ã׵ϰ£¬ÄÇôÔÚ3DS MaxÖÐÖÆ×÷Ä£Ð͵Äʱºò£¬µ¥Î»¾ÍÓ¦¸ÃÉèÖÃΪ1ÀåÃס£Ëõ·ÅÒò×ÓÔÚµ¼ÈëÄ£ÐÍʱҲ¿ÉÒÔÊÖ¶¯ÉèÖã¬Èç¹ûÊÇÒÔfbx¸ñʽµÄÎļþµ¼ÈëµÄÄ£ÐÍ£¬¿ÉÒÔ½«Ä£Ð͵ÄËõ·ÅÒò×ÓÉèÖÃΪ0.01¡£
½«Íⲿ×ÊÔ´µ¼ÈëUnityÓÐÈýÖÖ·½Ê½¡£
µÚÒ»ÖÖ·½Ê½ÊÇ´æÈ빤³ÌÎļþ¼Ð¡£´´½¨¹¤³ÌÒÔºó£¬ÔÚ´ÅÅÌÉÏ»áÓÐÒ»¸ö¹¤³ÌÎļþ¼Ð£¬ÕÒµ½¹¤³ÌÃûϵÄAssetÎļþ¼Ð£¬½«ÐèÒªµÄÄ£ÐÍ×ÊÔ´¡¢Ìùͼ×ÊÔ´¸´ÖÆÕ³Ìùµ½ÕâÀï¼´¿É¡£ÎªÁ˹¤³Ì½á¹¹µÄ¼ò½àÃ÷ÁËÒÔ¼°·½±ã²éÕÒ×ÊÔ´£¬¿ÉÒÔ·Ö±ðΪģÐͺÍÌùͼ´´½¨×Ô¼ºµÄÎļþ¼Ð¡£
µÚ¶þÖз½Ê½ÊÇÔÚÖ±½ÓÍÏÈëµ½UnityÖС£ÔÚÍⲿÎļþ¼ÐÖÐÑ¡ÖÐÐèÒªµ¼ÈëµÄ×ÊÔ´£¬Ö±½ÓÍÏ×§
µÚ5Ò³
»ùÓÚUnity3DµÄÈýάÐéÄâµçÄÔ×éװʵÑéϵͳ
½øUnityµÄProject´°¿ÚÖм´¿É¡£
µÚÈýÖÖ·½Ê½Ö÷ÒªÊÇÓÃÀ´µ¼Èë.unitypackageÀàÐÍ×ÊÔ´¡£UnitypackageÊÇUnity´ò°üÎļþÉú³ÉµÄÒ»ÖÖ¸ñʽ¡£ÔÚUnityµÄ¶¥²¿²Ëµ¥À¸ÕÒµ½Asset¡úImport Package¡úCustom Package,ÔÚ±¾µØ´ÅÅÌÕÒµ½ÐèÒªµ¼ÈëµÄunitypackageÎļþµã»÷È·¶¨¾ÍÐÐÁË£¬Èçͼ7Ëùʾ¡£
ͼ7 µ¼ÈëunitypackageÎļþ ͼ8 Ä£Ð͵¼ÈëÉèÖÃ
Ä£Ð͵¼ÈëU3DºóÐèÒªÉèÖÃһЩ²ÎÊý£¬ÕýÈ·ÉèÖÃÕâЩ²ÎÊý£¬Ä£ÐͲÅÄܸüºÃµÄ±»³ÌÐòʹÓá£Ñ¡Öе¼ÈëµÄÄ£ÐÍ£¬ÔÚ¼àÊÓÆ÷´°¿Ú»á³öÏÖÈçͼ8µÄ²Ëµ¥¡£ÆäÖÐÓм¸¸öÖ÷Òª²ÎÊýÐèÒª½øÐÐÉèÖÃ:
Scale Factor¡ª¡ªÇ°ÃæÌáµ½µÄËõ·ÅÒò×Ó£¬ÕâÀïÎÒ¸ù¾Ýʵ¼ÊÄ£ÐÍµÄÆ¥ÅäÐèÒª½«ËüÉèÖÃΪ0.004¡£
Mesh Compression¡ª¡ªÃæÆ¬Ñ¹Ëõ¡£ÓÅ»¯Ä£Ð͵ÄÃæÊý´Ó¶øÓÅ»¯×îÖÕ³ÌÐòµÄÐÔÄÜ¡£ Read/Write Enabled¡ª¡ª¹´Ñ¡½«Ê¹µÃµ¼ÈëµÄ×ÊÔ´¿ÉÒÔÔÚÒýÇæÄÚ±»¶Áд¡£ Generate Colliders¡ª¡ªÉú³ÉÅöײÆ÷¡£¹´Ñ¡½«»áÉú³ÉÆ¥ÅäÄ£Ð͵ÄÅöײÆ÷¡£
ÆäËûµÄ²ÎÊýÒòΪÔÚÕâ¸öϵͳÖÐÎÞÐèÓõ½£¬ËùÒÔ°´ÕÕĬÈϵIJÎÊýÉèÖþͿÉÒÔÁË¡£
3. Unity3DÒýÇæÑо¿
3.1 ÒýÇæ½éÉÜ
Unity3DÊÇÒ»¸öÓÃÓÚ´´½¨ÖîÈçÈýάÊÓÆµÓÎÏ·¡¢½¨Öþ¿ÉÊÓ»¯¡¢ÊµÊ±Èýά¶¯»µÈÀàÐÍ»¥¶¯ÄÚÈݵÄ×ÛºÏÐ͵Ĵ´×÷¹¤¾ß£¬¿ª·¢ÕßÊÇUnity Technologies,Ŀǰ×îеÄÎȶ¨°æ±¾ÊÇ2013Äê12Ô·¢²¼µÄ4.3.1¡£2005Äê6ÔÂUnityµÚÒ»¸ö°æ±¾1.0.1·¢²¼£¬±êÖ¾×ÅUnityµÄµ®Éú¡£ UnityÊÇÒ»¸ö¿ç¶àƽ̨µÄÓÎÏ·ÒýÇæ£¬ÀûÓý»»¥µÄͼÐλ¯¿ª·¢»·¾³×÷Ϊ±à¼Æ÷Ìṩ¸ø¿ª·¢Õߣ¬¿ÉÔËÐÐÔÚWindowsºÍMac OS XÏ£¬¿É·¢²¼Ó¦Óõ½Windows¡¢Mac OS X¡¢Android¡¢iOS¡¢WebµÈƽ̨¡£
µÚ6Ò³
»ùÓÚUnity3DµÄÈýάÐéÄâµçÄÔ×éװʵÑéϵͳ
UnityÓµÓÐÒÔÏÂÖ÷ÒªÌØÐÔ£º
²ã¼¶Ê½µÄ×ۺϿª·¢»·¾³¡¢ÊÓ¾õ»¯±à¼£¬ÏêϸµÄÊôÐÔ±à¼Æ÷ºÍ¶¯Ì¬ÓÎÏ·Ô¤ÀÀ¡£
¿çƽ̨֧³Ö¡£¿ÉÒÔ¿ª·¢Windows¡¢Mac OS X¡¢iOS¡¢Android¡¢Blakberry¡¢Xbox¡¢Windows PhoneµÈƽ̨µÄÓ¦ÓóÌÐò¡£
×Ô¶¯×ÊÔ´µ¼Èë¡£ÏîÄ¿ÖеÄ×ÊÔ´»á±»×Ô¶¯µ¼È룬²¢¸ù¾Ý×ÊÔ´µÄ¸Ä¶¯×Ô¶¯¸üС£
»ùÓÚDirec3D£¨Windows£©¡¢OpenGL(Mac¡¢Windows)µÄͼÐÎÒýÇæ£¬²¢ÇÒÓÐ×Ô¼ºµÄAPI£¨Wii£©¡£ Ö§³ÖBump mapping¡¢Reflection mapping¡¢Parallax mapping¡¢Screen Space Ambient Occlusion£¬¶¯Ì¬ÒõӰʹÓõÄÊÇShader Map¼¼Êõ£¬²¢Ö§³ÖRender-to-TextureºÍÈ«ÆÁPost ProcessingЧ¹û¡£
Shader±àдʹÓÃShaderLabÓïÑÔ£¬Í¬Ê±Ö§³Ö×ÔÓй¤×÷Á÷Öеıà³Ì·½Ê½»òCG¡¢GLSLÓïÑÔ¡£ ÄÚÖöÔNvdiaµÄPhysX physics engineÖ§³Ö¡£
ÓÎÏ·½Å±¾ÊÇ»ùÓÚMonoµÄMono½Å±¾£¬¿ª·¢Õß¿ÉÒÔʹÓÃJavaScript¡¢C#»òBooÓïÑÔ±àд½Å±¾¡£
ÒôЧϵͳ»ùÓÚOpenAL³ÌÐò¿â£¬¿ÉÒÔ²¥·ÅOgg VorbisѹËõÒôЧ£¬ÊÓÆµ²ÉÓÃTheora±àÂë¡£
3.2 ʼþº¯Êý¡¢½Å±¾Ö´ÐÐ˳ÐòºÍÉúÃüÖÜÆÚ
UnityÖеĽű¾²»Ïñ³£¹æ³ÌÐòÔÚÒ»¸öÑ»·ÖеÄÖ´ÐÐÖ±µ½ÈÎÎñÍê³É£¬¶øÊÇͨ¹ýµ÷ÓÃһЩÊÂÏÈÉùÃ÷ºÃµÄº¯Êý£¬¶Ï¶ÏÐøÐøµÄ½«¿ØÖÆÈ¨´«¸øÒ»¸ö½Å±¾¡£µ±Ò»¸öº¯ÊýÖ´ÐÐÍê±Ïºó£¬¿ØÖÆÈ¨±ãÓÖ½»»Ø¸øUnity¡£ÕâЩº¯Êý¾ÍÊÇʼþº¯Êý¡£
ÏÂÃæ°´Õսű¾µÄÖ´ÐÐ˳Ðò½éÉÜһЩ³£ÓõÄUnityʼþº¯Êý¡£
Awake()¡£µ±Ç°¿ØÖƽű¾ÊµÀý±»×°ÔصÄʱºòµ÷Óá£Ò»°ãÓÃÓÚ³õʼ»¯Õû¸öʵÀýʱʹÓᣠStart()¡£µ±Ç°¿ØÖƽű¾µÚÒ»´ÎÖ´ÐÐUpdate֮ǰµ÷ÓᣠUpdate()¡£×î³£ÓõÄʼþº¯Êý£¬Ã¿Ö¡¶¼Ö´ÐÐÒ»´Î¡£
FixedUpdate()¡£Ã¿¹Ì¶¨Ö¡»æÖÆÊ±Ö´ÐÐÒ»´Î£¬ÓëUpdate²»Í¬µÄÊÇFixedUpdateÊÇäÖȾִ֡ÐУ¬µ±äÖȾЧÂʵØÏÂʱ£¬FixedUpdateµÄµ÷ÓôÎÊýÒ²»á¸ú×ÅϽµ¡£
OnEnable()¡£µ±½Å±¾±»ÆôÓÃʱµ÷ÓᣠOnDisable()¡£µ±½Å±¾±»½ûÓÃʱµ÷Óá£
OnDestroy()¡£µ±½Å±¾µÄËÞÖ÷ÎïÌå±»Ïú»ÙµÄʱºòµ÷Óá£
UnityÖбàдµÄ½Å±¾Ò»°ã¶¼»á°ó¶¨µ½Ò»¸öGameObjectÉÏ£¬Õâ¸öGameObject¾ÍÊdzÌÐòÖеÄÒ»¸ö»ù´¡ÔªËØ¡£Ò»¸ö½Å±¾µÄÉúÃüÖÜÆÚ¾ÍÊǺÍËü°ó¶¨µÄGameObjecϢϢÏà¹ØµÄ£¬µ±³ÌÐò¿ªÊ¼ÔËÐеÄʱºò£¬Unity»áΪÿһ¸ö³¡¾°ÖлîÔ¾µÄGameObjectÉϵĽű¾Éú³ÉÒ»¸ö¶ÔÏ󣬶øµ±½Å±¾µÄËÞÖ÷ÎïÌ壨¼´½Å±¾Ëù°ó¶¨µÄÎïÌ壩±»Ïú»ÙµÄʱºò£¬½Å±¾µÄ¶ÔÏóÒ²¾Í²»´æÔÚÁË¡£ UnityµÄ½Å±¾Ä¬È϶¼»á¼Ì³ÐÓëMonoBehavior»ùÀà¡£²»¼Ì³ÐÓÚMonoBehaviorµÄÀàͨ³£ÓÃÀ´´æ·ÅһЩȫ¾ÖµÄÊý¾Ý£¬ËüÔÚÕû¸ö³ÌÐòÔËÐеĹý³ÌÖж¼ÊÇ´æÔڵġ£
µÚ7Ò³