看板 GameDesign 關於我們 聯絡資訊
如題,小弟是自學新手 照者教學文章製作了太空射擊遊戲後發現 物體給了物理碰撞的設定後還是會穿過彼此 例如我給了player box collider和rigidbody 然後給了遊戲邊界 box collider 當他們相撞時會觸發player的碰撞事件 但是飛機還是會穿過遊戲邊界 而且子彈打到敵人時敵人會扣寫 But子彈會穿透過去... 我就用腳本設定子彈碰到物體會distroy 但我看書上的範例box互撞應該不能穿透才對 不知道這個問題要怎麼解決呢 版本:5.3.1f 勞煩各位幫忙解惑 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.188.161 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1451880983.A.4C7.html ※ 編輯: leo88138 (60.250.188.161), 01/04/2016 12:17:20 ※ 編輯: leo88138 (60.250.188.161), 01/04/2016 12:44:21
cjcat2266: 邊界也要rigid body吧01/04 13:02
cjcat2266: collider只是偵測碰撞用,不會處理碰撞反應01/04 13:03
pepsicola: isTrigger跟isKinematic的狀態?01/04 13:51
leo88138: 我查了網路上的資訊說被撞的可以不用有鋼體01/04 13:57
leo88138: 其他的需要晚上回家看 在上課中01/04 13:59
leo88138: 謝謝各位幫忙><01/04 13:59
gino0717: 給個mesh collider嚇嚇他01/04 14:02
gyd: 1. destroy 2. 你是Destroy( this )還是Destroy(gameObject)?01/04 15:17
gyd: 3. 穿透跟Destroy是兩回事, 我這邊只針對Destroy幫找問題01/04 15:23
leo88138: destroy的部分沒有問題01/04 15:56
leo88138: 從敵人腳本distroy other.gameobject01/04 15:56
leo88138: 目前剩下穿透的問題01/04 15:58
※ 編輯: leo88138 (42.74.23.92), 01/04/2016 15:58:36
ysluke: 你預期的結果是碰撞後反彈而非穿透嗎? 01/04 16:24
ysluke: 會不會是collider上忘了加Physic Material? 01/04 16:25
leo88138: 想做的部分是 飛機撞到牆壁後不能在前進 01/04 17:47
leo88138: 目前撞到會觸發碰撞事件 但飛機會穿過牆壁 01/04 17:48
wix3000: 牆上加rigidbody就好了啊 01/04 18:35
xx1234561: 該不會你飛機的移動是用transform.Translate ? 01/04 18:47
syatg951: 移動的物體有rigibody吧?rigibody裡面有鎖定xyz軸的功 01/04 18:51
syatg951: 能,通通別打勾,再測試,因為你可能鎖到某個軸向,導致 01/04 18:51
syatg951: 無法順利“碰開”物件 01/04 18:51
leo88138: 真的 移動是translate... 01/04 21:43
leo88138: 這樣會有什麼問題嗎 01/04 21:44
akilight: translae=忽略物理,直接做位移=不會有碰撞判定 01/04 21:54
akilight: 你需要的是用rididbody.MovePosition() 01/04 21:54
akilight: 然後上面這條請把他放在FixedUpdate()裡面執行 01/04 21:54
leo88138: 好的 我研究看看 01/05 00:15
BSpowerx: 還有確定兩者的layer是可以互相碰撞的 01/05 09:30
bearkitten: 不管是translate或是設定position,都是瞬間移動,會 01/06 00:16
bearkitten: 穿透也是正常的,要讓剛體正常碰撞,你只能AddForce 01/06 00:16
bearkitten: 或是簡單點直接用CharacterController來控制 01/06 00:21