略過導航

 C L I C K
一個像是被游標推著轉的環形選單。還蠻有趣的!
前幾天在 Papervision3d Daily 看到 13flo.com 這個網站。
排個圓環是沒什麼,但它的操作方式卻讓我印象深刻!
除此之外,就是每張照片後面的黑線了!
劃條拋物線不難,但要在轉的時候加上 Follow?
這就不知道他是怎麼做到的了!?

 C L I C K
看到 奶綠茶寫的閃電!一時手癢,就想自己也來寫一個!?
又是 BitmapData 的 PerlinNoise 和 DisplacementMapFilter 的應用!
從火焰到水波紋,這幾個 Class 已經玩得很膩囉!?
每每最花時間的,不是在寫程式;而是在微調參數和顏色。
本來想按照 奶綠茶這篇 的寫法來做。
但每個影格都要做一次 PerlinNoise 似乎太耗效能!?
所以又改回自己的寫法了!

 C L I C K
一直想摸清楚 PV3D 的燈光材質,最近好不容易有點進展,但還不足以作 DEMO!
所以呢 ‥‥‥ 就把之前用 AS2 做的點陣特效拿到 3D 物件來試試吧!?
點陣特效在 AS2 和 AS3 的效能比較 ‥‥‥ 結果,不意外地,AS3 大勝!
直接把每個影格算出來的 BitmapData 當材質貼在球體模型上;同時讓球體不停旋轉。

 C L I C K
要怎麼把 PV3D 的線段繪圖功能用在幾何繪圖上呢!?
利用球體座標的運算式,以 phi、theta 的變動速率畫出三度空間幾何圖形。
話說 PV3D 的線段算不出遠近感,無論 Z 軸多少,線看起來都一樣粗一樣深;
只是隨機亂畫線根本看不出來是在 3D 空間!
再想想還有什麼其他的畫線方法吧!?

 C L I C K
奶綠茶提到 PV3D 可以直接在 3D 空間畫線,而且還是 2.0 版新增的功能喔!
只是單純測試 Lines3D 類別,再加上之前算過球體座標,那就簡單地畫個經緯線。
Lines3D 一樣要下材質 LineMaterial ,但也只能設定顏色和透明度而已。
畫線用 addNewLine() 方法最簡單,只要給一個寬度和兩組 xyz 座標就可以了!
另外還有一個 addLine() 方法,但得要給一個 Line3D 物件;
而 Line3D 的初始又得給 Vertex3D 物件;反正就是很麻煩!
要清除所有線段,找到一個 removeAllLines() 方法;但是沒有用!
研判這個 function 應該只能移除 Line3D 物件吧!?
看來還是不能偷懶呀! 改天再好好研究囉?

 C L I C K
禮拜六奶綠茶老師教到這個範例,今天就把它修得更精緻些。
在原點,鏡頭會隨著游標轉動;滑鼠滾輪則能前後移動鏡頭。
點卡片可以 Focus 到卡片正前方;此時鏡頭不會轉動,但仍能前後移動。
再點一次 Fucus 卡片會拉回起始點;點其他卡片也可以直接 Focus 過去。
moveForward 和 moveBackward 在網路上的教學已經看過;但並不覺得有多大用處。
這個範例,總算是見識到它們的價值了!
原來,move 系列的 function,座標軸都是相對於物件本身的!
另外,還學到一個 copyTransform();
顧名思義,就是完全複製參考物件的 位置、旋轉、縮放。

 C L I C K
使用 FreeCamera3D 類別實作另一個 3D Wall 版本!
比起前一篇的亂抖,這個 demo 似乎順暢多了。
看來 FreeCamera3D 才是王道呀!?
以後,能單靠 camera 解決的效果;
還是乖乖用 camera 來搞定吧!

 C L I C K
3D Wall 在很多網站上是必須付費購買的。既然值錢,就值得花時間實作一個囉!?
奶綠茶老師用了另一個 3D Camera 類別:FreeCamera3D。
和 Camera3D 自動指向的特性截然不同,可以任意旋轉方向!
但在這個 demo 裡,並沒使用到 FreeCamera3D!?
因為『牆』是弧面,就直接把它依圓心旋轉;
再加上垂直與水平的位移,效果就很類似了。
好像會有些不自然的抖動!?
改天再做個只變動 Camera 的來比較吧!

 C L I C K
來試試自訂的 Class 要如何透過自訂事件互相溝通。
自訂廣播事件的寫法是:dispatchEvent(new Event(『……』));
再把事件和偵聽函式串連:addEventListener(『……』, function);
至於繪圖的方式稍微改了一下,為的是和前一個有所區別,似乎原本的還是比較好看!?
另外還有一個新發現~~~
前陣子看到最新的 Flash Player 10,本著實驗的精神,就把自己的電腦全面升級。
沒想到,在 web base 下跑這兩個 demo 竟把 CPU 操到滿載!?
前幾個 demo 不管是 plane 還是 cube 都還不會操到這種程度。
我想,可能是 graphics 的關係吧!?
換回 9.0.124 就很順了。

 C L I C K
其實一直都很喜歡 360 幾何繪圖的效果,讓我體驗到純數學也可以繪圖。
這個 demo 主要是在測試 PV3D 的 MovieMaterial;
還有在 Flash 做好的 MovieClip 怎麼拿到 FlashDevelop 來用。
MovieMaterial 顧名思義就是用 MC 做為 Material,但 PV3D 的貼圖會自動縮放以佈滿 3D Model;
所以像這種動態產生內容的影片片段,最好在開始繪圖前先產生一張定義範圍用的背景。
至於在 FlashDevelop 匯入 MC 的方法,這次是用 SWC 匯入,而不是用 SWF !
用 Google 找到一個不錯的方法,在 Project 裡新增一個 src 資料夾,
把 SWC 放到裡面,在 FD 對其按右鍵選 Add To Library。
完全不用 import ,就可以直接取用裡面的 Class 了!
還沒有實驗組件內外的溝通與事件機制,下次再試囉!?

Follow

Get every new post delivered to your Inbox.