02
2017
11

Unity鎻掍欢寮鍙:PrefabUtility--Prefab瀹炰緥寮曠敤鏂紑鍜屾浛鎹

    鍦║nity浣跨敤Prefab杩囩▼涓紝鎴戜滑鏈夋椂鍊欓渶瑕佽繘琛孭refab瀹炰緥鏂紑寮曠敤鍜屾浛鎹㈠紩鐢ㄧ殑闇姹傘傚疄鐜拌繖浜涢渶姹傦紝浣跨敤鍒扮殑鏍稿績鐨勭被鏄疨refabUtility銆侾refabUtility鏄竴涓潤鎬佺被锛屼富瑕佺敤浜庤繘琛孭refab鐨勭浉鍏冲鐞嗐 杩欓噷涓昏浣跨敤浠ヤ笅鍑犵鏂规硶

  • PrefabUtility.CreateEmptyPrefab
  • PrefabUtility.ReplacePrefab
  • PrefabUtility.DisconnectPrefabInstance
  • PrefabUtility.GetPrefabParent
  • PrefabUtility.ConnectGameObjectToPrefab

鏂紑寮曠敤

    鏂紑Prefab寮曠敤鐨勪唬鐮佸涓

22
2017
10

ML-Agent锛氶氳繃TF#浣跨敤璁粌瀹屾垚鐨勬ā鍨嬫暟鎹

锛堟湰鏂囨潵鑷細http://www.cnblogs.com/CodeGize  http://www.codegize.com

瀹夎TF#

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鏂囦欢娣诲姞鍒板師鏈夌殑宸ョ▼涓紙涔熷彲浠ユ墍鏈夋枃浠跺畬鍏ㄨ鐩栨帀锛夈

2017102201

鎸夌収瀹樻柟鐨勮鏄庢枃妗o紝鍦╱nity涓夋嫨鑿滃崟Editor->ProjectSetting->Player銆傚湪OtherSetting涓嬬殑Scripting Define Symbols涓坊鍔犱竴涓畯瀹氫箟ENABLE_TENSORFLOW

2017102202

鍑嗗璁粌瀹屾垚鐨勬ā鍨嬫暟鎹

鍦ㄨ繖浜涘伐浣滃噯澶囧氨缁悗锛屾寜鐓т箣鍓嶄竴鏂囥奧in10涓婾nity浜哄伐鏅鸿兘浠g悊ml_agent鐜瀹夎銆嬫惌寤虹幆澧冨苟涓旀渶缁堣繍琛宼ensorflow鐨勮缁冩ā鍨嬨傚鏋滀竴鍒囬『鍒╂病鏈夐棶棰橈紝閭d箞灏变細鍦╩l-agents\python\models\ppo杩欎釜鐩綍涓嬬敓鎴愪竴涓3dball.byte鏂囦欢銆傝繖涓氨鏄缁冨畬鎴愮殑妯″瀷鏁版嵁銆傚皢鍏堕噸鍛藉悕涓3dball_custom.byte锛坲nity宸ョ▼閲岄潰宸茬粡鍚湁瀹樻柟璁粌濂界殑妯″瀷鏁版嵁鏂囦欢锛屼篃鍙3dball.byte锛屾墍浠ヨ繖杈逛负浜嗗尯鍒繘琛屼簡閲嶅懡鍚嶏級銆

浣跨敤璁粌瀹屾垚鐨勬ā鍨嬫暟鎹

  • 澶嶅埗3dball_custom.byte鍒皍nity涓殑Assets\ML-Agents\Examples\3DBall\ TFModels涓嬨
  • 鎵撳紑Assets\ML-Agents\Examples\3DBall涓嬬殑Scene鍦烘櫙
  • 鍦℉ierarchy闈㈡澘涓夋嫨Ball2DAcademy涓嬬殑Ball3DBrain鐗╀綋銆
  • 鍦↖nspector闈㈡澘涓紝灏咮rain缁勪欢鐨凾ype Of Brain璁剧疆涓篒nternal(濡傛灉娌℃湁杩欎釜閫夐」锛岃鏄庢病鏈夊湪PlayerSetting涓缃畯瀹氫箟)銆傚皢Graph Model璁剧疆涓烘垜浠垰鍒氳缁冨畬鎴愮殑閭d釜妯″瀷鏁版嵁3dball_custom銆

2017102203

15
2017
10

Win10涓婾nity浜哄伐鏅鸿兘浠g悊ml_agent鐜瀹夎

绠浠

        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

闅唌l-agent浠g爜搴

        浠嶨ithub缃戠珯涓婂厠闅嗭紙涓嬭浇锛塵l-agent锛屼唬鐮侊紝鏀惧湪浠绘剰浣嶇疆涓嬨

