最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

虛幻引擎制作魔方小游戲——筆記(一)

2023-03-01 23:35 作者:maho賽高  | 我要投稿

1.魔方是由3*3*3的立方體矩陣構(gòu)成的,魔方的每次轉(zhuǎn)動是一側(cè)的3*3個塊繞同一個軸轉(zhuǎn)動

?????? 問題1是實現(xiàn)繞軸轉(zhuǎn)動,虛幻引擎提供的功能是塊的位移和自身旋轉(zhuǎn),所以需要設(shè)計一個函數(shù)來實現(xiàn)繞軸旋轉(zhuǎn)。


2.繞軸旋轉(zhuǎn)函數(shù)

?????? (1)選取坐標系

????????虛幻引擎中有“世界坐標”,“相對坐標”兩種坐標系,因為我的方塊陣列在同一個ACTOR里,且其中最中心的塊正好為相對坐標原點,所以選取相對坐標系作為數(shù)學模型店坐標。

?????? ?????? 建立數(shù)學模型,這里我使用了“旋轉(zhuǎn)向量”的概念:

二維平面的選擇向量示意圖

其中(x0,y0)為起初坐標,(x1,y1)為目標坐標,有以下公式:


公式

需要注意的是,此處角度的轉(zhuǎn)動方向是以逆時針為正。

????????因為塊的轉(zhuǎn)動本質(zhì)上就是在二維平面上的轉(zhuǎn)動,所以只需要去掉旋轉(zhuǎn)軸對應的坐標以剩下的兩個坐標去運算即可。(例:若以Y軸為旋轉(zhuǎn)軸,擇選取Z,X坐標為二維坐標運算)

????????這樣的話,我們只需要獲得塊的 起始坐標,中心坐標,旋轉(zhuǎn)角度 即可得到其繞軸旋轉(zhuǎn)后的坐標。這里有一點,當魔方的中心就是坐標原點時,六個面的轉(zhuǎn)動都是圍繞對應二維面的(0,0)坐標旋轉(zhuǎn)的,所以中心坐標就都是確定的了。


(2)函數(shù)實現(xiàn)

????????? 我們可以利用各種數(shù)學運算節(jié)點先編寫運算函數(shù),由于繞三個軸的對應二維平面的坐標字母不一樣,所以我們將上面數(shù)學模型中的X,Y坐標分別改名叫“第一坐標”與“第二坐標”。

略顯凌亂


由以上函數(shù)計算得到目標第一坐標和目標第二坐標。

?

在此步的計算中,我出過很多錯誤,一直捋不好邏輯,最后我明確了需求,如下:

1.需要實現(xiàn)繞軸旋轉(zhuǎn)

2.需要實現(xiàn)旋轉(zhuǎn)動畫

?

????????其中第一步其實已經(jīng)完成了,而第二步目前我只能想到使用時間軸來實現(xiàn),所以需要用時間軸輸出慢慢變化的角度,控制魔方的塊慢慢旋轉(zhuǎn)。

?

以下是我具體的函數(shù)實現(xiàn):

盤絲洞


????????其中大部分內(nèi)容是根據(jù)選取的軸分配第一坐標和第二坐標,并且將計算結(jié)果值賦予對應坐標量。三角函數(shù)計算的部分被我用“節(jié)點”收起來了

?

同時還有一些具體問題如:

1.如何獲得相對坐標:使用節(jié)點“獲取相對變換”

2.如何改變轉(zhuǎn)向:給角度乘上負號

3.如何搭配時間軸:如下

時間軸套循環(huán)


其中的數(shù)組是所指定旋轉(zhuǎn)面包含的3*3塊的數(shù)組。

為配合時間軸,函數(shù)的“初始坐標”在時間軸執(zhí)行期間應該要都是一樣的值,所以要在時間軸之前就獲得初始坐標。(這點我糾結(jié)了好久)

?

(3)實現(xiàn)一面9個塊的旋轉(zhuǎn)

由上面的藍圖就可以猜到我用了數(shù)組,其中具體的步驟包含比如,生成3*3*3個立方塊,將它們加入數(shù)組;通過遍歷數(shù)組篩選出需要被旋轉(zhuǎn)的塊,放入新數(shù)組;遍歷新數(shù)組,另每一個塊都旋轉(zhuǎn)。

其中,生成魔方的代碼如下:

一個簡單的三層循環(huán),生成魔方


篩選塊的代碼如下:

通過分支、遍歷的方式篩選,在篩選的同時獲得其初始坐標,建立對應數(shù)組


通過如上的代碼,我們就實現(xiàn)了生成魔方,且可以控制其特定面旋轉(zhuǎn)。

?

其余還有一些細節(jié),比如:

按鍵控制,我是采用自定義事件+“開啟字符串”的方式,指定對應操作(這部分寫在actor里),然后在自己新建的pawn里添加按鍵操作(這里需要藍圖通信):

自定義事件+分支過濾+清除數(shù)組+“開啟字符串”
按鍵觸發(fā)事件
藍圖通信

其中可以看到我在自定義事件被觸發(fā)后還有一段代碼,其分別是為了實現(xiàn)清空數(shù)組和避免連續(xù)按按鍵產(chǎn)生干擾。

?


虛幻引擎制作魔方小游戲——筆記(一)的評論 (共 條)

分享到微博請遵守國家法律
曲麻莱县| 青浦区| 阿拉善右旗| 简阳市| 承德县| 新疆| 漳浦县| 聂荣县| 大化| 凤山县| 迭部县| 修武县| 宣汉县| 永平县| 策勒县| 会同县| 武隆县| 筠连县| 札达县| 搜索| 马公市| 遵化市| 黑水县| 小金县| 防城港市| 深圳市| 宝清县| 淮北市| 张家界市| 南漳县| 全椒县| 昌黎县| 舒城县| 大渡口区| 长岭县| 荣昌县| 祥云县| 朝阳市| 芦山县| 饶平县| 陈巴尔虎旗|