A. 如何在webgl製作的三維圖形中,加入超鏈接,點擊三維模型中的一部,彈出DIV框!謝謝!
//這個方法將使用XMLHTTPRequest對象來進行AJAX的非同步數據交互
var xmlHttpRequest;
//用戶名校驗的方法
function verify() {
var success = createXMLHTTPRequest();
if (!success) {
return;
}
var userName = document.getElementById("userName").value;//獲取用戶名字
//2.注冊回調函數
//注冊回調函數時,之需要函數名,不要加括弧
//我們需要將函數名注冊,如果加上括弧,就會把函數的返回值注冊上,這是錯誤的
xmlHttpRequest.onreadystatechange = callback;
//3。設置連接信息
//第一個參數表示http的請求方式,支持所有http的請求方式,主要使用get和post
//第二個參數表示請求的url地址,get方式請求的參數也在url中
//第三個參數表示採用非同步還是同步方式交互,true表示非同步
//記住在url後面加上時間戳
//xmlHttpRequest.open("GET", "OriginalityAjaxAction?username=" + userName, true);
//POST方式請求的代碼
xmlHttpRequest.open("POST", "OriginalityAjaxAction", true);
//POST方式需要自己設置http的請求頭
xmlHttpRequest.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
//POST方式發送數據
xmlHttpRequest.send("username=" + userName);
//4.發送數據,開始和伺服器端進行交互
//同步方式下,send這句話會在伺服器段數據回來後才執行完
//非同步方式下,send這句話會立即完成執行
//xmlHttpRequest.send(null);
}
//回調函數
function callback() {
//alert(xmlHttpRequest.readyState);
//5。接收響應數據
//判斷對象的狀態是交互完成
if (xmlHttpRequest.readyState == 4) {
//判斷http的交互是否成功
if (xmlHttpRequest.status == 200) {
//獲取伺服器器端返回的數據
//獲取伺服器段輸出的純文本數據
var responseText = xmlHttpRequest.responseText;
//將數據顯示在頁面上
//通過dom的方式找到div標簽所對應的元素節點
var divNode = document.getElementById("result");
//設置元素節點中的html內容
divNode.innerHTML = responseText;
} else {
alert("出錯了!!!");
}
}
}
//創建XMLHTTPRequest對象來進行AJAX的非同步數據交互
function createXMLHTTPRequest() {
//1.創建XMLHttpRequest對象
//這是XMLHttpReuquest對象無部使用中最復雜的一步
//需要針對IE和其他類型的瀏覽器建立這個對象的不同方式寫不同的代碼
if (window.XMLHttpRequest) {
//針對FireFox,Mozillar,Opera,Safari,IE7,IE8
xmlHttpRequest = new XMLHttpRequest();
//針對某些特定版本的mozillar瀏覽器的BUG進行修正
if (xmlHttpRequest.overrideMimeType) {
xmlHttpRequest.overrideMimeType("text/xml");
}
} else if (window.ActiveXObject) {
//針對IE6,IE5.5,IE5
//兩個可以用於創建XMLHTTPRequest對象的控制項名稱,保存在一個js的數組中
//排在前面的版本較新
var activexName = [ "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ];
for ( var i = 0; i < activexName.length; i++) {
try {
//取出一個控制項名進行創建,如果創建成功就終止循環
//如果創建失敗,回拋出異常,然後可以繼續循環,繼續嘗試創建
xmlHttpRequest = new ActiveXObject(activexName[i]);
break;
} catch (e) {
}
}
}
//確認XMLHTtpRequest對象是否創建成功
if (!xmlHttpRequest) {
alert("XMLHttpRequest對象創建失敗!!");
return false;
} else {
//0 - 本地響應成功
//alert(xmlhttp.readyState);
return true;
}
}
B. 怎麼樣在網頁中插入3D模型
如何在網頁里插入3D模型並進行互動展示?
其實官方已經給出了插入網頁的方法但是沒有具體步驟,而且軟體自動生成的代碼有問題,不能自適應屏幕大小。所以很多沒有接觸過網頁設計的朋友一頭霧水不會修改。
首先需要安裝一個Dreamweaver軟體用於修改網頁代碼
在模版之家下載了如下圖所示的一個網站,我們的目標是把3D模型插入到紅框的位置。
還可以通過手機查看也可以分享到微信朋友圈,只要支持HTML5的瀏覽器都能查看。。。
C. 怎麼導入3d模型
對於3d模型設計,使用最多的莫過於3dmax,因而3D模型也可以說是用3Ds MAX建造的立體模型,包括各種建築、人物、植被、機械等等,比如一個大樓的3D模型圖。3D模型也包括玩具和電腦模型領域。
首先安裝3D插件,在軟體安裝的最後一步可以指定3DMAX的安裝目錄,如果在安裝軟體時沒有指定目錄,可以以後在開始菜單下找到程序,再找圓方軟體,再找安裝Max文件導入控制項,重新指定,單擊瀏覽按鈕,找到3DMAX軟體的安裝目錄後,單擊確定,再選擇你安裝的3DMAX軟體的版本,單擊設置。
單擊設置後,打開3DMAX軟體,再單擊文件下的打開命令,打開已存在的模型的文件,或自已建新的模型文件,附好材質。
單擊文件菜單下的EXPORT導出命令,在文件類型中選擇3d-YF MTF格式,在出現的對話框中單擊OK,再關閉3DMAXS。
打開我們的軟體,畫一個房間,再單擊三維空間按鈕,直接進入三維空間,單擊文件菜單下的導入3DMAXSMTF文件,選擇我們先前導出的MTF文件。
模型被導入到三維場景中,這時也可以修改模型的材質,單擊其它菜單中的選物體輸出VR圖塊,單擊以導入的模型文件,如有多個組成部分,可以按住SHIFT鍵進行多選
本回答由提問者推薦
D. 如何把3D物品放到web上展示
估計沒戲。
成熟的3d設計基本上是3dmax,這個東西我看到的都是放到.net上,才能讓用戶自由查看。
E. 如何導入3d模型
你可以先去【繪學霸】網站找「3d建模」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y17r-508054637
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y17r-508054637
在「3d建模」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
F. 如何製作一個Web3D交互網站
一、Web 3D交互網站的製作方法
Web 3D其實就是網頁三維,一般可以通過webgl、threejs、openGL等技術搭建底層3D引擎,將3D模型文件在網頁端展示出來。
二、Web 3D交互網站的製作過程
製作一個Web 3D頁面需要由3D建模人員和3D開發人員相互配合實現的。3D建模人員按照要求來建模,導出FBX文件給到開發人員,開發人員按照交互需求、表現效果以及介面數據要求等進行3D開發,最終實現網頁端的三維展示效果。
G. 如何3d模型在web網頁顯示展示用什麼技術
用threejs很容易做到,載入模型到網頁上顯示出來。要想添加點擊效果,再加些代碼來判斷點擊到哪個模型,要彈窗什麼東西。
Threejs是一款運行在瀏覽器中的 3D 引擎,你可以用它創建各種三維場景,包括了攝影機、光影、材質等各種對象。你可以在它的主頁上看到許多精彩的演示。
不過,這款引擎還處在比較不成熟的開發階段,其不夠豐富的 API 以及匱乏的文檔增加了初學者的學習難度(尤其是文檔的匱乏)three.js的代碼託管在github上面。
3d模型就是三維的、立體的模型,D是英文Dimensions的縮寫。
3D模型也可以說是用三維軟體建造的立體模型,包括各種建築、人物、植被、機械等等,比如一個大樓的3D模型圖。3D模型也包括玩具和電腦模型領域。
3D模型也分為:人物,交通運輸,建築裝飾,傢具電器,機械,動物、怪物、植物,服裝,飾品,日常用品,樂器,藝術品等等。
譬如,歐式傢具3D模型沙發座椅、床、餐椅、居室燈具、衣櫃、電器等。歐式3D模型在室內設計表現風格中常用到,一般常用3D模型歐式沙發類,見圖1-歐式沙發3D模型。
發展歷史:
互聯網的形態一直以來都是2D模式的,但是隨著3D技術的不斷進步,在未來的5年時間里,將會有越來越多的互聯網應用以3D的方式呈現給用戶,包括網路視訊、電子閱讀、網路游戲、虛擬社區、電子商務、遠程教育等等。甚至對於旅遊業。
3D互聯網也能夠起到推動的作用,一些世界名勝、雕塑、古董將在互聯網上以3D的形式來讓用戶體驗,這種體驗的真實震撼程度要遠超的2D環境下的模型。
H. 怎樣添加3D模型
對於3d模型設計,使用最多的莫過於3dmax,因而3D模型也可以說是用3DsMAX建造的立體模型,包括各種建築、人物、植被、機械等等,比如一個大樓的3D模型圖。3D模型也包括玩具和電腦模型領域。首先安裝3D插件,在安裝的最後一步可以指定3DMAX的安裝目錄,如果在安裝時沒有指定目錄,可以以後在開始菜單下找到程序,再找圓方,再找安裝Max文件導入控制項,重新指定,單擊瀏覽按鈕,找到3DMAX的安裝目錄後,單擊確定,再選擇你安裝的3DMAX的版本,單擊設置。單擊設置後,打開3DMAX,再單擊文件下的打開命令,打開已存在的模型的文件,或自已建新的模型文件,附好材質。單擊文件菜單下的EXPORT導出命令,在文件類型中選擇3d-YFMTF格式,在出現的對話框中單擊OK,再關閉3DMAXS。打開我們的,畫一個房間,再單擊三維空間按鈕,直接進入三維空間,單擊文件菜單下的導入3DMAXSMTF文件,選擇我們先前導出的MTF文件。模型被導入到三維場景中,這時也可以修改模型的材質,單擊其它菜單中的選物體輸出VR圖塊,單擊以導入的模型文件,如有多個組成部分,可以按住SHIFT鍵進行多選
I. html5怎樣引入三維模型,創建360度旋轉瀏覽
html5中引入3d模型的方法是藉助第三方PlayCanvas插件來完成的。
比如可以用以下方法實現圖片的360度旋轉:
代碼示例:
var render, loop, t, dt, //定義變數
DEG2RAD = Math.PI / 180, //角度轉弧度
cvs = document.querySelector('canvas'), //創建canvas
ctx = cvs.getContext('2d'),//繪制2d圖形上下文
teddy = new Image(), //創建圖像
heart = new Image(), //創建圖像中心
angle = 0,//初始化角度為0
reqAnimFrame =
window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.msRequestAnimationFrame ||
window.oRequestAnimationFrame;
//創建動畫幀
cvs.width = 400;
cvs.height = 200;
teddy.src = 'xxx.jpg';
heart.src = 'yyy.jpg';
//開始渲染
render = function (timestamp) {
dt = timestamp - t;
t = timestamp;
// cavas設置為白色
ctx.fillStyle = "rgb(255,255,255)";
ctx.fillRect(0, 0, cvs.width, cvs.height);
// 繪制中心
ctx.drawImage(heart, -20, -120);
// 繪制teddy
ctx.save();
ctx.translate(cvs.width/2, cvs.height/2); // 移動滑鼠到畫布中心
ctx.rotate(DEG2RAD * angle); // 旋轉畫布
ctx.drawImage(teddy, -teddy.width/2, -teddy.height/2); // 繪制中心圖片
angle += dt / 16.67 * 6; // increment angle ~ 360 deg/sec
ctx.restore();
};
loop = function (timestamp) {
reqAnimFrame(loop);
render(timestamp);
};
t = Date.now();
loop(t);