瀹夎Unity2017.2

        浠嶶nity瀹樼綉涓嬭浇Unity2017.2锛屽畨瑁呫

        涓嬭浇鍦板潃https://store.unity.com/cn/download?ref=personal

瀹夎VS2017

        浠庡井杞畼缃https://www.visualstudio.com/zh-hans/downloads/涓嬭浇锛岃繍琛屽悗閫夋嫨闇瑕佺殑妯″潡銆傝繖杈硅櫧鐒舵湁鎻愪緵python鐨勭浉鍏虫彃浠讹紝浣嗘槸鎴戜滑閫夋嫨鍚庨潰鍗曠嫭瀹夎銆

瀹夎Anaconda

        浠嶢naconda瀹樼綉瀹夎Anaconda5.0.0

2017101501

        涓嬭浇鍦板潃https://www.anaconda.com/download/#windows

        瀹夎鍚庝粠寮濮嬭彍鍗曟墦寮Anaconda Navigator锛屽湪宸︿晶閫夋嫨Environments銆傚湪涓嬫柟鑿滃崟涓偣鍑籆reate鍒涘缓涓涓幆澧冿紝鍙栧悕涓簍ensorflow锛宲ython鐗堟湰閫夋嫨涓3.6銆傜瓑寰呯幆澧冨垱寤哄畬鎴愩

2017101502

瀹夎Tensorflow鍙婂叾渚濊禆搴

        浠庡紑濮嬭彍鍗曚腑锛屾墦寮Anacoda Prompt銆

        棣栧厛婵娲诲垰鍒氬垱寤虹殑鐜锛岃緭鍏ュ懡浠

activate tensorflow

2017101503

        杈撳叆鍛戒护瀹夎Tensorflow

pip install 鈥揢 tensorflow

        绛夊緟涓娈垫椂闂寸洿鍒板畨瑁呭畬鎴愩傝嚦姝ゅ畬鎴愪簡Tensorflow鏈鏂扮増鏈殑瀹夎銆傦紙鐩墠鏄1.3.0鐗堟湰锛

        鍚庨潰杩樿杈撳叆鍛戒护锛屾墍浠ユ殏鏃朵笉瑕佸叧闂獥鍙

瀹夎ml-agent渚濊禆搴

        瀹屾垚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绋嬪簭

        Unity鐨刴l-agent鎻愪緵浜嗗骞茬殑demo銆傝繖閲屽皾璇曡繍琛3dball杩欎釜demo銆

        浣跨敤Unity2017鎵撳紑ml-agent涓媢nity-environment鏂囦欢澶广

        鎵撳紑Assets\ML-Agents\Examples\3DBall鐩綍涓嬬殑scene鏂囦欢銆傚湪鍦烘櫙涓夋嫨Ball3DAcademy涓嬬殑Ball3DBrain鐗╀綋锛屽皢TypeOfBrain淇敼涓篍xternal锛岃〃绀轰粠Tensorflow涓幏鍙栨暟鎹

2017101504

        鑿滃崟涓夋嫨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

2017101505

杩愯Jupyter Notebook

        鍥炲埌Anacoda Prompt鍛戒护绐楀彛銆傛敞鎰忎竴瀹氳鍒囨崲鍒癿l-agent涓璸ython鎵鍦ㄧ殑鐩綍銆傝緭鍏

jupyter notebook

        杩愯涔嬪悗锛屼竴鏂归潰浼氬嚭鐜颁竴涓懡浠よ绐楀彛锛屽彟涓鏂归潰浼氬悓鏃舵墦寮涓涓綉椤

2017101506

2017101507

        鐐瑰嚮缃戦〉涓殑PPO.ipynb銆備慨鏀瑰叾涓璭nv_name鐨勫间负鍒氬垰缂栬瘧鍑烘潵鐨別xe鍚嶅瓧銆傛敞鎰忎笉瑕佸姞exe銆傜劧鍚庡湪鑿滃崟涓婇夋嫨Cell->RunAll

2017101508

        杩愯鍚庯紝鍙互鐪嬪埌鍒氬垰缂栬瘧鍑烘潵鐨別xe琚繍琛岃捣鏉

2017101509

鎬荤粨

        娉ㄦ剰鍑犱釜鐐

  • 铏界劧寰堝鏂囩珷琛ㄦ槑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鏄垜鍒涘缓鐨勭幆澧冨悕锛

29
2017
07

Unity缂栬緫鍣ㄥ紑鍙戯細瀹樻柟椋庢牸鐨凾able鎺т欢

Unity缂栬緫鍣ㄥ紑鍙戯細瀹樻柟椋庢牸鐨凾able鎺т欢

Table鎺т欢鑳藉闈炲父鐩磋鍦板睍鐜版壒閲忕殑鏁版嵁銆傚湪Unity涓紝Light Explorer灏辨槸涓涓吀鍨嬬殑鍏锋湁Table鎺т欢鐨勭獥鍙c

