Re: [程式] 如何建立一個物件不重疊的空間
※ 引述《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)
推
04/12 21:25, , 1F
04/12 21:25, 1F
→
04/12 21:25, , 2F
04/12 21:25, 2F
推
04/14 01:44, , 3F
04/14 01:44, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章