當前位置:首頁 » 雲伺服器 » unity3d如何發送伺服器數據

unity3d如何發送伺服器數據

發布時間: 2022-04-24 14:53:21

A. 用unity3d製作網路游戲,客戶端直接連接MYSQL還是通過其他方法

基本方式是,客戶端和伺服器通信,伺服器連接資料庫將數據發送給客戶端。web3d模式的話,要開發簡單可以用webservice。

B. 怎麼把unity3D項目投放到伺服器上

unity3d應該在客戶端運行吧,如果要多人從伺服器端使用,一種解決方案是把unity3d運行在flash裡面,客戶端直接通過瀏覽器運行flash,然後在flash裡面通過http/json和伺服器交流數據

C. unity 怎麼請求伺服器存取數據

取數據:網址返回xml或json格式的數據,unity去訪問這個網址。
存數據:向一個網址發post請求,數據在參數中。
希望可以幫助到你

D. unity3d伺服器怎麼給客戶端發數據

u3d自帶的network組件局限性還是太大了...用socket就可以了吧,再簡單一點用tcpclient/tcplistener,數據發送的包使用序列化方式

E. 如何在Unity3d中實現和網頁數據的交互

Unity3D和網頁數據交互的基本原理簡介:

1、Unity3D的游戲引擎是和編輯器集成在一起的,所有它也是一個製作/開發平台。

2、Unity3D是使用javaScript、C#作為核心腳本語言來驅動事個游戲引擎。

3、平台可以

數據交互:

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中呼叫這個函數則可以這樣寫:

這里要注意的是MyObject代表Unity3D中的一個場景名稱為MyObject,MyFunction是調用的函數,最後一個字元為傳遞的參數。

php,jsp等的表單數據交互

與php,jsp等的表單數據交互很可能會是今後用到的主要方式,原理是利用form表彰傳遞數據,下面以php為例來進行說明。

Unity3D可以實現向某個指定頁面發送表單數據然後在php中使用_POST獲取傳遞回來的表彰數據。

比如:$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 WWW("www.xxx.com/index.php",form);//發送表單數據到指定網址頁面

假如index.php執行的是資料庫/統計操作,我們就可以對傳遞的數據進行保存讀取或者其他操作了。

F. 如何在Unity3d中實現和網頁數據的交互

1、unity向網頁發送數據的函數:Application.ExternalCall("SayHello",gameObject.name),這個函數將調用網頁中的SayHello函數,gameObject.name為傳遞的參數。
2、網頁向unity發送數據的函數:網頁中用GetUnity().SendMessage(message, "AcceptName", buildingname)函數來調用unity中的函數,此函數的參數message為unity中的物體,AcceptName為物體上的函數,buildingname為傳遞的參數。
網頁中的函數如下:

1 function SayHello(message){//此函數來接收unity中發送出來的message值,並將處理後的數據再發送回unity中
2 jQuery.post('../Unity/javascript/DBhelper.ashx', {id:message}, function(data)
3 {
4 var msg=JSON.parse(data);//將json數據解析
5 var buildingname = msg[0].Building_name;
6 var buildingcategory=msg[0].Building_category;
7 var buildingpic = msg[0].Building_pic;
8 GetUnity().SendMessage(message, "AcceptName", buildingname);//向unity中的message物體上的MyFunction函數發送buildingname值
9 GetUnity().SendMessage(message, "AcceptCategory", buildingcategory);
10
11 GetUnity().SendMessage(message, "AcceptImg", buildingpic);
12 });
13 }

此函數將unity中發送的數據message傳到DBhelper.ashx中,在DBhelper.ashx中將傳遞過來的數據進行查詢等操作,然後再用GetUnity().SendMessage(message, "AcceptName", buildingname)將處理好的數據buildingname傳給unity中的AcceptName函數。
以下是unity中的腳本,可以實現中文,關於中文的實現由於文章有限,在此不再說明,只說明怎樣接收網頁中的數據。

