الشبكة العربية لمطوري الألعاب

خبير  أحمد عبد الغني مشاركة 11

وفي 27/رجب/1431 11:32 ص، قال انس متحمساً:

هل يمكننا ان نحدد مكان رسم المجسم حيث يكون الرسم انطلاقا من Z=0، هكذا نبحث عن الرؤوس بنفس قيمة z لتحددي مجموعة النقط الممثلة للمسار

نعم بالتأكيد! ☺
 
يمكننا أن نفرض على الرسامين أن تكون فتحة الأنبوب على السطح XY تماماً. فيكون Z يساوي صفر لكل الرؤوس التي تشكل فتحة الأنبوب! 😄

اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم

خبير مدير وسام البهنسي مشاركة 12

في 29/رجب/1431 01:58 م، عقد أحمد عبد الغني حاجبيه بتفكير وقال:

يمكننا أن نفرض على الرسامين أن تكون فتحة الأنبوب على السطح XY تماماً. فيكون Z يساوي صفر لكل الرؤوس التي تشكل فتحة الأنبوب! 😄

أحسنت! هذه هو الحال بالفعل في ملف الـ FBX المستخدم الآن...
 
سنستلم قريباً نماذج لمركبة اللاعب وبعض الأعداء من فريق الرسوميات. عندها سننتقل إلى الخطوة التالية في هذه المهمة.

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

خبير مدير همام البهنسي مشاركة 13

السلام عليكم...
 
أعتذر على التدخل هنا، ولكني أحببت التنويه أنه ولأغراض تجريبية يمكنكم الآن الحصول على النموذج التقني المعتمد لأنبوب المرحلة من المشاركة التالية:
http://www.agdn-online.com/communities.aspx?view=posts&threadid=813
 
بالإضافة لحصولكم على ملف الـ fbx للنموذج والـ tga للإكساء من مرفقات المشاركة السابقة، يمكنكم التعرف على الشروط التقنية المتبعة في تجهيز الأنبوب لأخذها بعين الاعتبار أثناء التعامل معها برمجياً.
 
بالتوفيق...

خبير مدير همام البهنسي مشاركة 14

عودة مرة أخرى، ولكن هذه المرة مع النماذج التجريبية للمركبات. يمكنكم الحصول على نموذجين من المشاركة التالية:
http://www.agdn-online.com/communities.aspx?view=posts&threadid=809

خبير مدير وسام البهنسي مشاركة 15

ممتاز. شكراً لك همام.
 
أنس، هل تستطيع استبدال الأنبوب الحالي في اللعبة بالأنبوب الجديد الذي أنجزه فريق الرسوميات؟
 
بعد ذلك ستقوم أنت وبلال بإدراج مركبة اللاعب ومركبة العدو بالترتيب وعرضهما في اللعبة.

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

محترف  انس مشاركة 16

في 13 يوليو 2010 04:06 م، عقد وسام البهنسي حاجبيه بتفكير وقال:

أنس، هل تستطيع استبدال الأنبوب الحالي في اللعبة بالأنبوب الجديد الذي أنجزه فريق الرسوميات؟

ساشرع في المحاولة حالا.

بعد المحاولة ظهر الخطا التالي :



Error	1	Building content threw AccessViolationException: 

Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at Microsoft.Xna.Framework.Content.Pipeline.FbxImporter.Cleanup()
   at Microsoft.Xna.Framework.Content.Pipeline.FbxImporter
.Import(String filename, ContentImporterContext context)
   at Microsoft.Xna.Framework.Content.Pipeline
