Runtime
مكوّنات الرسم وأخذ العينات ونسخ الخامات واللاعب والكاميرا والتحكم والواجهات.
يتيح PaintForge للاعب تلوين المجسمات والشخصيات، التقاط اللون المرئي، نسخ الانعكاس والانبعاث HDR، تعبئة الأهداف ومسحها، ونسخ مظهر التكستر بالكامل.
مكوّنات الرسم وأخذ العينات ونسخ الخامات واللاعب والكاميرا والتحكم والواجهات.
لاعب ونظام رسم جاهزان للاستخدام.
مشهد يعرض اللون والانعكاس والانبعاث ونسخ التكستر.
شيدرات وخامات أمثلة متوافقة.
Assets/PaintForge/Samples/Demo/Scenes/PaintForgeShowcase.unity لتجربة الميزات.مصمم لـUnity 6 وUniversal Render Pipeline. استخدم Volume المرفق لإظهار Bloom الخاص بانبعاث HDR.
اللاعب والأزرار القابلة للتعديل يستعملان حزمة Unity Input System.
رسم UV يحتاج UV0 صالحًا وMeshCollider دقيقًا. رسم Vertex يحتاج عدد رؤوس كافيًا.
استخدم الخامات المتوافقة المرفقة لإظهار اللون والانعكاس والانبعاث والتكستر المنسوخ.
شغّل Showcase وتأكد من التحكم.
اسحب Player Prefab إلى المشهد.
أضف Paint System واربط الكاميرا.
أضف PaintForgeUVPaintable وCollider مناسبًا.
| الزر | الوظيفة | الاستخدام |
|---|---|---|
| W A S D | الحركة | تحريك اللاعب. |
| Shift | الركض | استمر بالضغط أثناء الحركة. |
| Tab | Color Lab | فتح واجهة الرسم. |
| LMB | الرسم | تلوين الهدف. |
| RMB + Drag | حجم الفرشاة | تعديل نصف القطر. |
| Space | عينة حية | استمر بالضغط لالتقاط اللون والانعكاس والانبعاث. |
| I | نسخ المظهر | نسخ المظهر الكامل وتطبيقه مباشرة. |
| F | Fill | تعبئة الهدف. |
| C | Clear | مسح الهدف. |
| 6 / 7 / 8 | الفرشاة | Sharp / Soft / Blend. |
| F1 | المساعدة | إظهار الدليل داخل اللعبة. |
| F2 | الإعدادات | تغيير التحكم وإعدادات اللاعب. |
استخدم UV Render Texture للتفاصيل والجدران. الشخصيات المتحركة مدعومة، وجودة Vertex Color تعتمد على كثافة رؤوس Mesh.
اضغط Space فوق المصدر لتحميل لونه المرئي إلى الفرشاة.
تستخدم ضربة الرسم أو Fill التالية قيمة السطح الملتقطة.
تُلتقط الشدة ولون HDR معًا للحفاظ على التوهج.
وجّه المؤشر إلى المصدر واضغط I لنسخ مظهره.
| النظام | أفضل استخدام | المتطلبات |
|---|---|---|
| UVRenderTexture | التفاصيل والجدران والمجسمات القريبة. | UV0 وMeshCollider وخامة متوافقة. |
| VertexColor | الشخصيات وMeshes الكثيفة. | عدد رؤوس كافٍ وShader متوافق. |
| MaterialTint | تغيير لون الجسم بالكامل. | خاصية لون مدعومة. |
ابدأ بدقة 1024 لنظام UV، وخفّضها للأهداف البعيدة أو الهاتف.
عدّل المشي والركض والتسارع والقفز والجاذبية من Inspector.
اربط اللاعب وعدّل Orbit وZoom والحساسية والمسافة.
أضف PaintForgeUVPaintable إلى الشكل البصري ليستقبل الرسم والخواص.
عدّل Defaults في PaintForgePlayerControls، ويمكن للاعب تخصيصها من F2.
Paint Camera للـRaycast، وRay Distance لمسافة الكشف، وBrush Mode/Active Color لإعداد الفرشاة، وStroke Interval للفاصل بين الضربات، وCharacter Paintable كهدف اللاعب الاحتياطي.
Backend يحدد طريقة الرسم. Allow Style Copy يسمح بنسخ المظهر. Paint Mode وTexture Copy Mode يشغلان الميزات. Texture Copy Priority يعطي أولوية لنسخ المظهر. Resolution يحدد دقة الرسم، وClear Color حالة المسح، وPaint Composite Material الخامة التي تعرض النتيجة.
اربط Paint System، واختر Open On Start، وحدد Wheel Size لعجلة الألوان.
Camera Transform وسرعات الحركة والتسارع والتحكم في الهواء ونعومة الدوران والقفز والجاذبية وخيارات إدخال الكيبورد.
Target، المسافة والارتفاع، Orbit والحساسية وحدود Pitch، Zoom، وCamera Collision.
الأزرار الافتراضية للحركة والواجهات والرسم والفرشاة والكاميرا، مع حساسية النظر وZoom وخيار Invert Y.
جميع الأنواع الأساسية داخل namespace باسم PaintForge.
BrushSize / ActiveColor / BrushModeقراءة حالة الفرشاة الحالية.
BrushOpacity / BrushHardness / EmissionStrengthقراءة الشفافية والصلابة والانبعاث.
SetColor(Color)تغيير لون الفرشاة.
SetBrushMode(mode)اختيار Sharp أو Soft أو Blend.
SetBrushSize(float)تعيين الحجم بين 0 و1.
SetSurfaceResponse(reflection, emission)تعيين خواص الضربات القادمة.
StampHovered(Vector2)الرسم عند إحداثي شاشة.
FillHovered(Vector2)تعبئة الهدف تحت الإحداثي.
ClearHovered(Vector2)مسح الهدف.
SampleColorHovered(Vector2)أخذ عينة لون.
CopyColorAndSurfaceHovered(Vector2)أخذ اللون والانعكاس والانبعاث.
CopyStyleHovered(Vector2)نسخ المظهر الكامل المدعوم.
TryGetPaintHit(...)يعيد true مع Paintable وRaycastHit عند إصابة هدف صالح.
PaintTexture / Backendقراءة RenderTexture والنظام المستخدم.
PaintModeEnabled / TextureCopyModeEnabledقراءة حالات الميزات.
SetSurfaceResponse(...)تعيين Metallic وSmoothness وReflection وEmission.
SetStrokeEmissionColor(Color)تعيين لون HDR للضربات.
CopyStyleFrom(Renderer, ...)نسخ الخصائص المدعومة من Renderer.
SetFlatCopiedAppearance(...)تطبيق لون وانعكاس وانبعاث دون تكستر.
Stamp(Vector2 uv, Color, ...)ضربة UV منخفضة المستوى.
StampVertex(Vector3, Color, ...)ضربة World Space لنظام VertexColor.
Fill(Color, reflection, emission)تعبئة الهدف بالكامل.
Clear()إعادة حالة المسح.
using PaintForge;
using UnityEngine;
using UnityEngine.InputSystem;
public class PaintAbility : MonoBehaviour
{
[SerializeField] PaintForgeUVPaintSystem system;
public void SelectGlow()
{
system.SetColor(Color.red);
system.SetBrushMode(PaintForgeBrushMode.Soft);
system.SetBrushSize(0.25f);
system.SetSurfaceResponse(0.15f, 2f);
}
public void FillCursor() => system.FillHovered(Mouse.current.position.ReadValue());
}GetKey / SetKeyقراءة زر Action أو حفظ زر جديد.
IsPressed / WasPressedThisFrameفحص الضغط المستمر أو لحظة الضغط.
LookSensitivity / ZoomSensitivity / InvertYخصائص كاميرا محفوظة.
ResetDefaults()مسح كل تخصيصات المستخدم.
DisplayName(action)اسم Action صالح للعرض.
RegisterInspectorDefaults(...)تسجيل Defaults الخاصة بالـPrefab.
نظام اختياري لتغيير لون Renderer كاملًا مع Palette وأخذ عينة وFill وUndo وClear.
ActiveColor / BrushSizeالقيم الحالية.
SelectPalette(int)اختيار لون من Palette.
SetActiveColor(Color)تعيين اللون.
SetBrushSize(float)تعيين الحجم بين 0.05 و1.
PaintAtScreenPosition(Vector2)تلوين الهدف عند موضع الشاشة.
FillHovered / SampleHoveredتعبئة الهدف أو أخذ لونه.
Undo()التراجع عن آخر عملية.
ClearAllPaint()إعادة كل الأهداف.
SetPaintColor / ResetPaintالتحكم في OfflinePaintable منفرد.
افتح Color Lab بـTab، وتأكد من وجود PaintForgeUVPaintable وCollider، وافحص تعيين الزر في F2.
استخدم MeshCollider وافحص UV0 للتداخل والتمدد.
تأكد أن المؤشر يصيب Renderer الصحيح وأن MeshCollider يعيد Texture Coordinate صحيحًا.
استخدم Shader متوافقًا وفعّل Bloom في URP Volume.
افحص Base Material وTint وShader، ولا تجعل عناصر المعمارية Paintable إن لم تكن أهدافًا.
أصاب المؤشر Collider غير قابل للرسم. أضف Paintable وMeshCollider إن كان الجسم هدفًا.
ابدأ بمشهد Showcase ثم استخدم Prefabs الجاهزة في مشروعك.