PFPaintForge دليل الاستخدام
English
رسم الخامات أثناء التشغيل في UNITY

ارسم اللون.
وانسخ خواص الخامة.

يتيح PaintForge للاعب تلوين المجسمات والشخصيات، التقاط اللون المرئي، نسخ الانعكاس والانبعاث HDR، تعبئة الأهداف ومسحها، ونسخ مظهر التكستر بالكامل.

3أنظمة رسم
HDRانبعاث
Meshثابت ومتحرك
Runtimeتحكم اللاعب

ماذا تتضمن؟

Runtime

مكوّنات الرسم وأخذ العينات ونسخ الخامات واللاعب والكاميرا والتحكم والواجهات.

Prefabs

لاعب ونظام رسم جاهزان للاستخدام.

Demo

مشهد يعرض اللون والانعكاس والانبعاث ونسخ التكستر.

Shaders & Materials

شيدرات وخامات أمثلة متوافقة.

مشهد Demoافتح Assets/PaintForge/Samples/Demo/Scenes/PaintForgeShowcase.unity لتجربة الميزات.

قبل التركيب

Unity والرندر

مصمم لـUnity 6 وUniversal Render Pipeline. استخدم Volume المرفق لإظهار Bloom الخاص بانبعاث HDR.

Input System

اللاعب والأزرار القابلة للتعديل يستعملان حزمة Unity Input System.

المجسمات

رسم UV يحتاج UV0 صالحًا وMeshCollider دقيقًا. رسم Vertex يحتاج عدد رؤوس كافيًا.

الخامات

استخدم الخامات المتوافقة المرفقة لإظهار اللون والانعكاس والانبعاث والتكستر المنسوخ.

إضافة PaintForge

1

اختبر Demo

شغّل Showcase وتأكد من التحكم.

2

أضف اللاعب

اسحب Player Prefab إلى المشهد.

3

أضف النظام

أضف Paint System واربط الكاميرا.

4

جهّز الأهداف

أضف PaintForgeUVPaintable وCollider مناسبًا.

الأزرار الافتراضية

الزرالوظيفةالاستخدام
W A S Dالحركةتحريك اللاعب.
Shiftالركضاستمر بالضغط أثناء الحركة.
TabColor Labفتح واجهة الرسم.
LMBالرسمتلوين الهدف.
RMB + Dragحجم الفرشاةتعديل نصف القطر.
Spaceعينة حيةاستمر بالضغط لالتقاط اللون والانعكاس والانبعاث.
Iنسخ المظهرنسخ المظهر الكامل وتطبيقه مباشرة.
FFillتعبئة الهدف.
CClearمسح الهدف.
6 / 7 / 8الفرشاةSharp / Soft / Blend.
F1المساعدةإظهار الدليل داخل اللعبة.
F2الإعداداتتغيير التحكم وإعدادات اللاعب.
Space وISpace يحدّث الفرشاة أثناء الضغط ثم تطبقها بالرسم أو Fill. زر I يطبق المظهر الكامل فورًا.

جعل الجسم قابلًا للرسم

استخدم UV Render Texture للتفاصيل والجدران. الشخصيات المتحركة مدعومة، وجودة Vertex Color تعتمد على كثافة رؤوس Mesh.

نسخ اللون وخواص الخامة

01

اللون

اضغط Space فوق المصدر لتحميل لونه المرئي إلى الفرشاة.

02

الانعكاس

تستخدم ضربة الرسم أو Fill التالية قيمة السطح الملتقطة.

03

HDR Emission

تُلتقط الشدة ولون HDR معًا للحفاظ على التوهج.

04

التكستر الكامل

وجّه المؤشر إلى المصدر واضغط I لنسخ مظهره.

اختيار Backend

النظامأفضل استخدامالمتطلبات
UVRenderTextureالتفاصيل والجدران والمجسمات القريبة.UV0 وMeshCollider وخامة متوافقة.
VertexColorالشخصيات وMeshes الكثيفة.عدد رؤوس كافٍ وShader متوافق.
MaterialTintتغيير لون الجسم بالكامل.خاصية لون مدعومة.

ابدأ بدقة 1024 لنظام UV، وخفّضها للأهداف البعيدة أو الهاتف.

اللاعب والكاميرا والتخصيص

Controller

عدّل المشي والركض والتسارع والقفز والجاذبية من Inspector.

Camera

اربط اللاعب وعدّل Orbit وZoom والحساسية والمسافة.

Paintable Player

أضف PaintForgeUVPaintable إلى الشكل البصري ليستقبل الرسم والخواص.

Control Settings

عدّل Defaults في PaintForgePlayerControls، ويمكن للاعب تخصيصها من F2.

الإعدادات المحفوظةاختيارات اللعبة لها أولوية على Inspector. امسح Saved User Overrides عند اختبار Defaults جديدة.

شرح المكوّنات والحقول

PaintForgeUVPaintSystem

Paint Camera للـRaycast، وRay Distance لمسافة الكشف، وBrush Mode/Active Color لإعداد الفرشاة، وStroke Interval للفاصل بين الضربات، وCharacter Paintable كهدف اللاعب الاحتياطي.

PaintForgeUVPaintable

Backend يحدد طريقة الرسم. Allow Style Copy يسمح بنسخ المظهر. Paint Mode وTexture Copy Mode يشغلان الميزات. Texture Copy Priority يعطي أولوية لنسخ المظهر. Resolution يحدد دقة الرسم، وClear Color حالة المسح، وPaint Composite Material الخامة التي تعرض النتيجة.

PaintForgeUVPaintUI

اربط Paint System، واختر Open On Start، وحدد Wheel Size لعجلة الألوان.

Third Person Controller

Camera Transform وسرعات الحركة والتسارع والتحكم في الهواء ونعومة الدوران والقفز والجاذبية وخيارات إدخال الكيبورد.

Third Person Camera

Target، المسافة والارتفاع، Orbit والحساسية وحدود Pitch، Zoom، وCamera Collision.

PaintForgePlayerControls

الأزرار الافتراضية للحركة والواجهات والرسم والفرشاة والكاميرا، مع حساسية النظر وZoom وخيار Invert Y.

مرجع البرمجة الكامل

جميع الأنواع الأساسية داخل namespace باسم PaintForge.

PaintForgeUVPaintSystem

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 عند إصابة هدف صالح.

PaintForgeUVPaintable

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()

إعادة حالة المسح.

C# · مثال تحكم
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());
}

PaintForgeInputSettings

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 منفرد.

أسئلة شائعة

F لا يعبئ الهدف

افتح Color Lab بـTab، وتأكد من وجود PaintForgeUVPaintable وCollider، وافحص تعيين الزر في F2.

الرسم ممدود أو على وجه خاطئ

استخدم MeshCollider وافحص UV0 للتداخل والتمدد.

عينة التكستر سوداء

تأكد أن المؤشر يصيب Renderer الصحيح وأن MeshCollider يعيد Texture Coordinate صحيحًا.

الانبعاث المرسوم ضعيف

استخدم Shader متوافقًا وفعّل Bloom في URP Volume.

الجسم يصبح أسود عند Play

افحص Base Material وTint وShader، ولا تجعل عناصر المعمارية Paintable إن لم تكن أهدافًا.

No valid paintable MeshCollider

أصاب المؤشر Collider غير قابل للرسم. أضف Paintable وMeshCollider إن كان الجسم هدفًا.

PAINTFORGE

جاهز للرسم.

ابدأ بمشهد Showcase ثم استخدم Prefabs الجاهزة في مشروعك.

العودة للأعلى ↑
تم النسخ