久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

基于HTML5的WebGL經典3D虛擬機房漫游動畫

這篇文章主要介紹了基于HTML5的WebGL經典3D虛擬機房漫游動畫,需要的朋友可以參考下

第一人稱在 3D 中的用法要參考第一人稱在射擊游戲中的使用,第一人稱射擊游戲(FPS)是以第一人稱視角為中心圍繞槍和其他武器為基礎的視頻游戲類型;也就是說,玩家通過主角的眼睛來體驗動作。自從流派開始以來,先進的3D和偽 3D圖形已經對硬件發展提出了挑戰,而多人游戲已經不可或缺。

基于HTML5的WebGL經典3D虛擬機房漫游動畫

Doom的截圖,這個流派的突破游戲之一,展示了第一人稱射擊游戲的典型視角

現在博物館或者公司也經常使用到 3D 動畫做宣傳片等等,3D動畫演繹最大的優勢,便是在于內容與形式上給人的真實感受。它比平面作品更直觀,比 2D 動畫更真實,所以更能給觀賞者以置身于廣告環境當中的感受,大大增強廣告的說服力。3D 技術的發展甚至挑戰受眾的分辨能力,使受眾的判斷游離于與虛擬和現實之間。
而且 3D特效的應用為創意提供了更加廣闊的思維空間,并成為創意執行的可靠保證,并豐富了創意的形式和風格手段。根據廣告主題的表現訴求,可以營造出夢幻般的神奇氛圍來刺激打動受眾,從而起到與受眾溝通的目的。
3D動畫宣傳片將 3D動畫、特效鏡頭、企業視頻、照片、未來前景等內容通過后期合成、配音、解說形成一部直觀、生動、喜聞樂見的高品位的企業廣告宣傳片,讓社會不同層面的人士對企業產生正面的、積極的、良好的印象,從而建立對企業的好感與信任,并信賴該企業的產品或服務。

現在 3D 發展地如此迅速也要感謝人類對于“現實”的追求,所以學好用好 3D 是未來成功必不可少的一部分。

本文例子的思路是進入一個機房參觀,打開門的動作是再生動不過了, 再加上適當地轉彎,基本上完全模擬了人在機房中參觀的效果。還有一個好處就是,如果要演示給領導看而又不用操作,這種炫酷的效果領導一定會很滿意!

http://www.hightopo.com/demo/room-walkthrough/index.html

基于HTML5的WebGL經典3D虛擬機房漫游動畫

界面上的“reset”和“start”兩個按鈕是直接加在 body 體中的 button,并在這兩個按鈕上添加點擊事件:

<div></div><div></div>

整個場景由 HT 封裝的 3D 組件搭建形成的,構造這么大的場景是需要一定量的代碼的,為了簡化,我把場景單獨拿出來,并用 HT 封裝的 ht.JSONSerializer 類將場景序列化為 json,代碼中只引入了生成后的 json 文件,為了讓大家更明確,我這邊做個示例,假設已經搭建好 3D 場景了:

dm = new ht.DataModel();g3d = new ht.graph3d.Graph3dView(dm);//.......構建好場景dm.serialize();//可以填入number參數,作為空格縮進值

既然我們已經搭建好環境,轉成了 json 文件,代碼中不好控制,這種情況下我們會將 DataModel 數據模型再反序列化,這個函數的功能就是將 json 格式轉成對象,并將反序列化的對象傳入到 DataModel 數據模型中,詳情請參考HT for Web 序列化手冊:

 var g3d = window.g3d = new ht.graph3d.Graph3dView(),    
dataModel = g3d.dm(),    
view = g3d.getView(),    
path = null;g3d.setMovableFunc(function(data) {    return false;});
g3d.setVisibleFunc(function(data) {    
if (data.getName() === "path") {       
 return false;    
}    
return true;});
g3d.setEye([523, 5600, 8165]);g3d.setFar(60000);dataModel.deserialize(json);

我們目前需要操作場景中的“門”、以及我們將要走的路線“path”,遍歷 DataModel 數據模型,獲取這兩個數據:

for (var i = 0; i < dataModel.size(); i++) {    
var data = dataModel.getDatas().get(i);   
 if (data.getName() === "門") 
{//json中設置的名稱       
window.door = data;    
}    
if (data.getName() === "path") 
{        
path = data;    
}    
if (window.door && path) 
{//獲取到door 和 path 的data之后就跳出循環        
break;   
 }}

這個例子中簡單來說就只有四個動作,“重置”回到原點、“開始動作”、“向前移動”,“停止”。點擊“開始”按鈕,在“開始動作”中我們只做了一個動作,“開門”動作,動作結束之后調用“forward”函數向前移動:

function startAnim() {
   
if (window.isAnimationRunning) 
{        
return;   
 }    
reset();    
window.isAnimationRunning = true;//動畫是否正在進行    ht.Default.startAnim({       
 frames: 30, // 動畫幀數,默認采用`ht.Default.animFrames`。        
interval: 20, // 動畫幀間隔,默認采用`ht.Default.animInterval`。           
finishFunc: function() {// 動畫結束后調用的函數。            
forward();        
},         
action: function(t){ // action函數必須提供,實現動畫過程中的屬性變化。            
door.setRotationY(-120 * Math.PI / 180 * t);        
}    
});
}
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了有關HTML5頁面在iPhoneX適配問題,需要的朋友可以參考下
本篇文章主要介紹了html5中canvas圖表實現柱狀圖的示例,本文使用canvas來實現一個圖表,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
Adobe公司出品的多媒體處理軟件產品線較多,涵蓋了音視頻編輯、圖像處理、平面設計、影視后期等領域。這篇文章主要介紹了Adobe Html5 Extension開發初體驗圖文教程,非常不錯,需要的朋
這篇文章主要介紹了html5實現移動端適配完美寫法,需要的朋友可以參考下
本篇文章主要介紹了HTML5響應式(自適應)網頁設計的實現,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了HTML5打開手機掃碼功能及優缺點的相關資料,需要的朋友可以參考下
主站蜘蛛池模板: 日韩欧美在线视频播放 | 国产精品久久久久无码av | 日韩视频在线一区 | 亚洲精品第一国产综合野 | 天天操夜夜骑 | 色婷婷国产精品综合在线观看 | 日韩三级电影一区二区 | 亚洲视频免费在线看 | 国产精品视频免费播放 | 免费在线观看黄视频 | 午夜电影网 | 久久精品国产精品青草 | 欧美一区视频在线 | 国产精品久久久久久一区二区三区 | 热久久免费视频 | 一区中文字幕 | 青青草在线播放 | 国产精品福利久久久 | 欧美涩 | 国产不卡视频在线 | 天天插天天操 | 久久成人一区 | 成人18亚洲xxoo | a毛片| 国产精品久久久久久久三级 | 精品日韩 | 欧洲色综合 | 成人蜜桃av | 91精品入口蜜桃 | 亚洲视频a| 亚洲精品日韩在线 | 你懂的国产 | 一级毛片在线看 | 韩日一区二区 | 国产精品一区二区在线 | 国产成人福利 | 国产午夜精品久久久久 | 日韩精品av| 国产h视频 | www.夜夜骑.com | 日韩电影免费在线观看中文字幕 |