① unity3d net web 怎麼返回數據
Unity3D和網頁數據交互的基本原理
簡介:
1、Unity3D的游戲引擎是和編輯器集成在一起的,所有它也是一個製作/開發平台。
2、Unity3D是使用JavaScript、C#作為核心腳本語言來驅動事個游戲引擎。
3、平台可以發布Exe執行文件或者打包為可供網頁調用的一個獨立的包文件。
4、用Unity3D製作的工程具有高度的可移植性,可以在PS xbox360 Android iPhone mac等系統上運行。
嵌入網頁:
1、用Unity3D實現嵌入網頁和Flash插入網頁原理完全一致,也是使用ActiveX控制項嵌入在網頁中。所以和Flash一樣,需要安裝一個播放器插件(小於3M)。
2、查看頁面源碼,可以看到如下嵌入部分:
<object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394"width="600" height="450"codebase="http://webplayer.unity3d.com/download_webplayer/UnityWebPlayer.cab#version=2,0,0,0">
<param name="src" value="MyDataFile.unity3d" />
<embed id="UnityEmbed" src="MyDataFile.unity3d" width="600" height="450"type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" />
</object>
3、和Flash一樣,在瀏覽器中載入3D場景或者讀取時的圖標進度條都能進行自定義,也可以自定義是否激活是用右鍵菜單。
數據交互
1、在Unity3D中調用網頁js函數
如果我們在html中有腳本函數;則在u3d中我們可用使用Application.ExternalCall調用js函數,該方法只適合在Web3D環境下使用。該方法支持基本類型的傳遞和數組傳遞,任何類型都會轉換成字元串類型使用。
例子代碼:
Application.ExternalCall("SayHello","The game says hello!);//調用SayHello,傳遞一個字元串
2、在Unity3D中直接執行一段腳本代碼如:
Application.ExternalEval("if(document.location.host!='unity3d.com'){document.location='http://unity3d.com';}");
3、在js中調用Unity3D函數(傳遞消息等)
如果有Unity3D中有一段用JS寫的功能函數:
function MyFunction(param:String)
{
Debug.Log(param);
}
需要在JS中呼叫這個函數則可以這樣寫:
<script type="text/javascript" language="javascript">
SaySomethingToUnity(document.getElementById("UnityContent").SendMessage("MyObject","MyFunction","Hello fom a web page!"););
</script>
這里要注意的是MyObject代表Unity3D中的一個場景名稱為MyObject,MyFunction是調用的函數,最後一個字元為傳遞的參數。
與php,jsp等的表單數據交互
與php,jsp等的表單數據交互很可能會是今後用到的主要方式,原理是利用form表彰傳遞數據,下面以php為例來進行說明。
Unity3D可以實現向某個指定頁面發送表單數據然後在php中使用_POST獲取傳遞回來的表彰數據。比如:
<?php
$action = $_POST["myform_action"];//定義一個變數$action用來獲取頁面傳遞過來的表單數據
if($action!=""){
echo $action;//如果接收到了數據則列印出數據內容
}
?>
在Unity3D中我們發送數據的代碼如下:
var form = new WWWForm();//定義一個網頁表單
form.AddField("myform_action","Action1");//添加一個表彰欄位名稱為myform_action內容是action1
var download = new 發送表單數據到指定網址頁面
假如index.php執行的是資料庫/統計操作,我們就可以對傳遞的數據進行保存讀取或者其他操作了。
② 真心求教怎麼自定義Unity3D 發布web的Logo和進度條樣式
下面是我的找到的一些方法,自定義logo:
var config = {
width: window.innerWidth,
height: window.innerHeight,
params: {
backgroundcolor: "FFFFFF",
bordercolor: "FFFFFF",
textcolor: "FFFFFF",
logoimage: "bunny-welcome.png",
progressbarimage: "bar_frame.png",
progressframeimage: "bar.png",
enableDebugging:"0",
disableContextMenu:true
//屏蔽右鍵
}
};
var u = new UnityObject2(config);
或者是這種方法:
//config其實可以不用要
var config = {
width: window.innerWidth,
height: window.innerHeight,
params: {
enableDebugging:"0" }
};
var params = {
backgroundcolor: "FFFFFF",
bordercolor: "FFFFFF",
textcolor: "FFFFFF",
logoimage: "bunny-welcome.png",
progressbarimage: "bar_frame.png",
progressframeimage: "bar.png",
disableContextMenu:true
};
var u = UnityObject2({ params: params });
自定義logo其實就是這么簡單
③ 真心求教怎麼自定義Unity3D 發布web的Logo和進度條樣式
修改params就行
params: {
enableDebugging:"0" ,
backgroundcolor: "背景顏色",
bordercolor: "邊框顏色",
textcolor: "文本顏色",
logoimage: "logo圖片路徑",
progressbarimage: "進度條圖片路徑",
progressframeimage: "進度條邊框路徑"
}
或者是在網頁中用這段代碼
這段代碼是加一網頁中的,類似於網頁中插入flash一樣!
<object id="UnityObject"
classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" width="668"
height="401" >;
codebase="http://webplayer.unity3d.com/download
_webplayer-2.x/UnityWebPlayer.cab#version=2,0,0,0">
<param name="src" value="文件名.unity3d" />
<param name="backgroundcolor" value="000000" />
<param name="bordercolor" value="FFFFFF" />
<param name="textcolor" value="FFFFFF" />
<param name="logoimage" value="Logo名" />
<param name="progressbarimage" value="進度條名" />
<param name="progressframeimage" value="進度條名2" />
</object>
④ 關於Unity 3D web Player
unity 3d web player有緩存文件的,默認情況下使用公共緩存,就是多個unity 游戲公用一個緩存文件,文件大小上限是50M,開發商課以自定義緩存目錄,但是unity對該功能是額外收費的。好像是按照游戲收入收費或者一次買斷。
清理緩存的方式是官方有個網頁!
http://unity3d.com/webplayer/setup
⑤ 學unity3D好還是web前端好
雖然不能一概而論,但是從工作環境的角度來說游戲行業整體確實不如互聯網行業,管理和思維模式都相對保守些,甚至到處還能看到使用瀑布式開發的團隊。如果更注重生活質量,做前端可選擇的餘地要更大。
從技術追求角度,web 前端跟 3D 開發沒法比,unity 是更好的選擇。但從另一個角度,有理想的技術宅即使做 web 前端也不可能讓自己長期滯留在這個領域,總能轟轟烈烈地向新的領域邁進,所以選擇 web 前端雖然不是好的切入點(個人以為),但對於有理想的技術宅並不會成為技術進步的障礙,關鍵看個人。
⑥ unity3d 做web游戲,伺服器怎麼發送模型給客戶端顯示出來
就是網頁游戲吧,客戶端訪問你 的網站網頁時會要求他安裝UNITY3D WEB插件,完了你 的 網頁(包括裡面的模型等等)就會呈現在客戶端。 叫B/S瀏覽器/客戶端模式吧
還有的 是網路游戲c/s(伺服器/客戶端)模式,客戶下載你 的 應用文件(游戲文件),裡面就 包含了 模型,客戶運行游戲,當然是 有 模型顯示了 ,
至於要顯示什麼模型?!!!!!。。。。。。。。。。。。。。。。
⑦ Unity3D使用透明視頻,解決Pr導出WebM毛邊問題
在Pr中安裝導出WebM格式所需的Pr插件
https://www.fnordware.com/WebM/
本文使用插件版本。
安裝步驟比較簡單。安裝結束需要重啟PR。
打開PR,導入帶透明通道格式的MOV文件。如果視頻文件有音頻合成的需要可以一並導入。
處理內容完成後,得到以下畫面。
選中軌道操作區域,點擊【文件】->【導出】->【媒體】,打開導出設置界面。
1) 推薦匹配源。
2) Unity格式播放,需選中VP8;Constant Quality模式99質量。
3) 不扣選2-Pass Encoding。
4) 勾選Include Alpha Channel,透明通道
1) Codec模型選擇Vorbis格式
1) 使用最高渲染質量
1) 新建RawImage,添加以下三種組件
2) 新建New Render Texture組件,並分別給RawImage和VideoPlayer組件賦值。其餘按下圖設置。
3) 對New Render Texture組件進行尺寸設置,大小匹配素材,避免尺寸不適配造成的模糊。
下面是效果: