點(diǎn)積岩饼,叉積

點(diǎn)積公式為:

A·B = |A| * |B| * cos<A, B>  
A·B = Ax·Bx + Ay·By + Az·Bz

再結(jié)合余弦曲線可以知道:

當(dāng)夾角在[0,90], [270, 360]區(qū)間內(nèi)氓辣,cosx > 0
當(dāng)夾角在[90, 270]區(qū)間內(nèi),cosx < 0

所以:

  • 當(dāng)你跟目標(biāo)點(diǎn)方向的叉積 > 0 時(shí)账蓉,說明你面向它枚碗;
  • 當(dāng)你跟目標(biāo)點(diǎn)方向的叉積 < 0 時(shí),說明你背對它铸本。
Vector3 dirA = transform.forward;
Vector3 dirB = target.position - transform.position;
float dp = Vector3.Dot(dirA, dirB);

if(dp > 0)
  Debug.Log("target is in the front");
else if(dp < 0)
  Debug.Log(target is in the back");

叉積公式為:

// 值為向量肮雨,且此向量垂直于dirA,dirB構(gòu)成的平面
A * B = A * B * sin<A, B>
A * B = (Ay·Bz-Az·By, Az·Bx-AxBz, AxBy-AyBx) 

Unity使用左手坐標(biāo)系箱玷,所以:

  • 當(dāng)dirC.y > 0 時(shí)怨规,目標(biāo)點(diǎn)在右側(cè)
  • 當(dāng)dirC.y > 0 時(shí),目標(biāo)點(diǎn)在左側(cè)
// a的當(dāng)前朝向
Vector3 vec3Forward = a.transform.TransformDirection(Vector3.forward);

// 目標(biāo)方向
Vector3 vec3Target = b.transform.transform.position - a.transform.position;

// 計(jì)算叉乖
Vector3 vec3Cross = Vector3.Cross( vec3Forward, vec3Target );

// 計(jì)算轉(zhuǎn)角
float dAngle = Vector3.Angle( vec3Forward, vec3Target );        // Angle方法始終返回最小角

// 根據(jù)左手法則锡足,y向上波丰,說明目標(biāo)在右邊,y向下舶得,說明目標(biāo)在左邊
if( vec3Cross.y > 0 )
{
        // 向右轉(zhuǎn)
        a.transform.Rotate( cube.transform.up, dAngle )
}
else
{
        // 向左轉(zhuǎn)
        a.transform.Rotate( cube.transform.up, -dAngle )
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末掰烟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子沐批,更是在濱河造成了極大的恐慌纫骑,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件九孩,死亡現(xiàn)場離奇詭異先馆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)躺彬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門煤墙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宪拥,你說我怎么就攤上這事番捂。” “怎么了江解?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵设预,是天一觀的道長。 經(jīng)常有香客問我犁河,道長鳖枕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任桨螺,我火速辦了婚禮宾符,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘灭翔。我一直安慰自己魏烫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哄褒,像睡著了一般稀蟋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上呐赡,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天退客,我揣著相機(jī)與錄音,去河邊找鬼链嘀。 笑死萌狂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的怀泊。 我是一名探鬼主播茫藏,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼霹琼!你這毒婦竟也來了务傲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤碧囊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后纤怒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體糯而,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年泊窘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熄驼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡烘豹,死狀恐怖瓜贾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情携悯,我是刑警寧澤祭芦,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站憔鬼,受9級特大地震影響龟劲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜轴或,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一昌跌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧照雁,春花似錦蚕愤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悬嗓。三九已至,卻和暖如春砂沛,著一層夾襖步出監(jiān)牢的瞬間烫扼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工碍庵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留映企,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓静浴,卻偏偏與公主長得像堰氓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子苹享,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容