20170729_1

23
2017
05

Unity缂栬緫鍣ㄥ紑鍙戯紝浣跨敤CustomPropertyDrawer瀹炵幇鏋氫妇涓枃鏄剧ず

        鍦║nity寮鍙戜腑锛屾灇涓惧父甯歌鐢ㄥ埌銆備絾鏄疷nity鑷韩瀵逛簬鏋氫妇鍊硷紝骞朵笉鑳藉仛濂戒腑鏂囩殑鏀寔銆傛棤璁烘槸Head鎴栬匱oolTip.濡備笅渚嬶細

using UnityEngine;

public class EnumTest : MonoBehaviour
{
    public EmAniType AniType;
}

public enum EmAniType
 {
     Idle,
     Walk,
     Run,
     Atk,
     Hit,
     Die
 }

QQ鎴浘20170523065015

22
2017
05

Unity鐢熸垚Tag鏋氫妇浠g爜

        鍦╱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);
    }
}

       鑰岃繖鏍风殑璇濓紝鍦ㄧ紪杈戝櫒涓紝灏遍潪甯镐笉鏂逛究濉啓锛屼篃闈炲父瀹规槗鍑洪敊銆

15
2017
04

Unity3D闆嗘垚TortoiseSVN

        鏃犺鏄釜浜哄紑鍙戣繕鏄洟闃熷紑鍙戯紝鍏绘垚濂界殑鐗堟湰绠$悊涔犳儻鍙互澶уぇ鎻愰珮寮鍙戞晥鐜囥傚父鐢ㄧ殑鐗堟湰绠$悊杞欢涓鑸敤SVN鎴栬匞it銆傚敖绠2鑰呴兘鍦ㄧ敤锛屼絾鏄洿鍔犲亸濂絊VN涓浜涖傚畨瑁匱ortoiseSVN灏卞彲浠ョ洿鎺ュ皢SVN绠$悊杞欢闆嗘垚鍒癢indows鐨凟xplorer涓簡銆傜偣鍑婚紶鏍囧彸閿氨浼氭湁SVN鐨勭浉鍏宠彍鍗曪紝鍙互闈炲父鏂逛究鍦癈heckOut椤圭洰浠ュ強Commit鍜孶pdate銆

20140415001_thumb3

13
2017
04

unity5.6涓ā鍨嬪姩鐢讳笉鏄剧ず鐨勮В鍐虫柟娉

浣跨敤unity5.6.0f3寮鍙慥R娓告垙鐨勮繃绋嬩腑锛屽嚭鐜颁簡妯″瀷鍔ㄧ敾涓嶆樉绀猴紝鎴栬呯獊鐒舵樉绀虹殑鎯呭喌銆

鍏跺師鍥犲湪浜嶴kinned Mesh Renderer涓婏紝褰撹繖涓墿浣撲笉鍦ㄨ閲庡唴鐨勬椂鍊欙紝榛樿浼氬仠姝㈣繖涓墿浣撲笂鐨勫姩鐢伙紝瀵艰嚧浜虹墿娑堝け鎴栬呭姩鐢诲仠姝箣绫荤殑闂銆

06
2017
04

steamvr1.2鍦╱nity5.6涓墜鏌勪綅缃涪澶辩殑淇鍔炴硶

steamvr1.2鐗堟湰鍦╱nity鍗囩骇鍒5.6鏃讹紝鍙兘浼氬嚭鐜版墜鏌勬棤娉曡拷韪殑闂銆傞犳垚杩欐牱鐨勫師鍥狅紝鍏跺疄鍦╯teamvr1.2鐨勮鏄庝腑娉ㄦ槑浜

20170406210851

03
2017
04

鍦║nity缂栬緫鍣ㄤ腑澧炲姞鑴氭湰鐨勪腑鏂囪鏄

        鍦ㄦ父鎴忎腑锛岀▼搴忥紝缇庢湳锛岀瓥鍒掔敋鑷抽煶鏁堥兘鏄垎宸ュ悎浣滅殑銆傚緢澶氭椂鍊欙紝瀵逛簬unity3d涓竴鍫嗚嫳鏂囷紝澶у閮戒細鐪嬪緱寰堥儊闂枫傚挨鍏舵槸涓嶅悓鐨勭▼搴忓憳锛屽懡鍚嶆柟寮忎篃涓嶅敖鐩稿悓锛岀敋鑷宠繕鏄敤鎷奸煶銆傚洜姝わ紝鍦ㄨ剼鏈腑澧炲姞涓浜涗腑鏂囨樉绀猴紝灏辫兘澶熷緢濂藉湴瑙e喅杩欎釜闂銆

        棣栧厛锛寀nity涓浜庡瓧娈(Field)宸茬粡鏈変簡寰堝ソ鐨勪腑鏂囨樉绀烘柟娉昜Header]鏍囩