-
رد: موضوع الطلبات و المساعدات Dark Basics
تفضل ياعزيزي ارجو ان يكون هذا مطلبك :)
كود:
Rem Project: rotate
Rem Created: 1/18/2009 8:54:30 PM
Rem ***** Main Source File *****
rem create some spheres
rem create a few spheres
autocam off
position camera 0,0,-200
global dim distance(2) ` rem these are the distances (or radius) from the middle of one sphere to the one it is rotating around
distance(1) = 100 `this is the distance of big middle sphere to the outside sphere
distance(2) = 25 `distance from the outside sphere to its satellite.
rem make 3 spheres of increasing size for the demo
FOR i = 1 to 3
make object sphere i,i*10,10,10
next i
do
xp#=object position x(3)
yp#=object position y(3)
zp#=object position z(3)
rem rotate the second sphere around the stationary sphere
inc Angle#
x1# = COS(Angle#)*distance(1)+xp# `the x position is defined by the cos of your angle times how far away from the other object it is
z1# = SIN(Angle#)*distance(1)+zp#`the z position is defined by the sin of your angle times how far away from the other object it is
y1# = COS(Angle#)*distance(1)/60+yp#
position object 2, x1#, y1#, z1#
if upkey()=1 then move object 3,1
if downkey()=1 then move object 3,-1
if rightkey()=1 then move object right 3,1
if leftkey()=1 then move object left 3,1
if lower$(inkey$()) = "w" then move object up 3,1
if lower$(inkey$()) = "s" then move object down 3,1
rem rotate the third sphere (the satellite sphere) around the second sphere
inc angle2#,2
x2# = x1# + COS(Angle2#)*distance(2)+xp#
z2# = z1# + SIN(Angle2#)*distance(2)+zp#
position object 1, x2#, 0, z2#
loop
-
رد: موضوع الطلبات و المساعدات Dark Basics
اشكرك يا عزيزي
هو ده بالظبط
انا مش عارف اشكرك ازاي .. انا تقلت عليك كتير .. بس انت كده حلتلي مشكلة كبيرة جدا
اشكرك جدا جدا جدا جدا يا عزيزي ايفل :)
-
رد: موضوع الطلبات و المساعدات Dark Basics
العفو اخي العزيز... لاماتقلتش ولا حاجة بالعكس :)
ولو في اي سؤال كمان تفضل أنا في الخدمة ^^
ومرحبا بعودتك مرة اخرى ارجو ان تكون عودة قوية
كما آمل ان يعود باقي الاخوة والاخ the source لوفاكرة ! ..اكيد فاكرة ماشاء الله ^^
تحياتي
-
رد: موضوع الطلبات و المساعدات Dark Basics
طبعا فاكر نجد .. ولسه والله كنت هسألك على الناس دول كلهم فين
نجد وعمار وفيصل وسامي وكل الناس الحلوة دي .. راحو فين ومش باينين ليه
-
رد: موضوع الطلبات و المساعدات Dark Basics
والله الحقيقة منتدى صناعة الالعاب في الاونه الاخيرة بدأ يخسر كثير من الاعضاء يمكن من نهايات 2008 تدريجياً
حتى صار المنتدى شبه ميت وزي مانت شايف الحال :( لافي اعضاء نشيطين ولا في حماس ولا مواضيع جديدة :(
البركة فينا نحن القلة نسقي المنتدى من جديد ^^ ولازم نعيد مجده :) مثل ماكان زمان
-
رد: موضوع الطلبات و المساعدات Dark Basics
ان شاء الله ربنا يقدرنا على العمل بجد وتقديم شيء ذو قيمة
مشكلة جديدة :
تشغيل عرض فيديو
مع بداية التحميل يتم تشغيل عرض فيديو ولكن الصوت فقط هو الذي يعمل ومفيش صورة
الفيديو بصيغة AVI
ياترى المشكلة في ايه ؟
-
رد: موضوع الطلبات و المساعدات Dark Basics
انت متأكد انك كاتبه بهذا الشكل ؟؟
كود:
load animation "anim.avi",1
play animation 1
wait key
الكود شغال عندي .. اذا ماشتغل عندك يمكن لازم تحمل كودك codec حق الفيديو ؟؟
-
رد: موضوع الطلبات و المساعدات Dark Basics
اشكرك يا عزيزي
على العموم انا سيبت المشكلة دي دلوقتي لحد ما الاقي حل .. مع اني مش بحب اعدي مشكلة الا لما احلها الاول
ما علينا
في حاجة مش عارف هتكون مرت عليك قبل كده ولا لا .. بس انا بعملها من زمان
انا مش بعرف اعمل شخصيات نهائي .. لاني مش بعرف اشتغل في المودلينج
علشان كده كنت ومازلت باخد الشخصيات من برنامج FPSc واستخدمها
طبعا بجرب الفريمز بتاعتها واظبطها واشتغل بيها
الموضوع كان ماشي معايا تمام
لما احب اخلي البطل يمسك سلاح بستخدم الكود :كانت زمان بتظبط معايا كويس جدا .. وتقريبا قيمة الـ Limb في مجسمات الـ FPSc كلها واحده
لكن دلوقتي مش بتيجي مظبوطة قوي .. يعني السلاح ممكن يكون مخترق كتفه .. او مخترق راسه .. حاجات زي كده
انا رغيت كتير
لو انت استخدمت الاوبجكتز دي قبل كده في الدارك بيسك هتبقى عارف حل المشكلة تقريبا
:)
-
رد: موضوع الطلبات و المساعدات Dark Basics
لو اعطيتني صورة عن الناتج كان ممكن وضحتلي الصورة
لكن على حسب فهمي لموضوعك ان السلاح بيخترق الكتف او اي كان وانت تبغاه يكون البطل ماسك السلاح بيده على نفس موقع اليد
طبعا الكود اللي انت تستخدمة
Glue object to limb هو يعمل عملية الصاق المجسم للمب معين واكيد انت عارف هذا الشيء
لكن هناك نقطة لازم تركز فيها هي ان عملية الالصاق تكون في نقطة الاصل يعني ممكن الكاركتر اللي انت تستخدمه او السلاح مش مضبوط له نقطة الاصل
عملت لك برنامج يحرك لك موقع اللمب تحركه للمكان اللي تبغاه
بعدين تنسخ الاحداثيت اللي ظهرت وتكتبها كالتالي
offset limb objID,LimbID,x#,y#,z#
حاول فيها حتحلها ان شاء الله
كود:
make object box 1,3,10,3
make object box 2,2,6,2
position object 2,5,5,5
glue object to limb 2,1,0
do
if upkey()=1 then move object 1,.2
if downkey()=1 then move object 1,-.2
if leftkey()=1 then move object left 1,.2
if rightkey()=1 then move object right 1,.2
if lower$(inkey$()) = "d" then inc x#,.2
if lower$(inkey$()) = "a" then dec x#,.2
if lower$(inkey$()) = "w" then inc y#,.2
if lower$(inkey$()) = "s" then dec y#,.2
if lower$(inkey$()) = "r" then inc z#,.2
if lower$(inkey$()) = "f" then dec z#,.2
offset limb 2,0,x#,y#,z#
set cursor 0,0
print ""; x# ; " " ; y#
print ""; limb position x(2,0),limb position y(2,0),limb position z(2,0)
`Control Camera
position camera 0,0,0
if mouseclick()=0
xrotate camera camera angle x()-mousemovey()*0.25
yrotate camera camera angle y()+mousemovex()*0.25
if camera angle x()>80 then xrotate camera 80
if camera angle x()<-60 then xrotate camera -60
endif
if mouseclick()>0 then CamDis#=CamDis#-mousemovey()*0.25
CamDis#=CamDis#+mousemovez()*0.25
if CamDis#>-20 then CamDis#=-20
if CamDis#<-300 then CamDis#=-300
move camera CamDis#
if camera position y()<-60 then position camera camera position x(),-60,camera position z()
mousemovex()=0
mousemovey()=0
sync
loop
ملاحظة تأكد من الايدي حق اللمب اللي عاوز تخلي موقع السلاح فيه
-
رد: موضوع الطلبات و المساعدات Dark Basics
الاحداثيات اللي لازم تكتبها تحصلها في الكود التالي:
print ""; limb position x(2,0),limb position y(2,0),limb position z(2,0)
-
رد: موضوع الطلبات و المساعدات Dark Basics
كالعادة مبدع وفنان ومش عارف اشكرك ازاي
هي دي بالظبط
انا حاسس انك بتقرا افكاري وتجيب الحاجة اللي انا عاوزها بالظبط
اشكرك جدا جدا جدا جدا
-----
بس الغريب في الموضوع ان Offset limb دي عمري ما استخدمتها قبل كده ومع ذلك كان بينفع الربط بين Objects عن طريق Limb
بس على العموم الف شكر ليك يا اخي العزيز :)
-
رد: موضوع الطلبات و المساعدات Dark Basics
العفو وهذا من حسن خلقك ^^ تسعدني مساعدتك وارجو ان اكون ساعدتك بالشكل المطلوب :)
الـ offset limb
مش عملية الصاق ولاشيء
لكل اوبجكت له نقطة احداثياتها 0و0و0 بغض النظر عن موقع المجسمات اللتي يشمله المجسم فلو كانت نقطة الاصل للباب مثلا هي 0و0و0 عند اعطائه امر التدوير سيدور الباب من المنتصف وليس من الجانب
لكن عند وضع نقطة الاصل 0و-5و0 فسيدور الباب بشكل واقعي كان احد فتحه ودخل الغرفة
نفش الكود لتوضيح النقطة لكن عند ضغط زر space يدور الاوبجكت
كود:
make object box 1,3,10,3
make object box 2,2,6,2
position object 2,5,5,5
glue object to limb 2,1,0
do
if upkey()=1 then move object 1,.2
if downkey()=1 then move object 1,-.2
if leftkey()=1 then move object left 1,.2
if rightkey()=1 then move object right 1,.2
if lower$(inkey$()) = "d" then inc x#,.2
if lower$(inkey$()) = "a" then dec x#,.2
if lower$(inkey$()) = "w" then inc y#,.2
if lower$(inkey$()) = "s" then dec y#,.2
if lower$(inkey$()) = "r" then inc z#,.2
if lower$(inkey$()) = "f" then dec z#,.2
offset limb 2,0,x#,y#,z#
set cursor 0,0
print ""; x# ; " " ; y#
print ""; limb position x(2,0),limb position y(2,0),limb position z(2,0)
if spacekey() then turn object left 2,1
`Control Camera
position camera 0,0,0
if mouseclick()=0
xrotate camera camera angle x()-mousemovey()*0.25
yrotate camera camera angle y()+mousemovex()*0.25
if camera angle x()>80 then xrotate camera 80
if camera angle x()<-60 then xrotate camera -60
endif
if mouseclick()>0 then CamDis#=CamDis#-mousemovey()*0.25
CamDis#=CamDis#+mousemovez()*0.25
if CamDis#>-20 then CamDis#=-20
if CamDis#<-300 then CamDis#=-300
move camera CamDis#
if camera position y()<-60 then position camera camera position x(),-60,camera position z()
mousemovex()=0
mousemovey()=0
sync
loop
قبل كل شيء شغل البرنامج واضغط space وانظر كيف يدور الاوبجكت ستجدو يدور دوران عادي حول نفسه
لكن غير القيم بالضغط على الازرار w-a-s-d-r-f
واضغط space وانظر الى النتيجة ستجده يدور حول نقطة ماتبعد عنه سواءاً x or y or z
ارجو ان تكون وضحت الصورة ^__^
-
رد: موضوع الطلبات و المساعدات Dark Basics
اشكرك يا عزيزي
الكود افادني جدا في حاجات كتير
يعني فتحلي مجالات كتير للعمل عليها
:)
-
رد: موضوع الطلبات و المساعدات Dark Basics
السلام عليكم اخي العزيز
مشكلة مش عارف حلها من زمان قوي
البطئ
وضعت العالم والبطل والاسلحة والاعداء وكل حاجة
لحد ما عملت حلقة تكرار For .. next علشان اعمل ذكاء صناعي .. ان العدو يبدأ الهجوم لما تصل المسافة بينه وبين البطل الى مسافة معينة
عملت مصفوفة وحلقتين تكرار داخل بعض
اللعبة بقت بطيئة جدا
ياترى في حل تاني علشان اعمل الذكاء الصناعي واشيل البطئ ؟
-
رد: موضوع الطلبات و المساعدات Dark Basics
والله ياعزيزي ماعندي فكرة حقيقةً لكن ممكن اعطيك بعض النصائح لتجنب مشكلتك
1) تأكد ان عملية المزامنة قبل كل شيء (طبعا بعد تعريف الشاشة)
sync on
sync rate 0
2) لاتستخدم كود hide object
3) في تحميل المجسمات ينصح باستخدام صيغة dbo وليس .x لانه عند تحميل صيغة x فان الدارك بيسيك يقوم بتحويله اولا الى dbo قبل تحميله في الذاكرة
يمكن استخدام كود
make mesh from object meshnum,objnum
save mesh "meshname",meshnum
delete object objnum
if file exist ("meshname")=1 then delete file "meshname"
load mesh "meshname(.dbo)",meshid `or "load object"
تأكد انك تستخدم كارت شاشة جيد ورام جيد ولاتكثر من المضلعات ..ايضاً لاتنسى حجم التيكستشرز
ممكن تبحث في موقع thegamecreators
تحت مكتوب Google Forum Search
http://forum.thegamecreators.com/
اكتب مشكلتك واعمل بحث ان شاء الله تحصل لها حل
-
رد: موضوع الطلبات و المساعدات Dark Basics
اشكرك يا عزيزي على المحاولة
لكن انا اكتشفت ان المشكلة في حلقات التكرار For .. next المتداخلة
شيلتها واضطريت اعمل سلوك الاعداء يدويا .. شيء متعب طبعا .. بس لما عملته لقيت الموضوع مشي عادي .. والبطئ لم يظهر بالصورة البشعة الاولى
بس هحاول اكتشف طريقة تانية تكون مريحة وسريعة في نفس الوقت :)
-
رد: موضوع الطلبات و المساعدات Dark Basics
هل for next داخل do ام خارجها ؟؟
-
رد: موضوع الطلبات و المساعدات Dark Basics
داخل do .. وبداخلها for .. next اخرى
يعني مثلا
كود:
do
for a = 1 to 10
for b = 11 to 20
next b
next a
loop
-
رد: موضوع الطلبات و المساعدات Dark Basics
غريبة !! مع اني جربت الـ for .. next على 5000 مكعب وماحصل بطئ ولاشيء وانا استخدم لابتوب ذو مواصفات عادية
انا حاشوف لك المشكلة بكرة ان شاء الله في موقع الدارك بيسيك لانه الان هو مغلق
Parse error: syntax error, unexpected T_IF in C:\apollo\public_html\apollo\forum.php on line 208
-
رد: موضوع الطلبات و المساعدات Dark Basics
مع الاسف اخي امير لم اجد حل
عاد الله يعينك تسجل في منتداهم واسألهم عن مشكلتك ويستحسن انك تعطيهم الكود
-
رد: موضوع الطلبات و المساعدات Dark Basics
اكتشفت احد اسباب البطئ
كثرة Ink في الـ loop تجعل اللعبة ليست بالسرعة المطلوبة
وانا بحاول اكتشف ايه اسباب البطئ اكتشفت السبب ده وقولت اعرضه للفايدة
والله اعلم
ومازالت المحاولات مستمرة :)
-
رد: موضوع الطلبات و المساعدات Dark Basics
مشكلة
هي ليست مشكلة وانما شيء اريد ان اتعلمه ولم استطع ان احصل عليه بمفردي
تعلم الاضائة .. كيف يمكن ان اعمل اضائة في مكان معين .. وكيف يمكن ان اعمل اضائة مع البطل
كيفية التعامل مع الـ Vector
وايضا اقتراحات لعمل دم بالـ Particles
عزيزي ايفل : لا اريد اكواد جاهزة وانما التعلم :)
-
رد: موضوع الطلبات و المساعدات Dark Basics
آسف على الرد المتأخر
بالنسبة للاضاءة هناك الاضاءة التقليدية مثل make light والاضائة الاحترافية طبعا مع الشيدرز واعطيتك رابط لموقع افولفد اللي يصنع الشيدرات هناك عدة خامات ممتازة جداً تعطي واقعية وهناك امثلة كثيرة على الاضاءة..ايضا في الموقع هناك حزمة للاضاءة الاحترافية يمكنك تجربتها..
http://www.evolved-software.com/shaders/bumpmapping
اما بالنسبة للفيكتورز فاي فيكتورز تقصد بالضبط ؟؟
اما البارتكلز فلم استخدمه مع الاسف
-
رد: موضوع الطلبات و المساعدات Dark Basics
اشكرك اخي العزيز
انا بتكلم عن عمل فلاش لايت .. في مثال في الموقع اللي انت حاطه عن الفلاش لايت وانا نزلته لكن للاسف مفيش شرح
وانا مش فاهم الكود ماشي ازاي
ياريت تشرحلي ازاي اتعامل مع الاضائة يا عزيزي :)
-
رد: موضوع الطلبات و المساعدات Dark Basics
اخي العزيز امير... لاداعي لفهم السورس 100% فهو للاستخدام ((الجاهز)) فقط قم بتغيير بعض القيم لتتناسب مع البيئة في مشروعك
اما مسألة الشرح فيمكنك الضغط بالزر F1 على الكود ثم ستجد الشرح مع الوصف ومثال بسيط... انا لم استخدم الفلاش لايت لذا اعذرني لانني لا افقه فيه شيئاً
لكن كنصيحه اذا كنت تريد فلاش لايت يمكنك استخدام 2D Shadow Mapping فهو يدعم الظل لكن المشكلة انه لايدعم الا مصدر ضوء واحد :
http://www.evolved-software.com/shaders/shadowing
هناك لعبة لـ Mike Inel قام بعمل مثل هذه الميزة
http://www.youtube.com/watch?v=pfVF3_E5lTo
اما بالنسبة للفيكتورز فالبعض منها خاص بقيم الشيدر FX كي تفهمها لابد ان يكون لديك برنامج تشغيل الشيدرز مثل fx composer او dark shader
وان اتيحت لي الفرصة سأقوم بدراسة الديمو واضع لك شرح له ان شاء الله
-
1 مرفق
رد: موضوع الطلبات و المساعدات Dark Basics
ملف مرفق 350922
طب ايه حل المشكلة دي
بتظهر لما بعمل #include لملف dba
والاسم Lm_SetupData ده اسم function في الملف dba
هي طريقة من طرق عمل الاضائة بس مش عارف اجربها من الاساس لوجود هذا الخطئ
-
رد: موضوع الطلبات و المساعدات Dark Basics
قمت بتعديل الكود لعمل فلاش لايت في موقع اللاعب والتدوير بالماوس للمثال Shadow mapping
كود:
`====================================================
` Depth Shadow Mapping
`====================================================
` By EVOLVED
` www.evolved-software.com
`====================================================
`Setup Display
load dll "user32.dll",1
Sw=call dll(1,"GetSystemMetrics",0)
Sh=call dll(1,"GetSystemMetrics",1)
delete dll 1
set display mode Sw,Sh,32,1
sync on : sync rate 0
hide mouse
`Set Text
set text font "Verdana"
set text size 15
set text to bold
ink rgb(200,200,0),0
`Setup Camera
backdrop on
color backdrop rgb(128,128,128)
autocam off
position camera 0,0,-150
set camera fov 85
xrotate camera 30
CamDis#=-100
`Load Textures
load image "Media/rockwall.dds",1 : image=1
load image "Media/rockwall_n.dds",2
load image "Media/spotlight.bmp",3
load image "Media/floor.dds",5
load image "Media/floor_n.dds",6
make camera 1
set camera to image 1,4,512,512
set camera fov 1,60
set camera aspect 1,1.1
backdrop off 1
`Create Object
load effect "FX/ShadowMapping.fx",1,0
load object "Media/t-pot.x",1 : object=1
scale object 1,4500,4500,4500
scale object texture 1,0,4,3
texture object 1,0,1
texture object 1,1,2
texture object 1,2,3
texture object 1,3,4
set object effect 1,1
`Create floor
make object box 2,500,1,500
position object 2,0,-65,0
texture object 2,0,5
texture object 2,1,6
texture object 2,2,3
texture object 2,3,4
scale object texture 2,0,5,5
set object effect 2,1
`Light vectors
LX#=-156:LY#=200:LZ#=-126
LaX#=56:LaY#=83:LaZ#=0
Null=make matrix4(1)
Null=make matrix4(2)
Null=make matrix4(3)
Null=make vector4(6)
make object cube 4,10
hide object 1
`Start loop
do
if lower$(inkey$()) = "w" then move object 4,1
if lower$(inkey$()) = "s" then move object 4,-1
if lower$(inkey$()) = "d" then move object right 4,1
if lower$(inkey$()) = "a" then move object left 4,1
xrotate object 4,object angle x(4)+mousemovey()*0.25
yrotate object 4,object angle y(4)+mousemovex()*0.25
`Control Camera
position camera 0,0,0
if mouseclick()=0
` xrotate camera camera angle x()-mousemovey()*0.25
` yrotate camera camera angle y()+mousemovex()*0.25
if camera angle x()>80 then xrotate camera 80
if camera angle x()<-60 then xrotate camera -60
endif
if mouseclick()>0 then CamDis#=CamDis#-mousemovey()*0.25
CamDis#=CamDis#+mousemovez()*0.25
if upkey()=1 then CamDis#=CamDis#+2.5
if downkey()=1 then CamDis#=CamDis#-2.5
if CamDis#>-20 then CamDis#=-20
if CamDis#<-300 then CamDis#=-300
move camera CamDis#
if camera position y()<-60 then position camera camera position x(),-60,camera position z()
mousemovex()=0
mousemovey()=0
`Rotate object
if KEYSTATE(19)=1 and rotate=1 and nopress=0 then rotate=0:nopress=1
if KEYSTATE(19)=1 and rotate=0 and nopress=0 then rotate=1:nopress=1
if rotate=0
rotate object 1,0,object angle y(1)+0.5,0
endif
`Change Texture
if KEYSTATE(20)=1 and nopress=0
delete image 1:delete image 2
inc image
if image>4 then image=1
if image=1 then load image "Media/rockwall.dds",1 :load image "Media/rockwall_n.dds",2
if image=2 then load image "Media/wall1.dds",1:load image "Media/wall1_n.dds",2
if image=3 then load image "Media/oldwall3.dds",1:load image "Media/oldwall3_n.dds",2
if image=4 then load image "Media/rock4_1.dds",1 :load image "Media/rock4_1_n.dds",2
texture object 1,0,1
texture object 1,1,2
nopress=1
endif
`Change Object
if Spacekey()=1 and nopress=0
delete object 1
inc object
if object>5 then object=1
if object=1 then load object "Media/t-pot.x",1:scale object 1,4500,4500,4500:scale object texture 1,0,4,3
if object=2 then load object "Media/Tosus.x",1:scale object texture 1,0,1.5,1
if object=3 then make object box 1,75,75,75
if object=4 then make object sphere 1,75,40,40:scale object texture 1,0,2,1
if object=5 then make object cylinder 1,75:scale object texture 1,0,3,1
texture object 1,0,1:texture object 1,1,2:texture object 1,2,3:texture object 1,3,4
set object effect 1,1
nopress=1
endif
if scancode()=0 then nopress=0
`Set spot Light to camera position
` if Shiftkey()=1
LX#=object position x(4):LY#=object position y(4):LZ#=object position z(4)
LaX#=object angle x(4):LaY#=object angle y(4):LaZ#=object angle z(4)
` endif
set vector4 6,LX#,LY#,LZ#,0
set effect constant vector 1,"LightPosition",6
`Text
center text sw/2,15,"1 - Show Depth Texture Shift - Set Spot Light To Camera Space - Change Object T - Change Texture R - Rotate Object"
center text sw/2,40,"FPS "+str$(screen fps())
`Set Shadow shader light projection Matrix
SET CURRENT CAMERA 1
position camera 1,LX#,LY#,LZ#
Rotate camera 1,LaX#,LaY#,LaZ#
view matrix4 1:projection matrix4 2
multiply matrix4 3,1,2
set effect constant matrix 1,"LightProjMatrix",3
SET CURRENT CAMERA 0
set effect technique 1,"DepthMap"
sync mask 2^1:fastsync
if KEYSTATE(2)=1 then paste image 4,0,0
`Main Scene
set effect technique 1,"ShadowMapping"
sync mask 2^0
`End loop
sync
loop
كود:
LX#=object position x(4):LY#=object position y(4):LZ#=object position z(4)
LaX#=object angle x(4):LaY#=object angle y(4):LaZ#=object angle z(4)
فقط تغيير زاوية وموقع الكاميرا الى زاوية وموقع الاوبجكت
الكود السابق مثل كود لعبة iott والتي وضعت لك رابط لها لـ mike inel
-
رد: موضوع الطلبات و المساعدات Dark Basics
شكرا لك
كده انا فهمت الموضوع كله
بعد تجربة مع الكود
المعلومة اللي كنت عاوز اعرفها فعلا ان تأثير الضوء له علاقة اساسية بالـ Effect على العالم المحيط
طبعا انا كنت فاكر ان الموضوع له علاقة بالاكواد فقط وليس بملفات الـ fx
صاحب ظهور الضوء عدة اشياء كاختفاء الضباب الاسود بسبب الـ Effect وكذلك اختفاء اضائة وهج السلاح عند اطلاق النار
واعتقد ايضا ان حل الموضوع في ايجاد الـ effect المناسب
شكرا يا عزيزي
-
رد: موضوع الطلبات و المساعدات Dark Basics
العفو :)
نعم كلامك صحيح... لكل تأثير خصائصة فانت ستعين الضياب والـambient وموقع الضوء ولونه عن طريق خصائص الـ fx نفسه
جرب حمل الدارك شيدر :
https://rapidshare.com/#!download|40...E6AB473EAE|0|0
الباسوورد:
Agent3004
ملاحظة: بالنسبة للفيكتورز اللي سألتني عنها طبعا هناك فرق بين الفيكتور في النيوتن والفيكتور في الشيدرز والفيكتور في الدارك بيسيك
طبعا فائدة الفيكتور العادي (الدارك بيسيك) لما تحب تحدد نقطة معينة للمجسم او تعيين اتجاهه
اما في النيوتن فأعتقد ان الامر وضح لك
اما في الشيدرز الامر مختلف قليلا
فمثلا لو كنت تريد تغيير لون الضوء او تغيير موقعه او اي شيء يتطلب 3 قيم فلابد من استخدام الفيكتور
للتوضيح
لو كان لديك شيدر يحمل قيمة فانت ستستخدم هذا الكود (هذه الحالة الاولى)
set effect constant integer EffectNumber,ConstantString,ConstantValue
set effect constant float EffectNumber,ConstantString,ConstantValue
set effect constant Boolean EffectNumber,ConstantString,ConstantValue
طبعا integer عدد صحيح مثل -5 ,1,2,3... ،float عدد عميق كسري 1.5 ...1.23 ، boolean عدد من 0 الى 1
يوجد ايضا
set effect constant matrix
set effect constant vector
اما الحالة الثانية
عند تغيير لون الضوء فانت ستقوم بتغيير درجات الالوان RGB تحمل 3 قيم نستخدم الفيكتور (4)
null=make vector4(1)
red#=1
green#=1
blue#=1
set vector4 1, red#, green#, blue#, 1.0 `alpha
set effect constant vector 1, "LightColor", 1
آسف على الشرح الركيك والغير منظم كما آمل أن تكون قد وضحت الصورة :)
تحياتي
-
رد: موضوع الطلبات و المساعدات Dark Basics
ملاحظة مهمه كل تأثير مستقل بذاته :) ... مثلا لوكان الشيدر يحمل مصدر واحد للضوء فلن يتأثر بغيره حتى لو طبقت نفس التأثير مع تغيير اللون لمجسم اخر بجانبه... حتى الـ Fog والـ Ambient
الا في حالة ان نفس الشيدر يحمل عدة مصارد للضوء ... ايضاً افولفد كتب شيدر عن الاضاءة المتعددة Multipass Lighting
لن تستطيع فهم الكلام الا اذا جربتها بنفسك :)
-
رد: موضوع الطلبات و المساعدات Dark Basics
شرحك جميل جدا واوضحلي الصورة بشكل كبير
التعامل مع الضوء يحتاج الى تعامل مع الـ Effect اولا
ومن هنا يظهر سؤالان
الاول : كيف يمكن الحصول على قيم الـ constant string
الثاني : ما الفرق بين Vector , vector3 , vector4 ؟
-
رد: موضوع الطلبات و المساعدات Dark Basics
اقتباس:
شرحك جميل جدا واوضحلي الصورة بشكل كبيرالتعامل مع الضوء يحتاج الى تعامل مع الـ Effect اولا
اشكرك ياعزيزي ... نعم فقط خصائص الـ effect ولن يؤثر عليه اي مؤثر خارجي
حتى make light , set object ambient,set object ambience, fog ,set object light
كأن المجسم في عالم خاص به حتى لو كان خلاف المحيط من حيث اللون او الضباب
بالنسبة للأسئلة
اقتباس:
الاول : كيف يمكن الحصول على قيم الـ constant string
لو حملت الدارك شيدر وفتحت اي مؤثر حتحصل اعدادات المؤثر مثلا لون الضوء ،موقع الضوء ... هذه هي constant string
مثلا الـ constant string للون الضوء هو LightColor
set effect constant vector EffectNumber,ConstantString,VectorNumber
مثال:
set effect constant vector 1, "LightColor", 1
اقتباس:
الثاني : ما الفرق بين Vector , vector3 , vector4 ؟
set vector2 VectorResult,X,Y
set vector3 VectorResult,X,Y,Z
set vector4 VectorResult,X,Y,Z,W
المتجه 2 يحمل قيمتان هي لمحور x,y والثالث اضافة z والرابع w "احياناً تكون هناك قيمة اضافية alpha هي لـ "w" "
واحيانا الـ القيمة الااساسية string تحمل متجه لقيمتين او 3 او 4 لهذا توجد المتجهات 1-2-3-4
-
رد: موضوع الطلبات و المساعدات Dark Basics
شكرا جدا ليك يا صديقي العزيز .. تقريبا وصلت الفكرة تمامامش ناقص غير التطبيق العمليولما اكتمل تحميل الدارك شيدر فهمت الفكرة اكترهيبدأ التطبيق العملي والتجاربوالله المستعاناشكرك بشدة مرة اخرى :)
-
رد: موضوع الطلبات و المساعدات Dark Basics
كيف يمكنني صنع قائمة في لعبتي مثل بدء اللعبة و الخروج من اللعبة الخ
ولك جزيل الشكر
-
رد: موضوع الطلبات و المساعدات Dark Basics