作者NDark (溺於黑暗)
看板GameDesign
標題Re: [程式] 如何建立一個物件不重疊的空間
時間Mon Apr 12 21:17:34 2010
※ 引述《yan04870449 (楊伯)》之銘言:
: if( itEnemy跟this距離 < 50.f )
: {
: 向量 v2 = itEnemy->getPosition() - this->getPosition();
: v2.Normalize();
: itEnemy->setPosition( itEnemy->getPosition() + v2 );
: this->setPosition( getPosition - itEnemy->getPosition() )
: }
請想像一個狀況,假如你的場景是這樣.
f=0 物-物-物-物-物-物-物-物-物-物-物-物-物-物-物
每個 - 代表太近了的距離
在這個時間點f=0會發生什麼狀況
撿查到第一個 , 物1被往左推 , 物2被往右推
物< >物物-物-物-物-物-物-物-物-物-物-物-物-物
撿查到第二個
物 物<>物物-物-物-物-物-物-物-物-物-物-物-物
撿查到第三個
物 物-物<>物物-物-物-物-物-物-物-物-物-物-物
...
撿查到最後一個
物 物-物-物-物-物-物-物-物-物-物-物-物-物 物
這時候才t=1
所以你會發現你的物件在每個時點推來推去,最後卻只有兩個東西移動了.
剩下的又會在下個時間點繼續推擠.
如果你是在作物理模擬,我會說你做的不錯.
但是如果你不是在作物理實驗,你可能需要想一下.
給你一點hint,我們在作AI的時候都會這樣作
環境->思考->動作
這樣是一個loop.
可是當一個A人物動作了環境就跟著改變,那其他人的環境應該要
參考A動作之前的環境 還是 參考A動作之後的環境?
如果是後者,這機制是不是有先手的優勢,而造成不公平?
(這又可以聊到兩個平等基礎的對奕,先手必定有優勢的命題了)
--
"May the Balance be with U"(願平衡與你同在)
視窗介面遊戲設計教學(
http://0rz.tw/V28It ),討論,分享。歡迎來信。
視窗程式設計(Windows CLR Form)遊戲架構設計(Game Application Framework)
遊戲工具設計(Game App. Tool Design )
電腦圖學架構及研究(Computer Graphics)論文代讀(含投影片製作)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.136.41
※ 編輯: NDark 來自: 118.167.136.41 (04/12 21:17)
推 yan04870449:感謝您@@ 可能我要花一點時間理解,不過 04/12 21:25
→ yan04870449:環境->思考->動作 這個讓我有更多想法了@@ 04/12 21:25
推 elfkiller:受益良多 推一個 04/14 01:44