مرسی حامد جون.
من که چیزی نفهمیدم. نمیشه مثال کدی بزنی ؟
![]()
مرسی حامد جون.
من که چیزی نفهمیدم. نمیشه مثال کدی بزنی ؟
![]()
جان؟ خوب اینجوری که خیلی جالب شد.
من الان دسترسی به یونیتی ندارم ، کد نیمتونم بنویسم ولی سعس میکنم روند کار رو به توابع مورد نیاز توضیح بدم.
دوربین همواره یه فاصله ای با اکتورش داره ، حالا مشکل زمانی پیش میاد که یه جسم مابین این 2 تا قرار بگیره.
برای این که متوجه بشیم جسمی بین این 2 تا هست یا نه ، تابع Physics.Linecast به شما کمک میکنه.
حالا داستان اینه که زمانی که جسمی بین transform.position و Target.position قرار بگیره ، تابع Linecast مقداره True برمیگردونه و if برقرار میشه.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا باید داخل شرط شما دوربین رو به سمت اکتور اونقدر نزدیک کنید که جسم "فی مابین"رو رد کنه .
ممنون حامد جون.
الان از این کد استفاده کردم و تشخیص میده که دیوار بین دوربین و اکتور هست اما همیشه True عه ... یعنی وقتی دوربین رو میبرم توی فضای بسته بازم False نمیشه نیدونم چرا
حالا از همه مهمتر واسه اینکه فاصله ی دوربین رو نزدیک اکتور کنم چه راهی رو پیشنهاد میکنی ؟
من از اسکریپت Mouse Orbit استفاده کردم و توی این کد تشخیص دیوار بین دوربین و اکتور رو نوشتم و خودم distanceش رو برابر 1 میکنم که حسابی بره نزدیک توپ.
الان همه چی عالیه منم خیلی خوشالمولی مشکلم اینه که همیشه distance 1 میمونه و در واقع شرط همیشه true هست ولی من میخوام وقتی توی فضای بسته س دوربین شرط false شه و دوباره بیاد سر جاش دوربین.
![]()
عرض کنم که :
1- برای نزدیک کردن ( همین چیزی که استفاده کردی ) فاصله فعلیه دوربین و توپ رو بگیر و به صورت کاهشی ازش کم کن تا شرط False بشه ، نه این که به صورت ناگهانی فاصله رو 1 کنی.
2- قطعا مشکل از تابع نیست ، یه جایی سوتی دادی و کالیدری که فراموش کردی بین این 2 تا مونده ، یا این که بیرون از شرط مقدار رو به مقدار اولیه برگردوندی؟ ( بیرون از شرط منظور NOT شرط هست )
3- اگه با Mouse Orbit مشکلی نداری ، روشی که انتخاب کردی روش خوبیه ، ولی میتونی از توابع Vector3.Lerp , Vector.MoveTowards هم استفاده کنی ( اگر Mouse Orbit برات مشکلی ایجاد میکنه )
سلام ميشه بگيد demo ها و Assets هاشو از کجا گير بيارم
حامد جون باور کن نمیشه
نمیتونی یه مثال با یونیتی درست کنی بخدا ثواب داره ها![]()
با سلام!
من یک کارکتر به بازی اوردم و تمام انیمشین ها را دارد ولی من می خواهم در بازی حرکت راه رفتن را انجام دهد می خواستم کسی کد جاوا یا c++ را دارد و همون کد را برای من توضیح دهد خیلی نیاز دارم ممنون ئمیشم...
عرض کنم که :
1- برای نزدیک کردن ( همین چیزی که استفاده کردی ) فاصله فعلیه دوربین و توپ رو بگیر و به صورت کاهشی ازش کم کن تا شرط False بشه ، نه این که به صورت ناگهانی فاصله رو 1 کنی.
2- قطعا مشکل از تابع نیست ، یه جایی سوتی دادی و کالیدری که فراموش کردی بین این 2 تا مونده ، یا این که بیرون از شرط مقدار رو به مقدار اولیه برگردوندی؟ ( بیرون از شرط منظور NOT شرط هست )
3- اگه با Mouse Orbit مشکلی نداری ، روشی که انتخاب کردی روش خوبیه ، ولی میتونی از توابع Vector3.Lerp , Vector.MoveTowards هم استفاده کنی ( اگر Mouse Orbit برات مشکلی ایجاد میکنه )
کجاش مشکل داری؟حامد جون باور کن نمیشه
نمیتونی یه مثال با یونیتی درست کنی بخدا ثواب داره ها![]()
این واسه فاصله دوربین و توپ
البته باید قبلش از نوع Transform متغیر Ball و Camera تعریف کنی و تگ هر کدوم رو بهشون نسبت بدیکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعد آقاحامد میگه باید بصورت کاهشی کم کنی فاصله رو
مثلا
بعد بگیکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
2,3 هم که هیچیکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اینجاسلام ميشه بگيد demo ها و Assets هاشو از کجا گير بيارم
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
من یک کارکتر به بازی اوردم و تمام انیمشین ها را دارد ولی من می خواهم در بازی حرکت راه رفتن را انجام دهد می خواستم کسی کد جاوا یا c++ را دارد و همون کد را برای من توضیح دهد خیلی نیاز دارم ممنون ئمیشم...Player رو باید قبلش تعریف کنی و تگ پلیر رو بهش بدیکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید![]()
میشه کل کد بدید ممنونت میشمPlayer رو باید قبلش تعریف کنی و تگ پلیر رو بهش بدی![]()
میشه کل کد بدید ممنونت میشمقبلش تو ادیتور یونیتی باید پلیر رو انتخاب کنی و بالا سمت راست قسمت Tag ها تگ Player رو به آبجکت پلیر بدی!کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا هر جا بخوای چه تو انیمیشن چه تغییرمکان(ترنسفورم) میتونی از Player استفاده کنی
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)