1 var chineseSkin : GUISkin;//在此可以選擇字體,並設置為中文。建議編輯器設為uft-8。
2
3 var buildingname:String;//用來接收從網頁中傳遞過來的buildingname值
4 var buildingcategory:String;//用來接收從網頁中傳遞過來的buildingcategory值
5
6 var buildingpic:Texture2D;//用來接收從網頁中傳遞過來的buildingpic值
7 var windowRect0 = Rect (20, 20, 250, 200);
8 var enable:boolean;
9 function Awake(){
10 enable = false ;
11 }
12 function OnMouseDown () {
13 Application.ExternalCall("SayHello",gameObject.name);// 向網頁中的SayHello函數發送gameObject.name數據
14 enable = true;
15 }
16 function AcceptName(bdname){//用於接收網頁中發送回來的數據
17 buildingname=bdname;
18 }
19 function AcceptCategory(buildingType){//用於接收網頁中發送回來的數據
20 buildingcategory=buildingType;
21 }
22
23 function AcceptImg(img){
24 var www :WWW = new WWW("http://localhost:1166/Unity/images/"+img+"");
25 yield www;
26 buildingpic=www.texture;
27 }
28 function OnGUI(){
29 GUI.skin=chineseSkin;
30 if(enable)
31 {
32 windowRect0 = GUI.Window (0, windowRect0, DoMyWindow, "屬性");
33 }
34 }
35 function DoMyWindow (windowID : int) {
36 GUI.Label(Rect(10,50,80,30),"建築物名字");
37 GUI.TextField(Rect(100,50,100,30),buildingname);
38 GUI.Label(Rect(10,100,80,30),"建築物類型");
39 GUI.TextField(Rect(100,100,100,30),buildingcategory);
40
41 GUI.DrawTexture(Rect(10,150,200,50),buildingpic,ScaleMode.ScaleToFit,true,0);
42 if(GUI.Button(Rect(190,20,50,30),"退出")){
43 enable = false;
44 }
45 GUI.DragWindow (Rect (0,0,10000,10000));
46 }
47 function OnMouseOver(){
48 transform.Rotate(0,Time.deltaTime*100,0,Space.World);
49 }
50 function OnMouseEnter(){
51 renderer.material.color = Color.blue;
52 }
53 function OnMouseExit(){
54 renderer.material.color = Color.yellow;
55 }

這是unity中的腳本,此腳本實現點擊物體,彈出物體的屬性。

G. unity與外部通信目前大概有幾種方法

unity與外部通信目前大概有幾種方法:
1.使用Unity3d內置的Network方法,採用RPC(遠程過程調用)的方式來進行網路編程,優點是方便,最多支持32個用戶連接,適合做休閑的「開房間」類型游戲,類似泡泡堂之類;Unity3d官方論壇有一個master用來做大廳分發伺服器採用Raknet,效率還不錯,不過就是很多功能待完善,如果你自己對C++比較了解的可以自己開發。
2.使用第三方的網路伺服器構件,比如smartFox(java開發基於,flash xml socket),netDog(c++)等等,他們有對應Unity的api,可以支持大規模人數在線。
3.Unity3d 支持 插件開發,你可以自己開發自己的dll(動態鏈接庫),然後支持你想要的網路功能,甚至說如果你可以支持目前市面所有的網路游戲伺服器,不過,前提是你有他們的通信協議,呵呵,不然就的自己開發。
4.對於小規模的網路IO,你還可以查看WWW這個對象,用HTTP協議來通信。

H. unity3d 做web游戲,伺服器怎麼發送模型給客戶端顯示出來

就是網頁游戲吧,客戶端訪問你 的網站網頁時會要求他安裝UNITY3D WEB插件,完了你 的 網頁(包括裡面的模型等等)就會呈現在客戶端。 叫B/S瀏覽器/客戶端模式吧
還有的 是網路游戲c/s(伺服器/客戶端)模式,客戶下載你 的 應用文件(游戲文件),裡面就 包含了 模型,客戶運行游戲,當然是 有 模型顯示了 ,
至於要顯示什麼模型?!!!!!。。。。。。。。。。。。。。。。

I. 如何進行Unity3D與Android消息傳遞

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 WWW("www.xxx.com/index.php",form);//發送表單數據到指定網址頁面
假如index.php執行的是資料庫/統計操作,我們就可以對傳遞的數據進行保存讀取或者其他操作了。

J. 用Unity開發多人游戲,從伺服器下載數據用Syncvar,那麼怎麼把本地的數據上傳到伺服器

用Commands

代碼插入咋沒了

熱點內容
微信支付android開發 發布:2025-03-15 05:29:35 瀏覽:655
密度值演算法 發布:2025-03-15 05:26:41 瀏覽:316
暑期學編程 發布:2025-03-15 05:21:33 瀏覽:345
加密與 發布:2025-03-15 05:21:25 瀏覽:719
安卓如何把時鍾插件調出來 發布:2025-03-15 05:19:11 瀏覽:49
安卓旋鈕主機音量大小怎麼調整 發布:2025-03-15 05:19:05 瀏覽:754
如何將支付密碼關掉 發布:2025-03-15 05:16:55 瀏覽:932
java培訓學院 發布:2025-03-15 05:11:22 瀏覽:33
java架構面試題 發布:2025-03-15 05:06:03 瀏覽:712
vba獲取網頁表格資料庫 發布:2025-03-15 04:57:09 瀏覽:287