es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

| کانال توسعه‌دهندگان بازی |

| کانال توسعه‌دهندگان بازی |

Ir al canal en Telegram

⭕️ کانال توسعه‌دهندگان بازی دولوپیکس 💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی 💎 @Developix 🚀 Developix.ir 📌 پشتیبانی و تبلیغات: @DevelopixSupport

Mostrar más
| Codilo |Red:| Codilo |Irán177 899La categoría no está especificada
506
Suscriptores
-124 horas
+27 días
+430 días

Cargando datos

Canales Similares
Sin datos
¿Algún problema? Por favor, actualice la página o contacte a nuestro gerente de soporte.
Menciones Entrantes y Salientes
---
---
---
---
---
---
Atraer Suscriptores
oct '26
octubre '26
+254
en 0 canales
septiembre '260
en 0 canales
Get PRO
agosto '260
en 0 canales
Get PRO
julio '260
en 0 canales
Get PRO
junio '260
en 0 canales
Get PRO
mayo '260
en 0 canales
Get PRO
abril '260
en 0 canales
Get PRO
marzo '260
en 0 canales
Get PRO
febrero '260
en 0 canales
Get PRO
enero '260
en 0 canales
Get PRO
diciembre '250
en 0 canales
Get PRO
noviembre '250
en 0 canales
Get PRO
octubre '250
en 0 canales
Get PRO
septiembre '250
en 0 canales
Get PRO
agosto '250
en 0 canales
Get PRO
julio '250
en 0 canales
Get PRO
junio '250
en 0 canales
Get PRO
mayo '250
en 0 canales
Get PRO
abril '250
en 0 canales
Get PRO
marzo '25
+261
en 0 canales
Fecha
Crecimiento de Suscriptores
Menciones
Canales
29 octubre0
28 octubre0
27 octubre0
26 octubre+1
25 octubre0
24 octubre+3
23 octubre+1
22 octubre+3
21 octubre+1
20 octubre0
19 octubre+1
18 octubre+1
17 octubre+1
16 octubre0
15 octubre0
14 octubre+1
13 octubre0
12 octubre0
Publicaciones del Canal
پارامترهای انیمیشن را با شناسه صدا بزن 🎮 وقتی وضعیت دویدن یا سرعت کاراکتر را هر فریم به Animator می‌فرستی، لازم نیست هر بار نام متنی پارامتر را هم ارسال کنی. در یونیتی می‌توانی نام را یک‌بار با Animator.StringToHash به شناسه تبدیل و همان را نگه‌داری کنی. 🔧 این اسکریپت را کنار کامپوننت انیمیشن بگذار و در بخش پارامترهای آن، یک پارامتر از نوع Bool با نام دقیق IsRunning بساز:
using UnityEngine;

[RequireComponent(typeof(Animator))]
public class RunAnimation : MonoBehaviour
{
    static readonly int RunningId =
        Animator.StringToHash("IsRunning");

    Animator animator;

    void Awake()
    {
        animator = GetComponent<Animator>();
    }

    public void SetRunning(bool running)
    {
        animator.SetBool(RunningId, running);
    }
}
حالا از منطق حرکت، متد SetRunning را با وضعیت دویدن صدا بزن؛ مثلاً هنگام شروع حرکت، مقدار true بده. 💡 این کار تبدیل تکراری نام به شناسه را حذف می‌کند؛ اما جایگزین درست‌نویسی نام پارامتر نیست! اگر نام را در انیماتور عوض کردی، رشته داخل کد هم باید تغییر کند. برای شروع، همین الگو را روی پارامترهای پرتکرار کاراکترت اجرا کن؛ تغییری کوچک و کم‌دردسر، مخصوصاً وقتی تعداد کاراکترها بیشتر می‌شود. 📚 مستندات رسمی یونیتی 🔖 #GameDev #بازیسازی #Unity #Animator #Performance #CSharp 👤 Developix 💎 Channel: @DevelopixGame

