pivot point در papervision

++Hadi++

Active Member
سلام خدمت شما دوستان گرامی
من دنبال راهی برای تعیین نقطه مرکزی ثقل در اشیای 3 بعدی papervision بودم و راهی رو در مورد displayObject3D پیدا کردم . شاید به درد شما هم بخوره ، ولی به این نکته رسیدم که در اکثریت موارد ، این نقطه رو از جنس DisplayObject3D می سازن :
PHP:
var myPlane:Plane=new Plane(myMaterial,20,20,2,2);
scene.addChild(myPlane);
myPlane.x=700;
myPlane.y=200;
myPlane.z=400;
var myDisplay:DisplayObject3D=new DisplayObject3D();
myDisplay.x=-80;
myDisplay.y=150;
myDisplay.z=0;
myDisplay.addChild(myPlane);
myDisplay.rotationX=90;
ابتدای امر تمام اشیای 3 بعدی رو بوجود می یاریم و بعد ، اونا رو در مختصاتهای مناسب قرار می دیم ، سپس یه شی از نوع DisplayObject3D بوجود می یاریم و بعد از بوجود آوردنش ، مشاهده می کنیم که در مختصات پیش فرض ایکس و ایگرگ و زد صفر قرار گرفته ... می تونیم موقعیت مکانی این شی DisplayObject3D رو عوض کنیم و با این کار ، در حقیقت ، موقعیت نقطه ثقل یا همون نقطه pivot رو تعیین کردیم . بعد تمام اشیای 3 بعدی یا اشیای DisplayObject3D رو در اون addChild می کنیم و با این کار می بینیم که از همه این اشیا در اون شی فرزندی رو بوجود آوردیم .
این مبحث شبیه به ساختن چند تا قوطی هست که موقعیتشونو تعیین کردیم و سرانجام یه قوطی بزرگ بوجود می یاریم که تمام قوطی های دیگه رو با موقعیتشون در اون قرار می دیم و با چرخوندن یا تغییرات دیگه این قوطی بزرگ ، تمامی اونا رو چرخوندیم یا تغییر دادیم ...
اگه راههای دیگه شونو هم پیدا کردم بهتون می نویسم ...
در مثال بالا ، شی myPlane و هر شی دیگری که به داخل شی myDisplay ، با دستور addChild قرار گرفته ، حول نقطه مرکزی اون که ایکس -80 و ایگرگ 15 و زد 0 هست ، می چرخه و فواصل و تغییر اندازه ها از این نقطه حساب می شه ...
موفق باشید ...
 

جدیدترین ارسال ها

بالا