3D製作魔方

2022-07-31 02:03:10 字數 846 閱讀 5118

從10號開始做這個東西,是一邊學習一邊做的,學了dxut框架、拾取技術(dx提供的、別人寫的演算法和用外接球模擬)

先說一下還要改進的地方:

1、無論先點哪乙個方塊,都按照程式設定的去轉

2、光照問題:轉了之後變暗

3、記憶體洩露(這個找了很久都沒找到,我估計是dxut框架的,汗)

設計思路:

1、渲染:設定27個世界矩陣,逐個渲染,用乙個mesh,改變世界矩陣

2、拾取:採用內接球,用外接球的話會有相交的部分,但內接球無法判斷一些區域

3、旋**嚴格符合十字架的點選才能旋轉

儲存世界矩陣的乙個副本,到旋轉完90°的時候,用副本乘上90°的矩陣可以避免不完全旋轉90°

座標改變是用dx提供的函式d3dxvec3transformcoord()

4、用3ds max做模型時把box的中心移動原點,方便操作

技術上遇到的但還沒掌握的技術:

1、沒有看dxut提供的camera類。dxut有3個camera類

2、還沒有找到dxut框架中是在**初始化乙個idirect3ddevice9的指標的

3、沒有理解**函式

以後準備新增的功能:

1、可以後退,就是退回上一步,這個用鏈式棧解決

2、隨機弄亂魔方,讓玩家做回原狀 ,這個也是用鏈式棧,魔方的操作有18種,隨機產生其中一種,然後新增到棧頂,這個可以利用第一種功能

4、記錄時間,這個簡單

5、新增區域網對戰(世榮說過,現在只是想一下,還沒學過網路) 

6、某女生玩家提出可以自選6中顏色 

css js實現3D魔方轉動

要實現類似3d轉動效果主要使用到css3的一些特性。下面主要介紹一些transform中的屬性的效果和作用 1.transform style 一般是塊級元素使用此屬性,使用了此屬性後的塊級元素會在保持3d效果,但是如果僅僅使用此屬性是不會看出3d特效的,必須和其他的屬性一起使用才能呈現出3d效果。...

純CSS3 實現3D魔方

1 思路 父盒子給子盒子開啟立體空間,並開啟透視,設定視距 子盒子設定擺放位置,與我們畫的正方體類似,按照平面正方體每個面的拜訪位置,我們通過旋轉 平移達到擺放的效果 父盒子設定過渡 滑鼠懸停到父盒子,子盒子做出的行為,分別向各自的方向擴散,並且側面要有一定的旋轉,為90 使其達到我們想看到的開啟效...

純CSS做3D旋轉魔方

昨天偶然看見 簡單說 用css做乙個魔方旋轉的效果 做的乙個3d旋轉魔方 效果就是本部落格右側公告欄所示 在這裡把做法展現出來 感興趣的可以試試 做成自己特有的魔方 1 doctype html 2 html 34 head 5 meta charset utf 8 6 style 7 最外層容器樣...