سوم شخص و کیسمت، مثل پتو و آفتابه
سلام دوستان
درمورد دوربین سوم شخص بارها صحبت کردم. صد بار گفتم این، کار کیسمت نیست. بازم میگم.:3: بحث این نیس که آیا میشه با کیسمت انجام داد یا نه، بحث اینه که نباید با کیسمت انجام داد. اصلش به خاطر مشکلاتیه که پیش میاد.
دوستان مثلا این پستا رو ببینین:
کد:
http://forum.p30world.com/showpost.php?p=5099939&postcount=1066
http://forum.p30world.com/showpost.php?p=5108104&postcount=1099
http://forum.p30world.com/showpost.php?p=5107910&postcount=1098
پستهای بالا پست 3 تا از دوستان هست، که اتفاقا از 3 روش مختلف این کار رو کردن، همونطور که دیدید هر کدوم یه مشکلی دارن.:13:
اینا همه نمونه که اثبات می کنن حرف من درسته. بازم نمی دونم چرا کسی قبول نداره.
حالا چرا این روشها جواب نمی ده؟ قبلا هم گفتم، راههایی که تو کیسمت برای این کار پیدا می کنید، همگی بلا استثنا راههای آسپیرینی هستن، یعنی کلی نیستن. هر راه آسپیرینی مشکلی داره که نمی شه عمومی استفادش کرد، فرض کنین مشکل X پیش اومده، حالا برا اینکه X رو حل کنین، از یه راه آسپیرینی دوم استفاده می کنین، مشکل X حل می شه، و مشکل Y به وجود میاد، حالا برا اینکه Y رو حل کنین،.............. همین جور این روندو بگیرین برین جلو.
بعضی دوستان فکر می کنن کیسمت راحت تر از اسکریپت هست، باید خدمت این دوستان عرض کنم که اصلا کیسمت با اسکریپت قابل قیاس نیس که بخواید بگید کدوم راحت تره. هر کدوم رو برای منظور خاصی طراحی کردن. نمی تونید یکی از این دوتا رو بردارین و بگین همه کارارو باهاش انجام میدم. غیر ممکنه. این صد و یک بار.
اون روش های بالا رو اگه به فرض هم بخواید به جواب برسونید، باید خداقل 5 یا 6 برابر کدنویسی وقت بذارین روش، پس عقل سلیم میگه آدم نباید از اون راه ها بره، تازه هیچ تضمینی نیس بعد این وقت هم جواب بدن.
همون طور که از عنوان پست بر میاد، اسن کار هیچ ربطی به کیسمت نداره.
از کد هم نترسید. مثلا کد زیر رو ببینین:
کد:
case 'ThirdPerson':
Loc = OutVT.Target.Location;
Rot = OutVT.Target.Rotation;
Loc += FreeCamOffset >> Rot;
Pos = Loc - Vector(Rot) * FreeCamDistance;
HitActor = Trace(HitLocation, HitNormal, Pos, Loc, FALSE, vect(12,12,12));
OutVT.POV.Location = (HitActor == None) ? Pos : HitLocation;
OutVT.POV.Rotation = Rot;
break;
کافیه این کد رو به Switch کلاس دوربینتون اضافه کنین، و بگین بازی ازش استفاده کنه تا یه دوربین سوم شخص ساده داشته باشین.:5: به نظرتون این کد 10 بار ساده تر و سریعتر از اون سناریویی که بالا گفتم نیست؟؟؟ به نظر من که تفاوتش واضحه.
هر چند تجربه بهم میگه شما همچنان به همون روشها می چسبین و می گین بابا کی حوصله داره کد بزنه، ولی گفتم بگم که بعد نگید کسی بهمون نگفت قضیه از این قراره.
دوستان از من گفتن بود. دیگه خود دانید.:8: فعلا بای.