View Full Version : نحوه استفاده از Object های سه بعدی در بازی ...
  
Mahmood_M
چهارشنبه 15 شهریور 1385, 14:03 عصر
سلام
من می خواستم بدونم که چه طوری باید از Object های سه بعدی که توی مثلا 3DMax یا Poser درست کردم توی بازی استفاده کنم ؟؟ !
مثلا من یه آدم توی Poser درست کردم ، حالا چه طور مثلا می تونم اون رو توی بازیم به کار ببرم ؟ مثلا با ++C ... ( حرکتش بدم یا ... )
راستش نمی خوام که بهم کد بدید فقط می خوام با کلیات کار آشنا بشم ...
اگه یه نفر یه توضیحی بده ممنون می شم ...
با تشکر
موفق باشید ...
shobair
چهارشنبه 15 شهریور 1385, 14:49 عصر
سلام
من می خواستم بدونم که چه طوری باید از Object های سه بعدی که توی مثلا 3DMax یا Poser درست کردم توی بازی استفاده کنم ؟؟ !
مثلا من یه آدم توی Poser درست کردم ، حالا چه طور مثلا می تونم اون رو توی بازیم به کار ببرم ؟ مثلا با ++C ... ( حرکتش بدم یا ... )
راستش نمی خوام که بهم کد بدید فقط می خوام با کلیات کار آشنا بشم ...
اگه یه نفر یه توضیحی بده ممنون می شم ...
با تشکر
موفق باشید ...
سلام
معمولا موتورهای سه بعدی ابزار این کار رو دارند. مثلا برای 3D Studio ابزار تبدیل به فرمت مورد قبول انجین را دارند.
شبیر
kochol
چهارشنبه 15 شهریور 1385, 20:29 عصر
سلام
برای این کار باید از فرمت فایل های سه بعدی سر در بیاری که مشخصات نقطه ها و تکستچر ها و یا انیمیشن ها رو بخونی و ازش رندر بگیری.
از این هم دیگه کلی تر شکل های سع بعدی چیزی جز یه سری مثلث نیستند.
kochol
دوشنبه 10 مهر 1385, 12:35 عصر
سلام
من بالاخره اولین Mesh Loader ام را برای انجینم نوشتم که فایل های MS3D که با برنامه ی Milk Shape 3D ساخته می شوند رو لود می کنه حالا تجربیاتم در این زمینه بیشتر شده ولی هنوز رو انیمیشنش کار نکردم که تا آخر این هفته امیدوارم اون رو هم بسازم.
http://kochol.persiangig.com/kge/ms3dMesh.jpg
siavashr
دوشنبه 10 مهر 1385, 17:32 عصر
سلام.
خیلی عالیه . 
میشه به ما هم یاد بدی یا راه نداره؟ من نمیخواهم بازی درست کنم اما دنبال فهمیدن یک سری چیزا هستم اگر بتونی کمک کنی ممنون میشم.
سیاوش راد
kochol
دوشنبه 10 مهر 1385, 20:18 عصر
سلام
خیلی ممنون.
می تونم راهنماییتان کنم ولی اینکه یه مقاله کامل بنویسم نمی تونم راستش من خودم از هر کسی بیشتر به کمک نیاز دارم چون همه می دونن که یه گیم انجین رو نمی شه تنهایی ساخت حداقل نتونستم یه تیمه دو نفره درست کنم به خاطر همین هم نمی تونم مقاله بنویسم یعنی وقت کم دارم من خودم نحوه ساخت رو از کتاب focus on 3d models یاد گرفتم و حالا توضیحاتی می دم که بیشتر بتونیم با این فرمت اشنا بشیم.
1. فایل رو لود می کنیم 
2. 10 بایت اول باید MS3D000000 باشد مگر نه فایل در فرمت MS3D نیست.
3. 4 بایت بعدی ورژن فایل هست که ما فقط از 3 و 4 پشتیبانی می کنیم.
4. 2 بایت بعدی تعداد نقاط هست که بر اساس اون نقاط مدل رو می خونیم برای هر نقطه 15 بایت اطلاعات هست که استراکت زیر ترتیب اونها رو نشون می ده.
// MS3D Vertex Struct
struct ms3dVertex
{
	u8      m_ucFlags; //Editor flags, unused for the loader
	Vertex3 m_vVert;  //X,Y,Z coordinates
	char	m_cBone; //Bone ID (-1 = no bone)
	u8		m_ucUnused;
}; // ms3dVertex
که اولی برای استفاده ادیتور یعنی خود میلک شیپ هست که اگه 0 بود یعنی انتخاب نشده 1 بود یعنی انتخاب هست 2 یعنی مخی و 3 هم یعنی هم انتخاب شده و هم مخفی.
5. دو بایت بعدی تعداد مثلث ها هست.
که باید بر حسب اون تمام مثلث ها رو بخونید که اون هم از روی استراکت زیر می تونید بخونید.
// MS3D Triangle data structure
struct ms3dTriangle
{
	u16		m_usFlags;			//Editor flags
	u16		m_usVertIndices[3]; //Vertex indexes
	Vertex3 m_vNormals[3];		//Vertex normals;
	float	m_fTexCoords[2][3];	//Texture coordinates
	u8		m_ucSmoothing;		//Smoothing group
	u8		m_ucGroup;			//Group index
};
6. دو بایت بعدی هم تعداد گروه مش ها رو نشون می ده که هر کردوم یه قسمت از مدل هست مثلا یکی برای سر و یکی برای دست که البته این بستگی به سازنده مدل داره که چه طوری اونو ساخته باشه.
// Group of triangles in the ms3d file
struct ms3dGroup
{
	u8   m_ucFlags;		//Editor flags again
	char m_cName[32];	//Name of the mesh
	u16  m_usNumTris;	//Number of triangles in the group
	u16* m_uspIndices;	//Triangle indexes
	char m_cMaterial;	//Material index, -1 = no material
	
