تشخیص موقعیت صدا
#1
سلام دوستان میخواستم بدونم روشی هست که با استفادده از اون بشه تشخیص داد که صدا از کجا پخش میشه؟
حالا این یعنی چی.

فرض کنید پلیر با هدفون داره بازی رو انجام میده.
خب حالا شخصیت بازی توی یک اتاق هست که وسط اتاق یک اسپیکر پخش صدا هست. وقتی پلیر سمت چپ باند ایستاده بود صدا از هدفون سمت راست و وقتی سمت راست باند ایستاده بود صدا از هدفون چپ و موقعی که پلیر وسط بود(جولوی اسپیکر) صدا از هر دو طرف پخش بشه.

البته این موضوع هم مهمه که نسبت به فاصله پلیر با اسپیکر میزان ولوم صدا تغیر کنه.

و تغیر L به R یا برعکس،نسبت به سرعتی که پلیر از کنار اسپیکر رد میشه تغیر کنه.
منظور اینکه از راست یهو نپره به چپ یا بر عکس. این تغیر به نرمی انجام بشه.
  پاسخ


 سپاس شده توسط:
#2
(1398/10/3، 11:38 عصر)Mahdiyar051 نوشته است: سلام دوستان میخواستم بدونم روشی هست که با استفادده از اون بشه تشخیص داد که صدا از کجا پخش میشه؟
حالا این یعنی چی.

فرض کنید پلیر با هدفون داره بازی رو انجام میده.
خب حالا شخصیت بازی توی یک اتاق هست که وسط اتاق یک اسپیکر پخش صدا هست. وقتی پلیر سمت چپ باند ایستاده بود صدا از هدفون سمت راست و وقتی سمت راست باند ایستاده بود صدا از هدفون چپ و موقعی که پلیر وسط بود(جولوی اسپیکر) صدا از هر دو طرف پخش بشه.

البته این موضوع هم مهمه که نسبت به فاصله پلیر با اسپیکر میزان ولوم صدا تغیر کنه.

و تغیر L به R یا برعکس،نسبت به سرعتی که پلیر از کنار اسپیکر رد میشه تغیر کنه.
منظور اینکه از راست یهو نپره به چپ یا بر عکس. این تغیر به نرمی انجام بشه.

اینکه فقط صدا از یک باند خاص (چپ یا راست) پخش بشه رو فکر کنم تا حدودی بشه انجام داد با کانستراکت؛
بقیه مواردی هم که ذکر کردین صرفاً یکسری تحلیل ساده است که میتونین به راحتی توی ایونت نویسی تون لحاظ کنین....
مثلاً برای اینکه بفهمین صدا از باند راست پخش شه یا از باند چپ کافیه تعریف کنین که اگر نزدیک بود به مختصات اسپرایت باند سمت راست صدا از باند راست پخش بشه و یا اگر در نقطه تلاقی دو مختصات بود صدا از هر دو باند تغییر کنه......
اگر بخوایم از یک روش ریاضی برای تحلیل چنین مسایلی استفاده کنیم باید به معادله خط متکی باشیم که خیلی هم میتونه کمک حال باشه...... 
سوال شما براش پلاگین یا ایونت خاصی وجود نداره پس باید ابتکار به خرج بدین برای کار مد نظرتون.....
برای سنجش فاصله بین هر باند تا شخصیت بازی هم کار ساده است! توی مبحث معادله خط یک فرمولی هست که میشه از طریق داشتن مختصات دو نقطه فاصله بین دو نقطه رو محاسبه کرد....
فرمولش به این شکله:
اگر دو نقطه A و B مختصاتشان به ترتیب (x1,y1) و (x2,y2) باشند برای محاسبه فاصله (AB) داریم:
(2^(AB = rad((x1-x2)^2+(y1-y2
(rad به معنای رادیکال هست)
شما تنها کافیه مختصات کاراکتر بازی و اسپرایت باند رو دریافت کنین و از طریق فرمول فاصله رو حساب کنین؛ بعد بگین اگر از یک مقدار مشخص کمتر یا بیشتر بود بلندی صدا تغییر کنه با توجه به مقدار مینیمم فاصله (مقدار مینیمم فاصله رو میتونین میتونین با نزدیکترین مختصات محاسبه کنین)........
غایب
  پاسخ


 سپاس شده توسط: M.gh ، oak
#3
البته هر پرانتز یه توان ۲ داره . هر پرانتز رو باید یبار دیگه در خودش ضرب کنید 
استودیو بازیسازی ایروید
جدید ترین ها : شهرزاد ، دربند;1357 و ATOM
[تصویر:  ads.gif]
  پاسخ


 سپاس شده توسط:
#4
(1398/10/4، 08:22 عصر)محمد 82 نوشته است: البته هر پرانتز یه توان ۲ داره . هر پرانتز رو باید یبار دیگه در خودش ضرب کنید 

درست میفرمایین اصلاح کردم؛
از ریاضی دبیرستان زیاد دقیق یادم نیست!
ولی خُب میتونن مثلاً یک اسپرایت رو نامرئی کنن و اون رو به عنوان معیار سنجش فاصله بگذارن و هزار جور کار دیگه......
من تحلیل ریاضی موضوع رو گفتم که در هر شرایطی قابل انجامه.......
غایب
  پاسخ


 سپاس شده توسط: oak ، saman
#5
سلام

نمیدونم این رو امتحان کردید یا خیر اما میتونید

از اکشن های Audio (Play At Position استفاده کنید

موفق باشید
[تصویر:  Hurricanes.jpg]
  پاسخ


 سپاس شده توسط: MohammadHadi


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 182 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,598 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: