@echo off
echo 瀹屽叏璺緞锛%1
echo 鍘绘帀寮曞彿锛%~1
echo 鎵鍦ㄥ垎鍖猴細%~d1
echo 鎵澶勮矾寰勪笉鍚垎鍖猴細%~p1
echo 鎵澶勮矾寰勫惈鍒嗗尯锛%~dp1
echo 鏂囦欢鍚嶏細%~n1
echo 鎵╁睍鍚嶏細%~x1
echo 鏂囦欢灞炴э細%~a1
echo 淇敼鏃堕棿锛%~t1
echo 鏂囦欢澶у皬锛%~z1
pause
@echo off
echo 瀹屽叏璺緞锛%1
echo 鍘绘帀寮曞彿锛%~1
echo 鎵鍦ㄥ垎鍖猴細%~d1
echo 鎵澶勮矾寰勪笉鍚垎鍖猴細%~p1
echo 鎵澶勮矾寰勫惈鍒嗗尯锛%~dp1
echo 鏂囦欢鍚嶏細%~n1
echo 鎵╁睍鍚嶏細%~x1
echo 鏂囦欢灞炴э細%~a1
echo 淇敼鏃堕棿锛%~t1
echo 鏂囦欢澶у皬锛%~z1
pause
鍦║nity浣跨敤Prefab杩囩▼涓紝鎴戜滑鏈夋椂鍊欓渶瑕佽繘琛孭refab瀹炰緥鏂紑寮曠敤鍜屾浛鎹㈠紩鐢ㄧ殑闇姹傘傚疄鐜拌繖浜涢渶姹傦紝浣跨敤鍒扮殑鏍稿績鐨勭被鏄疨refabUtility銆侾refabUtility鏄竴涓潤鎬佺被锛屼富瑕佺敤浜庤繘琛孭refab鐨勭浉鍏冲鐞嗐 杩欓噷涓昏浣跨敤浠ヤ笅鍑犵鏂规硶
鏂紑Prefab寮曠敤鐨勪唬鐮佸涓
锛堟湰鏂囨潵鑷細http://www.cnblogs.com/CodeGize http://www.codegize.com锛
TF#锛屽嵆Tensorflow Sharp鏄疶ensorflow鐨凜#鐗堟湰銆傚緱鐩婁簬鏀归」鐩紝浣垮緱tensorflow闆嗘垚鍒皍nity涓垚涓哄彲鑳姐傦紙TF#鐨凣it锛https://github.com/migueldeicaza/TensorFlowSharp锛
鍦╩l-agent涓紝鍚湁涓涓彃浠讹紝鍙仛TFSharpPlugin.unitypackage锛屽寘鍚簡TF#鍜宮l-agent銆
涓嬭浇鍦板潃锛https://s3.amazonaws.com/unity-agents/TFSharpPlugin.unitypackage
濡傛灉涓嬭浇杈冩參鍙互浣跨敤涓嬮潰鐨勫湴鍧锛http://pan.baidu.com/s/1c1XArmC 瀵嗙爜锛歛ej8
瀹夎杩欎釜鎻掍欢锛屾妸蹇呰鐨刣ll鏂囦欢娣诲姞鍒板師鏈夌殑宸ョ▼涓紙涔熷彲浠ユ墍鏈夋枃浠跺畬鍏ㄨ鐩栨帀锛夈
鎸夌収瀹樻柟鐨勮鏄庢枃妗o紝鍦╱nity涓夋嫨鑿滃崟Editor->ProjectSetting->Player銆傚湪OtherSetting涓嬬殑Scripting Define Symbols涓坊鍔犱竴涓畯瀹氫箟ENABLE_TENSORFLOW
鍦ㄨ繖浜涘伐浣滃噯澶囧氨缁悗锛屾寜鐓т箣鍓嶄竴鏂囥奧in10涓婾nity浜哄伐鏅鸿兘浠g悊ml_agent鐜瀹夎銆嬫惌寤虹幆澧冨苟涓旀渶缁堣繍琛宼ensorflow鐨勮缁冩ā鍨嬨傚鏋滀竴鍒囬『鍒╂病鏈夐棶棰橈紝閭d箞灏变細鍦╩l-agents\python\models\ppo杩欎釜鐩綍涓嬬敓鎴愪竴涓3dball.byte鏂囦欢銆傝繖涓氨鏄缁冨畬鎴愮殑妯″瀷鏁版嵁銆傚皢鍏堕噸鍛藉悕涓3dball_custom.byte锛坲nity宸ョ▼閲岄潰宸茬粡鍚湁瀹樻柟璁粌濂界殑妯″瀷鏁版嵁鏂囦欢锛屼篃鍙3dball.byte锛屾墍浠ヨ繖杈逛负浜嗗尯鍒繘琛屼簡閲嶅懡鍚嶏級銆
AI浜哄伐鏅鸿兘锛屾洿鍑嗙‘鍦拌鏈哄櫒瀛︿範锛坢achine learning锛夋渶杩戜竴骞撮潪甯哥伀鐑傚湪鏈杩戜竴娈垫椂闂达紝Unity涔熷彂甯冧簡涓涓満鍣ㄥ涔犵殑宸ュ叿锛屽彨鍋歮l-agent銆
鑻辨枃浠嬬粛濡備笅锛
https://blogs.unity3d.com/cn/2017/09/19/introducing-unity-machine-learning-agents/
涓枃浠嬬粛濡備笅锛
http://forum.china.unity3d.com/thread-27837-1-1.html
宸ョ▼鍦℅ithub涓婄殑鍦板潃濡備笅
https://github.com/Unity-Technologies/ml-agents
浠庝唬鐮佺粨鏋勪笂鐪嬶紝ml-agent瀹炵幇浜嗗墠绔敤unity鍋氳〃鐜帮紝鍚庣鐢≒hython杩涜浜哄伐鏅鸿兘婕旂畻鐨勭郴缁熴
瀹樻柟鎺ㄨ崘鐜濡備笅
Phython2/3 64浣
ljupyter notebook
TensorFlow (1.0+) (Training)
Visual Studio 2017
Unity3d 2017
浠嶨ithub缃戠珯涓婂厠闅嗭紙涓嬭浇锛塵l-agent锛屼唬鐮侊紝鏀惧湪浠绘剰浣嶇疆涓嬨
浠嶶nity瀹樼綉涓嬭浇Unity2017.2锛屽畨瑁呫
涓嬭浇鍦板潃https://store.unity.com/cn/download?ref=personal
浠庡井杞畼缃https://www.visualstudio.com/zh-hans/downloads/涓嬭浇锛岃繍琛屽悗閫夋嫨闇瑕佺殑妯″潡銆傝繖杈硅櫧鐒舵湁鎻愪緵python鐨勭浉鍏虫彃浠讹紝浣嗘槸鎴戜滑閫夋嫨鍚庨潰鍗曠嫭瀹夎銆
浠嶢naconda瀹樼綉瀹夎Anaconda5.0.0
涓嬭浇鍦板潃https://www.anaconda.com/download/#windows
瀹夎鍚庝粠寮濮嬭彍鍗曟墦寮Anaconda Navigator锛屽湪宸︿晶閫夋嫨Environments銆傚湪涓嬫柟鑿滃崟涓偣鍑籆reate鍒涘缓涓涓幆澧冿紝鍙栧悕涓簍ensorflow锛宲ython鐗堟湰閫夋嫨涓3.6銆傜瓑寰呯幆澧冨垱寤哄畬鎴愩
浠庡紑濮嬭彍鍗曚腑锛屾墦寮Anacoda Prompt銆
棣栧厛婵娲诲垰鍒氬垱寤虹殑鐜锛岃緭鍏ュ懡浠
activate tensorflow
杈撳叆鍛戒护瀹夎Tensorflow
pip install 鈥揢 tensorflow
绛夊緟涓娈垫椂闂寸洿鍒板畨瑁呭畬鎴愩傝嚦姝ゅ畬鎴愪簡Tensorflow鏈鏂扮増鏈殑瀹夎銆傦紙鐩墠鏄1.3.0鐗堟湰锛
鍚庨潰杩樿杈撳叆鍛戒护锛屾墍浠ユ殏鏃朵笉瑕佸叧闂獥鍙
瀹屾垚Tensorflow瀹夎鍚庯紝缁х画鍦ˋnacoda Prompt涓緭鍏ュ懡浠ゅ垏鎹㈠埌ml-agent鎵鍦ㄧ殑鐩綍涓璸ython鐩綍鐨勪綅缃傛瘮濡俶l-agent瀹夎鐩綍涓篋:\Git\ml-agent锛屽垯杈撳叆
cd D:\Git\ml-agent\python
濡傛灉浣犵殑Anaconda涓嶆槸瀹夎鍦╩l-agent鐩綍鐩稿悓鐨勭鐩橈紝閭d箞闇瑕佸垏鎹㈠埌ml-agen鎵鍦ㄧ殑纾佺洏銆傛瘮濡傝繖閲孉naconda鐨勫畨瑁呯洰褰曚负C鐩橈紝ml-agent瀹夎鐩綍涓篋:\ml-agent锛屽垯闇瑕佸垏鎹㈠埌D鐩橈紝杈撳叆
D:
鐒跺悗寮濮嬪畨瑁匘emo鎵闇鐨勭幆澧冿紝杈撳叆鍛戒护
pip install .
娉ㄦ剰锛屾敞鎰忎笉瑕侀仐婕忔渶鍚庣殑鐐瑰彿銆傜瓑寰呭畨瑁呭畬鎴愬嵆鍙傛鏃朵緷鐒朵笉鐢ㄥ叧闂繖涓獥鍙
Unity鐨刴l-agent鎻愪緵浜嗗骞茬殑demo銆傝繖閲屽皾璇曡繍琛3dball杩欎釜demo銆
浣跨敤Unity2017鎵撳紑ml-agent涓媢nity-environment鏂囦欢澶广
鎵撳紑Assets\ML-Agents\Examples\3DBall鐩綍涓嬬殑scene鏂囦欢銆傚湪鍦烘櫙涓夋嫨Ball3DAcademy涓嬬殑Ball3DBrain鐗╀綋锛屽皢TypeOfBrain淇敼涓篍xternal锛岃〃绀轰粠Tensorflow涓幏鍙栨暟鎹
鑿滃崟涓夋嫨File->Build Setting锛屾坊鍔犲綋鍓嶆墍鍦ㄥ満鏅傦紙鍙互鍕鹃塂evelopment Build浠ヤ究鏌ョ湅杈撳嚭锛
鐐瑰嚮PlayerSeting锛屾鏌ヨ缃
Resolution and Presentation -> 鍕鹃塕un in Background
Resolution and Presentation -> Display Resolution Dialog璁剧疆涓篸isable
鍥炲埌Build Setting闈㈡澘锛岀偣鍑籅uild锛岀紪璇戝埌ml-agent鐨刾ython鐩綍涓傚悕涓3dball.exe
鍥炲埌Anacoda Prompt鍛戒护绐楀彛銆傛敞鎰忎竴瀹氳鍒囨崲鍒癿l-agent涓璸ython鎵鍦ㄧ殑鐩綍銆傝緭鍏
jupyter notebook
杩愯涔嬪悗锛屼竴鏂归潰浼氬嚭鐜颁竴涓懡浠よ绐楀彛锛屽彟涓鏂归潰浼氬悓鏃舵墦寮涓涓綉椤
鐐瑰嚮缃戦〉涓殑PPO.ipynb銆備慨鏀瑰叾涓璭nv_name鐨勫间负鍒氬垰缂栬瘧鍑烘潵鐨別xe鍚嶅瓧銆傛敞鎰忎笉瑕佸姞exe銆傜劧鍚庡湪鑿滃崟涓婇夋嫨Cell->RunAll
杩愯鍚庯紝鍙互鐪嬪埌鍒氬垰缂栬瘧鍑烘潵鐨別xe琚繍琛岃捣鏉
娉ㄦ剰鍑犱釜鐐
铏界劧寰堝鏂囩珷琛ㄦ槑tensorflow鐢╬ython3.5姣旇緝濂斤紝浣嗘槸娌℃湁娣卞叆鐮旂┒鍒板簳鏈変粈涔堝奖鍝嶃
鐢变簬Anaconda浣跨敤鐨5.0.0鐗堟湰锛屾墍浠ラ粯璁や娇鐢ㄧ殑鏄痯ython3.6鐨勭増鏈傚湪杩欐牱鐨勬儏鍐典笅锛屽鏋滃垱寤簆ython3.5鐨勭幆澧冿紝瀹夎tensorflow1.2锛屼細鍑虹幇杩愯鐨勬椂鍊欐壘涓嶅埌tensorflow鐨勯棶棰樸傝屽鏋滀娇鐢╬ython3.6鐨勭幆澧冿紝浣嗘槸瀹夎tensorflow1.2锛屼細鍑虹幇tensorflow. TensorLayer鎵句笉鍒扮殑闂銆傝繖浜涢棶棰樿姳浜嗗ソ澶氭椂闂存帓鏌ワ紝闇瑕佹敞鎰忔墍浠ユ渶缁堣繖閲屼娇鐢ㄧ殑鏄疉naconda5.0.0锛宲ython3.6浠ュ強tensorflow1.3
瀹夎渚濊禆搴撶殑鏃跺欓渶瑕佹敞鎰忥紝涓瀹氳鍒囨崲濂界幆澧冦傚惁鍒欏緢鍙兘瀹夎鍒颁笉鍚岀殑鐜涓嬨傝繖閲屽畨瑁呭墠涓瀹氫細杈撳叆activate tensorflow鍛戒护锛坱ensorflow鏄垜鍒涘缓鐨勭幆澧冨悕锛
Table鎺т欢鑳藉闈炲父鐩磋鍦板睍鐜版壒閲忕殑鏁版嵁銆傚湪Unity涓紝Light Explorer灏辨槸涓涓吀鍨嬬殑鍏锋湁Table鎺т欢鐨勭獥鍙c
鍦║nity寮鍙戜腑锛屾灇涓惧父甯歌鐢ㄥ埌銆備絾鏄疷nity鑷韩瀵逛簬鏋氫妇鍊硷紝骞朵笉鑳藉仛濂戒腑鏂囩殑鏀寔銆傛棤璁烘槸Head鎴栬匱oolTip.濡備笅渚嬶細
using UnityEngine; public class EnumTest : MonoBehaviour { public EmAniType AniType; } public enum EmAniType { Idle, Walk, Run, Atk, Hit, Die }
鍦╱nity涓紝tag鏄竴涓ソ涓滆タ锛屾垜浠彲浠ョ敤tag鏉ュ尯鍒嗙墿浣擄紝涔熷彲浠ラ氳繃tag鏉ュ揩閫熷湴鏌ユ壘鐗╀綋銆備絾鏄編涓笉瓒崇殑鏄紝tag鏄竴涓瓧绗︿覆string銆備负浠涔堣缇庝腑涓嶈冻鍛紵
鍥犱负鍋囧鎴戜滑鍦ㄤ竴涓剼鏈噷闈㈡兂瑕佹湁涓涓猅ag瀛楁锛岄兘鍙兘瀹氫箟涓涓猻tring瀛楁銆
using UnityEngine; public class TagObjFinder : MonoBehaviour { public string Tag; public GameObject[] FindGos { get; private set; } public void Start() { FindGos = GameObject.FindGameObjectsWithTag(Tag); } }
鑰岃繖鏍风殑璇濓紝鍦ㄧ紪杈戝櫒涓紝灏遍潪甯镐笉鏂逛究濉啓锛屼篃闈炲父瀹规槗鍑洪敊銆
鏃犺鏄釜浜哄紑鍙戣繕鏄洟闃熷紑鍙戯紝鍏绘垚濂界殑鐗堟湰绠$悊涔犳儻鍙互澶уぇ鎻愰珮寮鍙戞晥鐜囥傚父鐢ㄧ殑鐗堟湰绠$悊杞欢涓鑸敤SVN鎴栬匞it銆傚敖绠2鑰呴兘鍦ㄧ敤锛屼絾鏄洿鍔犲亸濂絊VN涓浜涖傚畨瑁匱ortoiseSVN灏卞彲浠ョ洿鎺ュ皢SVN绠$悊杞欢闆嗘垚鍒癢indows鐨凟xplorer涓簡銆傜偣鍑婚紶鏍囧彸閿氨浼氭湁SVN鐨勭浉鍏宠彍鍗曪紝鍙互闈炲父鏂逛究鍦癈heckOut椤圭洰浠ュ強Commit鍜孶pdate銆