前言:
端午節(jié)放假恰好有時(shí)間研究下Unity3D 在Web端的實(shí)現(xiàn)。
基本上都比較順利,使用的是Unity如下版本:2018.1.4f1

也導(dǎo)出了WebGL 游戲版本,放在一個(gè)文件夾中,如圖:

但這個(gè)時(shí)候,問(wèn)題來(lái)了,怎么跑起來(lái)這個(gè)WebGL版本的游戲呢? 直接嘗試拖拽index到瀏覽器,但提示:

很崩潰,這時(shí)候,我搜了一堆如何解決瀏覽器支持webGL的方式,但拖拽進(jìn)去的都是這樣。
但由于個(gè)人還是希望看看手機(jī)上效果如何,沒準(zhǔn)手機(jī)瀏覽器支持,于是還是想搭建個(gè)正規(guī)的服務(wù)器,讓這個(gè)web頁(yè)面跑起來(lái)。
驚喜來(lái)了,使用網(wǎng)址瀏覽后,瀏覽器就莫名其妙支持了,無(wú)論是哪個(gè)游覽器,很驚喜。(略會(huì)nodejs web前后端開發(fā),這里是存在跨域訪問(wèn)的問(wèn)題,所以最好還是點(diǎn)擊 build and run,或者搭個(gè)web服務(wù)器 訪問(wèn))。于是我一定要把這個(gè)過(guò)程記錄下來(lái),方便給一直從事客戶端游戲開發(fā)的小伙伴看下。其實(shí)不是webGL的游戲沒跑通,也許就是web服務(wù)沒搭好。(當(dāng)然網(wǎng)上也有不少這樣的提醒了)
下面就是簡(jiǎn)單使用Nodejs及express搭建服務(wù)器的過(guò)程。(當(dāng)然使用nginx或者tomcat 都行的 我是windows本機(jī)測(cè)試,先就這么搭吧)
NodeJs創(chuàng)建Web服務(wù)器
var http = require('http');
var server = http.createServer(function(req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.write('hello world!');
res.end();
}).listen(80);
這是一個(gè)原生式的創(chuàng)建一個(gè)web服務(wù)器的方式,但是有缺陷。如果我們想要將我們的靜態(tài)頁(yè)面至于與服務(wù)器同域下的時(shí)候很不方便。
Express創(chuàng)建Web服務(wù)器
var express = require('express');
var app = express();
var server = require('http').createServer(app);
//指定靜態(tài)文件的位置
app.use('/', express.static(__dirname + '/public'));
//監(jiān)聽端口號(hào)
server.listen(80);
這里我們借用Express封裝好的方法創(chuàng)建了一個(gè)監(jiān)聽80端口的方法,不僅我們可以作為后端服務(wù)通過(guò)localhost:80訪問(wèn),還可以訪問(wèn)我們的前端頁(yè)面localhost:80/index.html。
這樣頁(yè)面與服務(wù)端交互也方便很多了。
總之跑起來(lái)的大概是醬紫,不管咋說(shuō),蠻開心的。


