ورود

View Full Version : حرفه ای: mirror شدن تصویر دوربین



kochol
دوشنبه 04 آبان 1388, 15:15 عصر
سلام
دوستان من از کد های زیر برای دوربین استفاده می کنم و متوجه شدم که تمام مدل هایی که من لود می کنم مثله این است که در ایینه دیده شوند مثلا کاراکتری که شمشیر در دست راستش است تو موتور شمشیر در دست چپش است و خونه ای که پلکانی در سمت چپ دارد پلکان در سمت راستش نمایش داده می شود.

دوستان اگر می تونند روش هایی که ماتریس های پروجکشن و view رو می سازن بگن.

ماتریس projection


float f = (float)m_iWidth/(float)m_iHeight;
float ys = 1/tanf(Fov/2.0f);
float xs = ys/f;
m_mProj._12=m_mProj._13=m_mProj._14=m_mProj._21=m_ mProj._23=m_mProj._24=
m_mProj._31=m_mProj._32=m_mProj._41=m_mProj._42=m_ mProj._44=0.0f;
m_mProj._11 = xs;
m_mProj._22 = ys;
m_mProj._33 = Far/(Far-Near);
m_mProj._34 = 1.0f;
m_mProj._43 = -Near*Far/(Far-Near);



ماتریس view


m_mView._11 = m_vRight.x; m_mView._12 = vcUp.x; m_mView._13 = Z.x;
m_mView._21 = m_vRight.y; m_mView._22 = vcUp.y; m_mView._23 = Z.y;
m_mView._31 = m_vRight.z; m_mView._32 = vcUp.z; m_mView._33 = Z.z;
m_mView._41 = -(m_vRight * m_vPos); m_mView._42 = -(vcUp * m_vPos); m_mView._43 = -(Z * m_vPos);

kochol
دوشنبه 04 آبان 1388, 17:35 عصر
سلام
من بعید می دونم که مشکل از این ماتریس ها باشه چون دقیقا سیستم کوردینیت ها به صورت چپ دست نشان داده می شود و ظاهرا همه چی درست است نمی دونم شاید اشکال از مش لودر باشه.

سپول
سه شنبه 05 آبان 1388, 12:03 عصر
مش هات از چی لود می شن ؟ اگر از milkshape می گیری، الان دقیقا یادم نیست ولی فکر کنم اون right-handed بود، در هر صورت اگه right-handed باشه که باید موقع import کردن مش تغییرات بدی روی ورتکس ها و بقیه چیزاش.
در ضمن right-handed ها هم شکل های مختلف داره، اگه بهم بگی که مختصات مدل های import شده دقیقاً axis هاش چجوریه و روی چه سیستمی هست شاید بهتر بتونم کمک بکنم.

در مورد درست بودن محاسبات ViewMat و ProjMat هم DX-SDK توابع D3DXMatrixPerspectiveLH و D3DXMatrixLookAtLH رو نگاه بندازی Help اش رو زیرش محاسباتش هم نوشته و می تونی با مال خودت مقایسه کنی.

کلا اینجور تغییرات Coordinate من رو هم خیلی اذیت کرد مخصوصاً واسه import کردن از 3dsmax، چون از هزارتا جا می تونه باشه، ولی درست ترینش اینه که موقع import کردن مش ، Coordinate خودت رو به ورتکس ها، نرمال ها و بقیه دیتا تحمیل کن که بعداً دچار مشکل نشی.

kochol
شنبه 16 آبان 1388, 17:04 عصر
سلام
اره مش هام از milkshape لود می شن دقیقا مشکل همینی که گفتی هست.

من برای درست کردن این کار z مکان ها رو برعکس کردم ولی در مورد نرمال ها و چرخش ها ی داخل انیمیشن نمی دونم باید چی کار کنم.