메뉴 건너뛰기

cuiwenchu

취미생활
2018.02.05 04:24

gamesalad magnitude

chu
조회 수 3676 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

2014年8月22日 星期五

gamesalad magnitude(向量絕對值)的用法


先說在前面,
本人對數學其實並不十分有興趣,
也並非技術背景出身的人員,
以下的內容,
對遊戲製作沒有興趣的人,看起來應該也會覺得很沉悶吧@@


這個magnitude(向量絕對值)一詞,
因為之前沒看過,是一個不懂的新字,
所以光看就覺得很威的樣子,
直到看到國外gs開發者的用法,
才知道是怎麼一回事,
封面圖是用google找到的一張能簡單說明的示意圖,
但是如果我沒看過以及用gs實做過,
我也不會有興趣去瞭解這不知道能幹嘛用只是看起來好像很厲害的專有名詞^^"

用上面的圖說解示,
就是由某一點(頭)到某一點(尾)間的距離取絕對值,
主要是在向量的世界裡取得距離用的。
(3D的世界裡我想應該也是一樣的原理)

那在遊戲製作中,
在gamesalad這套工具裡能用來做什麼呢?

原來可以拿來改變碰撞範圍的大小,
在gs中,
任何物件的hitbox(碰撞範圍)預設都是本身拖進場景中的方塊的大小,
gs號稱不需要"寫"程式?
但是如果你只用內建不更動程式的方式的預設工具去製作,
是沒辦法做到改變hitbox(碰撞範圍)的,
視覺化編輯器中的actor看到的方塊就一定得是碰撞範圍。

如果要做一些進階的變化,
我這邊立刻聯想到的例子是彈幕射擊遊戲,
比如cave社的怒首領蜂系列,
飛機的可視圖像內含極小的自身碰撞判定,
所以可以做出即使被子彈擊中機身圖像,
除非被打中中心點那極小的hitbox(碰撞範圍),否則不會被擊落的效果,
就一定要使用magnitude(向量絕對值)去自訂hitbox(碰撞範圍)。


用實際在gs中製作的情形來說明,
跟怒首領鋒系列相反,
為了方便說明,使用的是超過本身圖像之外的碰撞判定來當圖示,
上圖中觸碰左邊方塊的中心A點時,
右邊的文字方塊顯示用magnitude得出的數值是大約1.3。
(如果能剛好碰到正中心的話會是0,
但理論上來說人的手指或滑鼠是不可能剛好碰到正中心點的)


上圖中觸碰左邊方塊的B點的虛線任何一處時,
右邊的文字方塊顯示用magnitude得出的數值是大約60。
也就是說,
A點(方塊的中心點)到B點黃色虛線的任一處的magnitude(向量絕對值)是60。

在gs中要取得上圖例子中文字方塊顯示的數值,
只需要用A點的座標減掉B點的座標就可以了。


magnitude裡要輸入兩個值,分別是X跟Y,
像這樣

===========
magnitude(X,Y)
===========

所以可以先設一個real性質的全域變數,比如叫做magnitude,
再把magnitude計算後的結果紀錄起來,

magnitude = magnitude( self.Position.X - game.Mouse.Position.X , self.Position.Y - game.Mouse.Position.Y )

這樣就可以再用任何數字去決定hitbox(碰撞範圍),
如果方塊的面積是60x60,
那設定magnitude < 70才觸發碰撞條件的話,
就會在方塊周圍產生像圖示的黃色虛線一樣,
多出看不見的10(70-60=10)的距離範圍也會被當作觸發碰撞判定,
如果想要設定小於方塊本身的hitbox(碰撞範圍),
像怒首領鋒那種極小hitbox(碰撞範圍)的話,
就只要設小於本身方塊的數值就可以了,
比如magnitude < 20才觸發碰撞條件,
就算碰觸到原本有顯示的方塊區也不會觸發了。

這個magnitude(向量絕對值)我想很多開發工具應該都有類似的用法,
比如說像以前flash的hitArea就有點接近,
而在unity要設定碰撞範圍應該是更容易才是,
只是換一個名詞變成magnitude後,
因為是平常比較少用的生硬英文,
就看起來變成很厲害,
其實運作原理並沒有字面上看到的那麼難理解,
難怪網路上流傳著一個笑話...

要學好程式最先要學哪一種語言比較好?




List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
13919 취미생활 服装设计软件 chu 2017.10.30 7688
13918 직장 맞춤형 정장 직장용정장 chu 2017.10.31 7524
13917 취미생활 崔军的故事 chu 2017.11.08 7563
13916 직장 고독이 주는 삶의 지혜 10가지 chu 2017.11.21 6293
13915 취미생활 감기 걸렸을때 홍삼 괜찮을가요? chu 2017.12.26 5479
» 취미생활 gamesalad magnitude chu 2018.02.05 3676
13913 취미생활 上传自己的APP应该怎么做?有哪些市场是可以支持 chu 2018.03.02 2767
13912 컴퓨터 CPU비교 chu 2018.03.22 2400
13911 취미생활 게임셀러드 속도 조절 레이싱게임 만들기. chu 2018.03.26 2303
13910 취미생활 게임기획자 과도한 문서필요 하지 않을때 chu 2018.04.08 1814
13909 모바일 安卓应用在各大应用市场上架方法整理 chu 2018.05.03 776
13908 서버 Bennett Kalfus ihonym 2018.05.03 892
13907 기타 Bryant Fredo yvapemuvo 2018.05.03 804
13906 컴퓨터 Cinda Armendariz ukinyzyma 2018.05.04 744
13905 Discount Suggestions For Mizun Guards Coming From All Quantities To Discover From Official Shop AlphonseJ1531184598 2018.05.04 537
13904 Cheap Enjoy Gap Vestito Tendencies To Help Keep Your Design Up To Date Official Store VictoriaDalgleish 2018.05.04 369
13903 New Pimple Free Develop Your Personal Gap Una Camicia A Maniche Lunghe Sense Official Store JameySpellman36048 2018.05.04 491
13902 Discount Concerned About Roughing It Outside The House While Mizun Shop Check Out This Suggestions Outlet Store AlphonseJ1531184598 2018.05.04 369
13901 Cheap Some Strategies To Maximize Profits In Louis Vuitton Shoes Sale Clearance ThedaKinard146844742 2018.05.04 385
13900 Discount Gap Una Camicia A Maniche Lunghe Strategies To Fit Daily Life Official Clearance VictoriaDalgleish 2018.05.05 427
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 702 Next
/ 702