2
‏📰 مایکروسافت Xbox Labs را برای بررسی ساخت ماد بازی با کمک هوش مصنوعی راه‌اندازی می‌کند مایکروسافت در حال راه‌اندازی Xbox La
‏📰 مایکروسافت Xbox Labs را برای بررسی ساخت ماد بازی با کمک هوش مصنوعی راه‌اندازی می‌کند مایکروسافت در حال راه‌اندازی Xbox Labs است؛ گروهی از بازی‌سازان، مهندسان و دانشمندان که بررسی می‌کنند ساخت ماد با کمک هوش مصنوعی چگونه می‌تواند دنیای بازی را دگرگون کند. آشا شارما، مدیرعامل، گفت این تیم ایده‌های نوظهور را آزمایش می‌کند، ابزار می‌سازد و آموخته‌هایش را با توسعه‌دهندگان به اشتراک می‌گذارد؛ در عین حال به حفاظت از مالکیت فکری خود متعهد می‌ماند. این اقدام پس از نمونه‌های اخیر دی‌کامپایل و کامپایل مجدد با کمک هوش مصنوعی صورت می‌گیرد که بازی‌های کلاسیک را به مرورگرها و سخت‌افزارهای جدید آورده‌اند و مرزهای سنتی میان نرم‌افزار و دستگاه‌ها را به چالش کشیده‌اند. 🔖 #news 💎 @DevelopixGame
227
3
🔥 پروژه: موتور بازی‌سازی گودوت برای ساخت بازی بدون هزینهٔ لایسنس و با دسترسی به کد موتور، گودوت گزینه‌ای جدی است؛ یک موتور م
🔥 پروژه: موتور بازی‌سازی گودوت برای ساخت بازی بدون هزینهٔ لایسنس و با دسترسی به کد موتور، گودوت گزینه‌ای جدی است؛ یک موتور متن‌باز برای بازی‌های دوبعدی و سه‌بعدی با خروجی برای پلتفرم‌های مختلف. ساختار Scene و Node کمک می‌کند اجزای بازی را مستقل بسازی و دوباره استفاده کنی. زبان GDScript، پشتیبانی از C# و ابزارهای داخلی انیمیشن و فیزیک هم مسیر ساخت پروتوتایپ تا بازی کامل را پوشش می‌دهند. برای شروع، یک مکانیک کوچک را در آن پیاده کن تا با روند کارش آشنا شوی 🎮 کد و راهنمای مشارکت در گودوت ⭐️ 118,310 ستاره 🔖 #GameDev #بازیسازی #Godot #GameDevelopment #OpenSource 💎 @DevelopixGame
173
4
🎮 حرکت نرم، بدون زبالهٔ اضافه اگر کاراکتر در هر فریم کمی مکث می‌کند، فقط سراغ فیزیک نرو؛ ساختن مداوم آبجکت هم می‌تواند باعث فعالیت بیشتر Garbage Collector شود. در یونیتی، حرکت ساده را می‌شود بدون تخصیص آرایه یا لیست تازه در هر فریم نوشت. 🛠 این نمونه جهت ورودی را می‌گیرد و حرکت را با زمان فریم هماهنگ می‌کند: using UnityEngine; public class SimpleMover : MonoBehaviour { [SerializeField] float speed = 5f; void Update() { float x = Input.GetAxisRaw("Horizontal"); float z = Input.GetAxisRaw("Vertical"); Vector3 direction = new Vector3(x, 0f, z).normalized; transform.position += direction * speed * Time.deltaTime; } } 💡 اینجا Vector3 یک ساختار مقداری است؛ ساختنش به‌تنهایی تخصیص حافظه روی heap ایجاد نمی‌کند. نرمال‌سازی هم نمی‌گذارد حرکت مورب از حرکت مستقیم سریع‌تر شود. اگر از Rigidbody استفاده می‌کنی، جابه‌جایی فیزیکی را با روش مناسب فیزیک انجام بده، نه با تغییر مستقیم transform.position. این الگو را روی حرکت ساده امتحان کن و هنگام بررسی افت فریم، بخش GC Alloc را در Profiler هم ببین. 🔍 📚 راهنمای رسمی یونیتی دربارهٔ تخصیص حافظه 🔖 #GameDev #بازیسازی #Unity #GC #Vector3 #GameDev 👤 Developix 💎 Channel: @DevelopixGame
291
5
پروژه: موتور بازی سازی توت فرنگی (موتور بازی‌سازی دو بعدی و چندسکویی بر پایه دات‌نت) موتور بازی سازی توت فرنگی یک موتور نگاشته شده در زبان C# مبتنی بر پلتفرم dotnet است که امکان ساخت بازی های دو بعدی را در با استفاده از سیستم اجزاء (Component System) می دهد نسخه اولیه این موتور جهت تست و رفع اشکال در قالب یک فریمورک برنامه نویسی منتشر شده و فاقد ادیتور می باشد شما می توانید با استفاده از این نسخه اولی در زبان سی شارپ بازی های خود را بسازید، این نسخه کاملا متن باز می باشد سایت موتور: sb-engine.ir لینک سورس روی گیت هاب: https://github.com/koosha72/strawberry لینک سورس روی گیت محلی: git.sb-engine.ir لینک پکیج منیجر محلی: nuget.sb-engine.ir @strawberry_engine 🔖 #GameDev #بازیسازی 👤 کوشا 💎 Channel: @DevelopixGame
330
6
🔥 پروژه: اُپن‌ایج؛ موتور بازمتن Age of Empires II اگر روی RTS کار می‌کنی یا همیشه می‌خواستی بدانـی Age of Empires II زیر کاپ
🔥 پروژه: اُپن‌ایج؛ موتور بازمتن Age of Empires II اگر روی RTS کار می‌کنی یا همیشه می‌خواستی بدانـی Age of Empires II زیر کاپوت چطور کار می‌کند، پروژهٔ openage خیلی به‌درد می‌خورد 🎮 این یک موتور بازمتن است که منطق AoE2 را بازپیاده‌سازی می‌کند؛ کراس‌پلتفرم، داده‌محور و مناسب بررسی طراحی سیستم‌های واحدها، pathfinding و بالانس. برای الهام گرفتن از معماری، ساخت prototype RTS یا تمرین Modding گزینهٔ جذابی است. سورس و مستنداتش اینجاست: github.com/SFTtech/openage ⭐️ 14,437 ستاره 🔖 #GameDev #بازیسازی #توسعه‌دهندگان_بازی #Game_Development #موتور_بازی 💎 @DevelopixGame
299
7
الگوی Observer توی بازی‌سازی یکی از بهترین راه‌ها برای جدا کردن سیستم‌ها از هم و جلوگیری از وابستگی‌های درهم‌برهمه 🔁 به‌جای این‌که هر اسکریپت مستقیم بره سراغ بقیه، فقط به یک «رویداد» گوش می‌دهد. این رویکرد توی پروژه‌های متوسط و بزرگ یونیتی، دیباگ و تغییر گیم‌پلی رو خیلی راحت‌تر می‌کند. مسئله‌ٔ رایج: مثلاً وقتی بازیکن سکه می‌گیرد: - اسکور باید زیاد شود - صدا پخش شود - یوآی آپدیت شود اگر اسکریپت سکه مستقیماً سه کلاس مختلف را صدا بزند، هر تغییر کوچکی مساوی است با ویرایش چند جای متفاوت در کد 😵‍💫 با الگوی Observer فقط یک رویداد فراخوانی می‌شود و بقیه سیستم‌ها خودشـان «مشترک» آن رویداد هستند. نمونه‌ٔ ساده در یونیتی (C#) using UnityEngine; using System; public class GameEvents : MonoBehaviour { public static GameEvents Instance; public event Action<int> OnCoinCollected; void Awake() { Instance = this; } public void CoinCollected(int amount) { OnCoinCollected?.Invoke(amount); } } فرستنده‌ٔ رویداد (مثلاً روی Coin): public class Coin : MonoBehaviour { public int amount = 1; void OnTriggerEnter(Collider other) { GameEvents.Instance.CoinCollected(amount); Destroy(gameObject); } } دریافت‌کننده‌ها (Observerها): public class ScoreSystem : MonoBehaviour { int score; void OnEnable() { GameEvents.Instance.OnCoinCollected += HandleCoin; } void OnDisable() { GameEvents.Instance.OnCoinCollected -= HandleCoin; } void HandleCoin(int amount) { score += amount; } } همین الگو را می‌توان برای سیستم یوآی، افکت صوتی یا حتی آنالیتیکس هم استفاده کرد، بدون این‌که اسکریپت Coin درباره‌ٔ آن‌ها چیزی بداند 🎯 چند نکته‌ٔ عملی: - توی صحنه‌های بزرگ، به‌جای Singleton ساده، از ScriptableObject Event یا سیستم Event Bus تمیزتر استفاده می‌شود (ارجاع: "Game Programming Patterns" و داکیومنت یونیتی درباره‌ٔ ScriptableObject). - حتماً در OnDisable از رویدادها لغو عضویت شود تا Memory Leak یا خطای Null Reference در سوییچ صحنه پیش نیاید. برای مطالعه‌ٔ بیشتر: Game Programming Patterns - Observer Unity Learn از پروژه‌ٔ بعدی، سیستم رویداد گیم‌پلی را جدا طراحی کن؛ معماری بازی تمیزتر و قابل‌گسترش‌تر می‌شود 🚀 🔖 #GameDev #بازیسازی #Observer #Unity #CSharp #GameArchitecture #Events #CleanCode 👤 Developix 💎 Channel: @DevelopixGame
248
8
این کد کنترل شلیک تو بازی رو ببین، یه چیزی تو مدیریت Coroutineها و رویدادها بوی Memory Leak می‌ده 👀 مشکل این کجاست و تو یه پ
این کد کنترل شلیک تو بازی رو ببین، یه چیزی تو مدیریت Coroutineها و رویدادها بوی Memory Leak می‌ده 👀 مشکل این کجاست و تو یه پروژه واقعی چطور درستش می‌کنی؟ (فقط منطق رو بگو، لازم نیست حتما همون ساختار کلاس رو نگه داری) 🔖 #GameDev #بازیسازی 👤 Developix 💎 Channel: @DevelopixGame
316
9
🔥 پروژه: ‏LÖVE 2D فریم‌ورک دوبعدی لوا برای پروتوتایپ سریع بازی دوبعدی با Lua، فریم‌ورک LÖVE خیلی جمع‌وجور و خوش‌دست است 🎮 ر
🔥 پروژه: ‏LÖVE 2D فریم‌ورک دوبعدی لوا برای پروتوتایپ سریع بازی دوبعدی با Lua، فریم‌ورک LÖVE خیلی جمع‌وجور و خوش‌دست است 🎮 رندر 2D، ورودی، صدا، physics مبتنی‌بر Box2D و مدیریت پنجره را یک‌جا می‌دهد و روی ویندوز، لینوکس، macOS و حتی موبایل قابل اجراست. برای Game Jam، نمونه‌سازی مکانیک، یا آموزش مفاهیم پایه گیم‌لوپ عالی جواب می‌دهد. سورس و داک کاملش اینجاست: github.com/love2d/love ⭐️ 8,648 ستاره 🔖 #GameDev #بازیسازی #توسعه‌دهندگان_بازی #گیم_دولوپمنت #فریم‌ورک_بازی_دوبعدی 💎 @DevelopixGame
383
10
کتابخانه‌ی Cinemachine در موتور Unity عملاً تبدیل شده به استاندارد دوربین‌های هوشمند در بازی‌ها؛ بدون این‌که لازم باشد برای هر حرکت دوربین کلی کُد سفارشی بنویسی. 🎮📷 مشکل چی را حل می‌کند؟ دوربین تعقیب کاراکتر، کات‌سین‌ سینمایی، لرزش هنگام شلیک، تمرکز روی چند هدف… همه‌اش با کلی Camera Controller دست‌نویس درنمی‌آید. Cinemachine یک سیستم کامپوننت‌محور می‌دهد که این رفتارها را ترکیب کنی. ویژگی‌های مهم: • Virtual Camera برای هر نما (تعقیب، ثابت، اوربیت و…) • سیستم Priority و Blend برای کات و ترنزیشن نرم بین دوربین‌ها • تنظیم خودکار Framing روی کاراکتر/هدف‌ها • نویز و Shake آماده برای شلیک، انفجار، ضربه نمونه استفاده ساده در C#: // فرض: روی یک Virtual Camera کامپوننت CinemachineVirtualCamera داریم using Cinemachine; using UnityEngine; public class FollowPlayer : MonoBehaviour { public Transform player; void Start() { var vcam = GetComponent<CinemachineVirtualCamera>(); vcam.Follow = player; vcam.LookAt = player; } } برای شروع، پکیج را از Package Manager اضافه کن و چند Virtual Camera بساز؛ فقط با تغییر Priority می‌توانی بین نماها کات سینمایی بگیری. 🎬 مستندات رسمی: Docs GitHub امتحانش روی پروژه‌ی بعدی ارزشش را دارد؛ مخصوصاً اگر همیشه درگیر اسکریپت دوربین هستی. 😉 🔖 #GameDev #بازیسازی #Unity #Cinemachine #Camera #GameDev #یونیتی #دوربین #Gameplay 👤 Developix 💎 Channel: @DevelopixGame
408
11
💠 نسخه جدید انجین یونیتی (Unity) منتشر شده است 🔸 ارتقا از نسخه 6000.0.81f1 به 6000.3.22f1 🔹 لیست تغییرات این نسخه: 🔖 #uni
💠 نسخه جدید انجین یونیتی (Unity) منتشر شده است 🔸 ارتقا از نسخه 6000.0.81f1 به 6000.3.22f1 🔹 لیست تغییرات این نسخه: 🔖 #unity, #game, #release 💎 @DevelopixGame
342
12
💠 نسخه جدید انجین یونیتی (Unity) منتشر شده است 🔸 ارتقا از نسخه 6000.3.21f1 به 6000.0.81f1 🔹 لیست تغییرات این نسخه: 🔖 #uni
💠 نسخه جدید انجین یونیتی (Unity) منتشر شده است 🔸 ارتقا از نسخه 6000.3.21f1 به 6000.0.81f1 🔹 لیست تغییرات این نسخه: 🔖 #unity, #game, #release 💎 @DevelopixGame
389
13
در کد زیر (C# برای Unity) یک سیستم ساده رویداد برای وقتی که دشمن می‌میرد پیاده‌سازی شده است، اما در طول اجرای طولانی بازی باع
در کد زیر (C# برای Unity) یک سیستم ساده رویداد برای وقتی که دشمن می‌میرد پیاده‌سازی شده است، اما در طول اجرای طولانی بازی باعث Memory Leak و افت عملکرد می‌شود: public class Enemy : MonoBehaviour { public static event Action OnAnyEnemyDied; private void OnEnable() { OnAnyEnemyDied += HandleAnyEnemyDied; } private void OnDisable() { // عمداً خالی گذاشته شده } private void OnDestroy() { if (OnAnyEnemyDied != null) { OnAnyEnemyDied(); } } private void HandleAnyEnemyDied() { Debug.Log("Enemy heard another enemy died"); } } در این پیاده‌سازی چه چیزی باید اصلاح شود تا از Memory Leak و فراخوانی‌های ناخواسته رویداد در طول بازی جلوگیری شود؟ 🔖 #GameDev #بازیسازی 👤 Developix 💎 Channel: @DevelopixGame
327
14
💠 نسخه جدید انجین یونیتی (Unity) منتشر شده است 🔸 ارتقا از نسخه 6000.0.80f1 به 6000.3.21f1 🔹 لیست تغییرات این نسخه: 🔖 #uni
💠 نسخه جدید انجین یونیتی (Unity) منتشر شده است 🔸 ارتقا از نسخه 6000.0.80f1 به 6000.3.21f1 🔹 لیست تغییرات این نسخه: 🔖 #unity, #game, #release 💎 @DevelopixGame
269
15
با Migration Boost هاست‌ایران، برای مهاجرت به سرور ابری دوباره هزینه ترافیک نده! 🚀 با خرید اولین سرور ابری غیرساعتی از **هاس
با Migration Boost هاست‌ایران، برای مهاجرت به سرور ابری دوباره هزینه ترافیک نده! 🚀 با خرید اولین سرور ابری غیرساعتی از **هاست‌ایران**، بسته ترافیک هدیه مهاجرت به‌صورت خودکار برای سرویس شما فعال می‌شود: ✅ حداقل ۱۰۰ گیگابایت ترافیک هدیه مهاجرت ✅ افزایش حجم هدیه متناسب با ظرفیت دیسک اولیه ✅ ترافیک آپلود رایگان ✅ بدون محدودیت زمانی سرور ابری هاست‌ایران را راه‌اندازی کنید و بکاپ‌ها، فایل‌ها و پایگاه داده خود را بدون دغدغه هزینه‌های پنهان ترافیک منتقل کنید. 👇 مشاهده پلن‌های سرور ابری هاست‌ایران hostiran.club/Migration hostiran.club/Migration
298
16
در کد زیر حرکت کاراکتر بر اساس frame rate محاسبه شده و نه بر اساس delta time، که می‌تواند روی سیستم‌های مختلف باعث تفاوت سرعت
در کد زیر حرکت کاراکتر بر اساس frame rate محاسبه شده و نه بر اساس delta time، که می‌تواند روی سیستم‌های مختلف باعث تفاوت سرعت حرکت شود. سؤال: چه تغییری باید در منطق به‌روزرسانی سرعت/موقعیت داده شود تا سرعت حرکت کاراکتر مستقل از تعداد فریم و فقط وابسته به زمان واقعی (delta time) باشد؟ public class PlayerController : MonoBehaviour { public float speed = 5f; private Vector3 direction; void Update() { float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); direction = new Vector3(horizontal, 0f, vertical); // Anti Pattern: وابسته به frame rate transform.position += direction * speed; } } 🔖 #GameDev #بازیسازی 👤 Developix 💎 Channel: @DevelopixGame
351
17
💠 نسخه جدید انجین یونیتی (Unity) منتشر شده است 🔸 ارتقا از نسخه 6000.0.79f1 به 6000.3.20f1 🔹 لیست تغییرات این نسخه: 🔖 #uni
💠 نسخه جدید انجین یونیتی (Unity) منتشر شده است 🔸 ارتقا از نسخه 6000.0.79f1 به 6000.3.20f1 🔹 لیست تغییرات این نسخه: 🔖 #unity, #game, #release 💎 @DevelopixGame
302
18
💠 نسخه جدید نرم‌افزار بلندر (Blender) منتشر شده است 🔸 ارتقا از نسخه 5.1.2 به 5.2.0 🔖 #blender, #game, #release 💎 @Develop
💠 نسخه جدید نرم‌افزار بلندر (Blender) منتشر شده است 🔸 ارتقا از نسخه 5.1.2 به 5.2.0 🔖 #blender, #game, #release 💎 @DevelopixGame
277
19
💠 نسخه جدید انجین یونیتی (Unity) منتشر شده است 🔸 ارتقا از نسخه 6000.3.19f1 به 6000.0.79f1 🔹 لیست تغییرات این نسخه: - به‌رو
💠 نسخه جدید انجین یونیتی (Unity) منتشر شده است 🔸 ارتقا از نسخه 6000.3.19f1 به 6000.0.79f1 🔹 لیست تغییرات این نسخه: - به‌روزرسانی Gradle به ۹.۱ و AGP به ۹.۰ - رفع مشکل نسخه‌کد اشتباه در split APKهای اندروید - آپدیت بسته‌های خدمات آنلاین Unity (Cloud Code، Economy، Leaderboards و …) - بهبود مستندات و رفتار استریم مِیپ‌مپ‌ها در گرافیک - به‌روزرسانی Netcode و ابزارهای چندنفره برای پایداری بهتر - سایر رفع باگ‌ها و بهبودهای جزئی و غیره 🔖 #unity, #game, #release 💎 @DevelopixGame
325
20
در Godot اگر برای AI دنبال کردن پلیر و حرکت روی زمین‌های پیچیده می‌خواهی، کلاس NavigationAgent3D توی Godot 4 خیلی کمک می‌کند 🚀 این سیستم روی NavigationServer3D سوار است و مشکل pathfinding روی meshهای پیچیده، رمپ، پله و… را حل می‌کند، بدون این‌که خودت الگوریتم A* پیاده‌سازی کنی. چند نکته جذاب: • استفاده از navmesh اتوماتیک یا دستی • جلوگیری از گیر کردن AI به دیوارها و لبه‌ها • پشتیبانی از avoidance ساده برای برخورد نکردن Agentها به هم • کارکرد مستقیم در Inspector، بدون boilerplate زیاد نمونه‌کد ساده برای دنبال‌کردن پلیر: extends CharacterBody3D @onready var agent = $NavigationAgent3D @onready var player = $"../Player" func _physics_process(delta: float) -> void: agent.target_position = player.global_transform.origin var next_point = agent.get_next_path_position() var dir = (next_point - global_transform.origin).normalized() velocity = dir * 4.0 move_and_slide() مستندات رسمی Godot 4 در مورد Navigation و NavigationAgent3D: Navigation Docs امتحانش کن روی یک صحنه ساده دشمن/پلیر؛ خیلی سریع یک AI قابل قبول برای پروتوتایپ می‌گیری 😎 🔖 #GameDev #بازیسازی #Godot #Navigation #AI #GameDev #Pathfinding #Godot4 #NavigationAgent3D 👤 Developix 💎 Channel: @DevelopixGame
330