လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP နှင့် Unity3D Real-Time Location Tracking function ကိုအကောင်အထည်ဖော်ရန် Workerman ကိုမည်သို့အသုံးပြုရမည်နည်း

PHP နှင့် Unity3D Real-Time Location Tracking function ကိုအကောင်အထည်ဖော်ရန် Workerman ကိုမည်သို့အသုံးပြုရမည်နည်း

M66 2025-06-16

နိဒါန်း

ခေတ်သစ် application များတွင် Real-Time တည်နေရာခြေရာခံခြင်းသည်စီမံကိန်းများစွာ၏အဓိကအစိတ်အပိုင်းတစ်ခုဖြစ်လာသည်။ ဥပမာအားဖြင့် Real-time positioning, navigation, multiplayer ဂိမ်းများစသည်တို့သည်ဤအင်္ဂါရပ်အပေါ်မှီခိုနေရသည်။ ဤဆောင်းပါးသည်သင့်အားဤနည်းပညာကိုလှည့်စားသူများကိုနားလည်သဘောပေါက်ရန်နှင့်အကောင်အထည်ဖော်ရန်အတွက်အချိန်နှင့်တပြေးညီတည်နေရာခြေရာခံခြင်း function ကိုနားလည်သဘောပေါက်ရန် PHP နှင့် Unity3D မှတစ်ဆင့်အဆင့်ဆင့်ကိုအဆင့်ဆင့်တက်လှမ်းပါလိမ့်မည်။

လိုအပ်ချက်ပြင်ဆင်မှု

သင်မစခင်, အောက်ပါပြင်ဆင်မှုများကိုသင်ပြီးဆုံးပါစေ။ - ** PHP နှင့် Workermaner ကို install လုပ်ခြင်း ** - PHP ကိုသင်၏ဆာဗာတွင်ထည့်သွင်းပြီး 0 မ်းကျောင်းမူဘောင်ကိုတေးရေးဆရာမှတဆင့် install လုပ်ပါ။

အကောင်အထည်ဖော်မှုလုပ်ငန်းစဉ်

1 ။ Unity3D စီမံကိန်းကိုဖန်တီးပါ

ပထမ ဦး စွာ UNITY3D ဖွင့်လှစ်ခြင်းနှင့်စီမံကိန်းအသစ်တစ်ခုဖန်တီးပါ။ တစ် ဦး ခြေရာခံအရာဝတ်ထုအဖြစ်မြင်ကွင်းတစ်ခုတွင် 3D မော်ဒယ်ထားပါ။

2 ။ Unity3D script များကိုရေးပါ

unity3d တွင် C # # script ကိုဖန်တီးပါ။ `trackingingscript.cs ဟုအမည်ပေးပြီးအောက်ပါကုဒ်ကိုရိုက်ထည့်ပါ။
  
unityengine ကိုအသုံးပြုခြင်း;  

Public Class Trackingscripts: Monobehaviour  
{  
    prical socket socket,  

    ပုဂ္ဂလိကပျက်ပြယ် start ()  
    {  
        // server socket = socket (atressfamily.internetwork, socketypepe.stepe.tram, protocype.tcp) ကိုဆက်သွယ်ပါ။  
        Socket.Connect ("server IP address", 2345),  
        Debug.log ("အောင်မြင်စွာချိတ်ဆက်");  
    }  

    ပုဂ္ဂလိကပျက်ပြယ် update ကို ()  
    {  
        // လက်ရှိအနေအထား vector3 အနေအထား = transform.position;  
        // socket string message = position.x + "+" + position.y + "+ position.y +" + "+" + "+" + + + + position.z;  
        byte [] buffer = encoding.default.getytes (သတင်းစကား);  
        Socket.send (ကြားခံ);  
    }  

    ပုဂ္ဂလိကဗန်းဒ် ondestroy ()  
    {  
        // ဂိမ်း၏အဆုံးမှာ connection socket.close () ကိုပိတ်ပါ။  
    }  
}  

3 ။ ဆာဗာ - ဘေးထွက် PHP ဖိုင်ကိုဖန်တီးပါ

ဆာဗာပေါ်ရှိ `tracking_server.php` ဟုအမည်ရှိ php ဖိုင်ကိုဖန်တီးပြီးအောက်ပါကုဒ်ကိုထည့်ပါ။
  
__Dir__ __DIRT_ONCECE ။ '/vendor/autoload.php';  
Workerman \ Warder ကိုသုံးပါ။  

$ အလုပ်သမား = အလုပ်သမားအသစ် ("Websocket :/0.0.0.0.0: 2345,  

$ 0 န်ထမ်း -> onmessage = function ($ ဆက်သွယ်မှု, $ ဒေတာ) {  
    // တည်နေရာသတင်းအချက်အလက်ကိုလက်ခံရရှိပြီးနောက် connected clients forach ($ ဆက်သွယ်မှု -> 0 န်ထမ်းများ >>> 0 န်ထမ်းများ> ဆက်သွယ်မှုများအနေဖြင့် $ client_Connection အဖြစ်)  
        $ client_connection-> Send ($ ဒေတာ);  
    }  
};  

အလုပ်သမား :: Runall ();  

4 ။ ဆာဗာကိုစတင်ပါ

ဆာဗာဘက်မှစတင်ရန်အောက်ပါ command ကို run ပါ။
  
PHP Tracking_Server.php Start  

5 ။ ဂိမ်းကို Unity3D တွင်ပြေးပါ

Unity3D ရှိ Run ခလုတ်ကိုနှိပ်ပြီးဂိမ်းစတင်မည်။ 3D မော်ဒယ်လ်လှုပ်ရှားမှုရွေ့လျားသောအခါတည်နေရာသတင်းအချက်အလက်ကို socket မှတဆင့်ဆာဗာသို့ပို့သည်။

6 ။ Unity3D မြင်ကွင်းများသို့ scripts များထည့်ပါ

`trackingscript.cs`s` script ကို Unity3D မြင်ကွင်းတွင်အချည်းနှီးသောအရာဝတ်ထုတစ်ခုကိုပူးတွဲပါ။

7 ။ Real-time တည်နေရာခြေရာခံခြင်း

ယခုအချိန်တွင်သင်သည် 3D မော်ဒယ်များ၏တည်နေရာကိုအဆိုးမြင်ရှိ 3D မော်ဒယ်များ၏တည်နေရာကိုခြေရာခံသည့် function ကိုအောင်မြင်စွာအကောင်အထည်ဖော်နိုင်ခဲ့သည်။ မော်ဒယ်လ်ကိုရွေ့လျားသည့်အခါတိုင်းတည်နေရာအချက်အလက်များကို PHP server သို့အချိန်မှန်သို့ Socket မှတစ်ဆင့်ပို့ပေးပါလိမ့်မည်။

အကျဉ်းချုပ်

PHP ၏ Workerman framework ကို UNITY3D နှင့်ပေါင်းစပ်ပြီးရိုးရိုး Real-time တည်နေရာခြေရာခံခြင်း function ကိုအောင်မြင်စွာအကောင်အထည်ဖော်နိုင်ခဲ့သည်။ Real-Time Multiplayer ဂိမ်းများတွင်တည်ဆောက်ခြင်း, Navigation function function function function function function များကိုပေါင်းထည့်ခြင်းစသည့်အမှန်တကယ်လိုအပ်ချက်နှင့်အညီ developer များက၎င်းတို့၏လုပ်ဆောင်ချက်များကိုတိုးချဲ့နိုင်သည်။ ဒီဆောင်းပါးကသင့်ကိုကူညီလိမ့်မယ်လို့မျှော်လင့်ပါတယ်