	//Let it clean up after itself like usual
	ms3dGroup()
	{
		m_uspIndices = 0;
	}
	~ms3dGroup()
	{
		if(m_uspIndices)
		{
			delete [] m_uspIndices;
			m_uspIndices = 0;
		}
	}
};
که تو این یکی باید اول تعداد مثلث ها رو بخونید بعد اندیس مثلث ها رو بخونید.
7. 2 بایت بعدی هم که تعداد متریال ها هست که استراکت اون هم این طوری هست.
// Material information for the mesh
struct ms3dMaterial
{
	char  m_cName[32];		//Material name
	float m_fAmbient[4];	//Ambient values
	float m_fDiffuse[4];	//Diffuse values
	float m_fSpecular[4];	//Specular values
	float m_fEmissive[4];	//Emissive values
	float m_fShininess;		//0 - 128
	float m_fTransparency;	//0 - 1
	char  m_cMode;			//unused
	char  m_cTexture[128];  //Texture map file
	char  m_cAlpha[128];	//Alpha map file
};
بقیه فایل هم مربوط به انیمیشن هست که خودم هم هنوز نمی دونم چه طوری هست.
siavashr
دوشنبه 10 مهر 1385, 21:12 عصر
سلام.
متشکرم بابت توضیحاتی که دادید. 
میشه لطفا اگر این کتاب focus on 3d models  رو دارید لینک دانلودش رو بفرمائید.
ممنونم
سیاوش راد
kochol
سه شنبه 11 مهر 1385, 00:54 صبح
سلام
من این کتاب را دارم ولی از emule دانلود کرده ام.
شما هم می تونید از emule دانلود کنید.
kochol
جمعه 14 مهر 1385, 12:16 عصر
سلام
تنها چیزی که می مونه که توضیح نداده ام اینه که این u16 و u32 چیه
	/// A 32-bit unsigned int
	typedef unsigned int   u32;
	/// A 32-bit signed int
	typedef signed int     s32;
	/// A 32-bit unsigned integer = DWORD
	typedef unsigned long  ul32;
	/// A 16-bit unsigned short
	typedef unsigned short u16;
	/// A 8-bit unsigned cahr
	typedef unsigned char u8;
kochol
یک شنبه 16 مهر 1385, 11:42 صبح
سلام
این هم دو تا توتریال
ُSkeletal Animation with MS3D (http://rsn.gamedev.net/tutorials/ms3danim.asp)
Model Rendering Tutorial (http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=31)
kochol
شنبه 29 مهر 1385, 17:50 عصر
سلام
من اخر سر با هر سختی که بود تونستم انیمیشن مدل را هم کامل کنم می تونید دانلودش کنید و نگاهی بهش بندازید پس از دانلود فایل readme.txt رو بخونید و اگه سوالی بود بپرسید.
http://prdownloads.sourceforge.net/kge/NinjaAnimation.rar?download
kochol
یک شنبه 30 مهر 1385, 23:38 عصر
سلام
کسی این مثال رو دانلود نکرده خیلی مثال قشنگی شده ها.
Mahmood_M
دوشنبه 01 آبان 1385, 17:00 عصر
سلام
من دانلود کردم ...
ولی فایل KGE.h رو توش نذاشتی ! Error می ده ...
خیلی دوست دارم ببینمش ، می شه حد اقل یه فایل اجرایی ازش بزاری یا همون KGE.h رو بزاری ... ؟ واقعا بهت تبریک می گم ...
منتظرم
موفق باشی ...
kochol
دوشنبه 01 آبان 1385, 17:07 عصر
سلام
فایل exe که داخلش هست. MS3D.exe
در ضمن همین الان KGE 0.0.3 رو هم ریلیز کردم اگر می خواهی خودت کامپایلش کنی اون رو هم دریافت کن.
Mahmood_M
سه شنبه 02 آبان 1385, 00:24 صبح
سلام
فایل exe که داخلش هست. MS3D.exe
موقع لجرا Error می ده ...
می نویسه که فایل DevIL.DLL پیدا نشد ... !!
منتظرم ...
موفق باشی ...
kochol
سه شنبه 02 آبان 1385, 03:17 صبح
سلام
شما اگه یه لطفی بکنی readme.txt رو بخونی خیلی ممنونت می شم اونوقت اگه باز هم مشکلی بود در خدمتم.
خیلی ممنون که برنامه من رو داری تست می کنی این کار باعث دل گرمی من می شه.
Mahmood_M
چهارشنبه 03 آبان 1385, 01:27 صبح
سلام
ببخشید حواسم نبود ... !!
آقا عالی بود ... 
فوق العاده بود ...  
افتخار می کنم که یک ایرانی همچین کاری کرده ...
البته من خیلی مبتدی هستم ، امیدوارم دوستای حرفه ای ببینند و نظرشون رو بگن ...
موفق باشی ...
m_shirwani
شنبه 21 بهمن 1385, 22:12 عصر
عالی بود ممنون از کارتون اما حیف که ...
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.