原创 threejs精靈(Sprite)

Sprite精靈 Sprite叫精靈,計算機圖形學中,精靈指包含於場景中的二維圖像或動畫(wiki)。在threejs中,這樣說明Sprtite(doc) : A sprite is a plane that always f

原创 threejs紋理

紋理 紋理用來表現物體的細節。理論上可以將物體的每個細節建模出來,但是這樣時間成本和性能成本都太高,因此,將物體的一些細節用紋理來表示。 圖片紋理 圖片紋理直接在物體表面應用圖片。可以使用TextureLoader類的load方法

原创 A-Frame WEB VR框架初體驗

aFrame是一個Web VR框架,底層是基於threejs的,剛好項目也用到了threejs,就用aFrame試了下效果。在網頁上看起來,aFrame就是把threejs的的實現包裝成一個實體標籤。 代碼: <!DOCTYPE

原创 大學只待成追憶,只是工作已半年,2016再見

時光匆匆,真的不知不覺,已經畢業半年。這一年發生了好多事,回望簡直難以相信。 再見廣州,你好廈門 廣深工作好找,但心就是想離開,當時想的是,找一個地方,讓一切重新開始。來到廈門,住在離公司半小時腳程的地方,每天走路上下班。鷺島很小

原创 一次真實的XXS攻擊

這是一個真實的事,一家比較大的公司舉辦的一個全國性的投票,然而,頁面確實寫得很爛,做假太容易。 首先,找到投票按鈕的源代碼: 這個”tp”類就是投票事件的定位關鍵字。 然後,打開source下的源文件,搜索“.tp”: 可以看

原创 threejs加載3D模型例子

加載3D模型 首先要引入ColladaLoader加載器,Collada是一個3D模型交換方案,即不同的3D模型可以通過Collada進行相互轉換,言外之意,threejs可以使用Collada將3D模型的數據轉換成自己支持的格式

原创 Java NIO 教程

NIO 概述 NIO有三個核心組件: 通道(Channels) 緩衝器(Buffers) 選擇器(Selectors) 實際上,NIO的組件和類遠不止這三個,但這個三個組件是核心。至於其它組件,例如Pipe和FileLock只

原创 threejs骨架形狀

骨骼動畫 骨骼是什麼?骨骼就是一個可以控制其它形狀的對象。在threejs中,骨骼(Bone)就是一個空的Object3D對象,當然,也可以是任何Object3D對象的子類。 創建骨架 創建骨架總體來說就四步: 創建形狀 創建骨

原创 DocumentFragment使用

DocumentFragment相當於一份脫離document的文檔,所以往其中添加元素,對其中元素做各種操作都不會影響到document文檔,不會觸發迴流、重繪和重組等。使用它的好處在於,你可以合併多個dom操作,減少操作dom

原创 threejs創建平面幾何形狀

創建平面幾何形狀 平面幾何形狀有三種:點,線,面三種,下面說說用threejs創建這幾種形狀的方法。 創建點 創建點可以使用Points類。 function createPoints(){ //創建一個Geometry,並添

原创 Snap svg 主要對象

對象 概述 Element svg規定的元素,提供修改屬性、綁定事件、操作數據、操作層級關係、動畫等方面的方法,類似jquery選取的元素 Fragment 虛擬節點,其用處是可以用js創建多個元素,添加到Frag

原创 狀態模式案例分析

需求 初始狀態下,【暫停按鈕】不可點,所有數軸可調: 點擊【動態波】後,【暫停按鈕】可點,所有數軸可調: 點擊【暫停按鈕】後,“暫停”變爲“播放”,所有數軸不可調: 分析需求 上面的需求很明顯可以分爲三個狀態:初始狀態、波動

原创 threejs相機和渲染器

渲染器 渲染器其實代表的是canvas標籤。 渲染器的類型 WebGLRender 使用WebGL來渲染圖形,速度較快,但是有些機器不支持WebGL。 CanvasRender 使用canvas2d來渲染圖形,在較老的版本上,主要

原创 【移動端html5】 android video播放進度精確控制

android上視頻播放存在的問題 在PC上播放html5視頻,設置video.currentTime=5,視頻將跳到5s的位置,並且顯示出第5s的畫面。在安卓下,卻存在下面兩個問題: 在安卓上,爲了省電,在暫停的時候,改變視頻

原创 threejs概覽

threejs術語和概念 threejs的API很長,有很多概念和術語,理解了這些概念和術語,才能更好的使用threejs。這些概念和術語都藏在API右側的大綱中,下圖簡單整理了一下這些概念: 這些概念又分爲四個大類(見上圖,個