1. Resources.Load(path),path不是絕對路徑,而是相對"Resources/"的相對路徑!如: 要想Instantiate則代碼應該如下: string man1Path = "Research/FBX/man1/"; GameObject weapon = Instanti
1. Resources.Load(path),path不是絕對路徑,而是相對"Resources/"的相對路徑!如:
要想Instantiate則代碼應該如下:string man1Path = "Research/FBX/man1/"; GameObject weapon = Instantiate(Resources.Load(man1Path + "char_weapon_ani", typeof(GameObject))) as GameObject;
(次奧試了好多次才試成功摔……) 2. 讀取Xml 昨晚在網上亂找了一氣,實踐了方法一,莫名其妙掉進了坑裡出不來,於是回去整理了下思路,記著以前應該不是這麼寫的,要麼case1:再找一個解析方法,要麼case2:先生成類序列化後,仿製xml,再反序列化之。 試了兩個庫,一個是System.Xml.LinQ;(方法一) 當中就有用到 Descendants() 方法,結果出來 IEnumerable 神馬的,操作不能,這方法我覺得肯定是可行的,但是我讀不到值= =鑒於代碼也被我刪了就略過這段吧= =||| 於是後來改用 Sytem.Xml(試了case 1) 其中 XmlNodeList XmlNode SelectSingleNode()等比較容易理解~ 貼一點代碼:
XmlElement root = doc.DocumentElement; //獲取所有<character> …… </character> XmlNodeList charactersNodes = root.GetElementsByTagName("character"); //遍歷之,繼續操作 foreach (XmlNode characterNode in charactersNodes) { …… }
3.通過代碼添加GameObject position的問題 背景: GameObject human包括了GameObject body ,body包含human、weapon等。 期望human.transform.position = (1,0,1), body.transform.position = (0,0,0)。 把body.transform.parent = human.tranform 後,body.transform.position自動變成了(-1, 0 , -1) 。 假設我把body.transform.position = (0,0,0),weapon.transform.position又成了(-1,0,-1)…… = =....... 於是假設我生成了5個不同position的human,可以看到圖像全部重疊在了一起 = = 待解決,解決完了再上來改吧…… 更新來了: 解決方案:不應該去設置position,而應該設置localPosition就會隨著parent的position走了~ 4.有關mesh,Material取到了以後貌似沒貼上去啊摔,繼續研究……