.ContentImporter`1.Microsoft.Xna.Framework.Content.Pipeline.IContentImporter
.Import(String filename, ContentImporterContext context)
   at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator
.ImportAssetDirectly(BuildItem item, String importerName)
   at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator
.ImportAsset(BuildItem item)
   at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator
.BuildAssetWorker(BuildItem item)
   at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator
.BuildAsset(BuildItem item)
   at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator
.BuildAndLoadAsset(BuildItem item, BuildItem requestingItem)
   at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator
.ImportAssetViaCache(BuildItem item, String importerName)
   at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.ImportAsset(BuildItem item)
   at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.BuildAssetWorker(BuildItem item)
   at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.BuildAsset(BuildItem item)
   at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.RunTheBuild()
   at Microsoft.Xna.Framework.Content.Pipeline.Tasks.BuildContent
.RemoteProxy.RunTheBuild(BuildCoordinatorSettings settings, 
TimestampCache timestampCache, ITaskItem[] sourceAssets, String[]& outputContent
, String[]& rebuiltContent, String[]& intermediates, Dictionary`2& dependencyTimestamps
, KeyValuePair`2[]& warnings)	G:\Mes Projets\sudum\Game\Content\Models\sudum_level.fbx	Sudum
الجدير بالذكر ان هذاالخطا لا يضهر مع المجسم الاول tub.fbx
iل من تفسير ؟

خبير مدير همام البهنسي مشاركة 17

وفي 13 يوليو 2010 12:32 م، قال انس متحمساً:

بعد المحاولة ظهر الخطا التالي

حسناً. يبدو أن XNA لا يدعم الإصدارات الحديثة من هيئة ملفات FBX 😖 . الملف المرفق يحوي المجسم مع إكسائه بعد التصدير بهيئة FBX 2006.
 
أرجو أن تعمل 😒

محترف  انس مشاركة 18

السلام عليكم.

مشكل ثاني يتمثل في مسار الاكساء، يظهر الخطا التالي :



Error	1	Missing asset "D:\Sudum\Game\Content\Models\grid.tga".	G:\Mes Projets\sudum\Game\Content\Models\sudum_level.fbx	Sudum

و بعد فحص الملف وجدت التالي

    Video: "Video::file1", "Clip" {
        Type: "Clip"
        Properties60:  {
            ...
            Property: "Path", "KString", "", "D:/Sudum/Game/Content/Models/grid.tga"
            ...
        }
        UseMipMap: 0
        Filename: "D:/Sudum/Game/Content/Models/grid.tga"
        RelativeFilename: "D:\Sudum\Game\Content\Models\grid.tga"
    }

ساحاول حله لكنس اردت التنويه اليه لكي لا يتواجد هذا الخطا في الملفات اللاحقة

------------------------------------------------------

حسنا بعد تعديل السطر التالي :

from 
        RelativeFilename: "D:\Sudum\Game\Content\Models\grid.tga"
to
        RelativeFilename: "grid.tga

النتيجة :





و تنبيه :


Warning	1	Asset was built 2 times with different settings:
using TextureImporter and TextureProcessor
using TextureImporter and TextureProcessor, referenced by Models\sudum_level.fbx (ModelProcessor)	G:\Mes Projets\sudum\Game\Models\grid.tga	Sudum



اهذا ما كان مطلوب مني القيام به، ام ان تموقع الانبوب ليس في محله ؟

خبير مدير وسام البهنسي مشاركة 19

هممم. مشكلة المسار الكامل هذه مزعجة جداً. سنطلب من فريق الرسوميات التحقق من وجود خيار لحفظ المسارات بشكل نسبي بدلاً من أن تكون مطلقة. لكن إن لم يستطيعوا ذلك فعلينا أن نبحث عن حل آخر.
 
بالنسبة للتنبيه فالعملية بسيطة. فقط أزل ملف صورة الإكساء من قائمة الملفات في مشروع اللعبة في فيجوال ستوديو. فالملف سيتم استخدامه تلقائياً لمجرد كون المجسم يطلبه، ولن تحتاج لإدراجه في المشروع بشكل صريح.
 
حبذا لو تقوم بتعديل وضعية الكاميرا قليلاً كي نستطيع رؤية حافة الأنبوب.
 
فيما عدا ذلك فعمل جيد، بانتظار أن ترفع التعديلات.

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

محترف  انس مشاركة 20

السلام عليكم.
بعد ان اعدت تفعيل الكود التالي و الذي كنت قد حذفته مؤقتا اصبح الاكساء لا يظهر لماذا ؟



            // TODO: Add your drawing code here
            stateFlow.Render();
            leveltube.Draw();
            // مثال وحدة كتابة النصوص بالعربية         
 //*/ 
            spriteBatch.Begin();
            txt.DrawString("press s to 'Jump' - or to flow to next state", "Times New Roman", 15.0f, Color.Purple, new Vector2(100f, 40f));
			PlayerInputTestText.DrawString(lastAction, "Times New Roman", 18f, Color.White, new Vector2(10f, 10f));
            fixedTxt.DrawString("خط ثابت", "Times New Roman", 20.0f, Color.Blue, new Vector2(150f, 100f));
            spriteBatch.End();
            //*/