Birlik: Birlik o'lchovi nima?

Birlik o'lchovni qanday koordinatlashtiradi? (sm, m, km)

Unda aniq chora-tadbirlar qanday amalga oshiriladi?

Birlikda haqiqiy tadbirlarni amalga oshirishni xohlayman. buni qanday qilish kerak?

public Vector2 GetAsMeters (Vector2 vec) {
    Vector2 meters = new Vector2 (0, 0);
    while (vec.x > 1000) {
        vec.x -= 1000;
        meters.x++;
    }
    meters.x += vec.x;
    while (vec.y > 1000) {
        vec.y -= 1000;
        meters.y++;
    }
    meters.y += vec.y;
    return meters;
}

EDIT: How to implement a measurement like "Left 4 Dead"? (this game has a huge map and its as long as real kilometers)

2
@HasanBayat, ehtimol, y yo'nalishi bo'yicha tortishish normal bo'lib, ikki barobar kuchga ega. Shunday qilib, har bir narsa ikki barobar uzunligi bo'lishi kerak, yoki xarita siz odatdagidek ikki barobar tez kamaytiradigan maxsus qoidalar bor degan ma'noni anglatadi.
qo'shib qo'ydi muallif Scott Chamberlain, manba
@HasanBayat, ehtimol, y yo'nalishi bo'yicha tortishish normal bo'lib, ikki barobar kuchga ega. Shunday qilib, har bir narsa ikki barobar uzunligi bo'lishi kerak, yoki xarita siz odatdagidek ikki barobar tez kamaytiradigan maxsus qoidalar bor degan ma'noni anglatadi.
qo'shib qo'ydi muallif Scott Chamberlain, manba
"y ning fizik tortishish darajasi 2" degani nimani anglatishini bilmoqchiman? (men uxlashni xohlayman, shuning uchun bu hamma sharhlar va javoblarni ko'rish uchun kech bo'lishi mumkin)
qo'shib qo'ydi muallif Hasan Bayat, manba
Rahmat @Skott Chamberlain. dahshatli.
qo'shib qo'ydi muallif Hasan Bayat, manba
Rahmat @Skott Chamberlain. dahshatli.
qo'shib qo'ydi muallif Hasan Bayat, manba
Fizikada esa, gravitatsiya sozlamalari sukut bo'yicha 1 ta = 1 metrni baholaydi. Agar sizning dunyo sizdan farq qiladigan bo'lsa, unda tortishish parametrlarini O'zgartirish> Loyiha sozlamalari> Fizika> Gravitatsiya ostida o'zgartiring yoki jismoniy simulyatsiya ko'rinishi mumkin.
qo'shib qo'ydi muallif Serlite, manba
Hech narsa yo'q, chunki siz hamma narsani kattagina yoki kichikroq qilib yaratasiz. Agar siz bunday tovarlarni sotib olishni xohlasangiz, sizga kerakli o'lchamli model yoki sprite kerak va u erdan boring. Agar xohlasangiz, 1 birlik 1 metr yoki 1 sm yoki 1 km bo'lishi mumkin.
qo'shib qo'ydi muallif Tomasz Juszczak, manba

6 javoblar

Birlikda, ishlab chiquvchiga nimani anglatishini aniqlab olish kerak. Ishlab chiquvchilar 1 birlikka faqatgina 1 metrga yopishib olganlar.

Agar shunday qilsangiz, vektorning uzunligini hisoblaganda, uning o'lchamini oddiygina hisoblab chiqasiz.

float distanceInMeters = myVector2.magnitude

1 metrdan 1 metrga yopishib olsangiz, xuddi shu tarzda ikki pozitsiya orasidagi masofani o'lchashingiz mumkin:

float distanceInMeters = Vector2.Distance(positionA, positionB)
5
qo'shib qo'ydi
@HasanBayat: Unity (va boshqa har qanday 3D dastur) juda katta olamlarga qulay emasligini yodda tutish kerak. Ob'ektlar juda uzoqqa cho'zilganida asarlarni ko'rsatish mumkin. Shuning uchun siz 250 km uzoqlikdagi shaharni rejalashtirmoqchi bo'lsangiz, 1 birlik = 1km dan foydalaning.
qo'shib qo'ydi muallif Hellium, manba
Bu haqiqat. Men ko'cha 250 km bo'lgan shaharni yaratish uchun uning uzunligi 250000 bo'lishi kerak.
qo'shib qo'ydi muallif Hasan Bayat, manba

Birlikda, ishlab chiquvchiga nimani anglatishini aniqlab olish kerak. Ishlab chiquvchilar 1 birlikka faqatgina 1 metrga yopishib olganlar.

Agar shunday qilsangiz, vektorning uzunligini hisoblaganda, uning o'lchamini oddiygina hisoblab chiqasiz.

float distanceInMeters = myVector2.magnitude

1 metrdan 1 metrga yopishib olsangiz, xuddi shu tarzda ikki pozitsiya orasidagi masofani o'lchashingiz mumkin:

float distanceInMeters = Vector2.Distance(positionA, positionB)
5
qo'shib qo'ydi
@HasanBayat: Unity (va boshqa har qanday 3D dastur) juda katta olamlarga qulay emasligini yodda tutish kerak. Ob'ektlar juda uzoqqa cho'zilganida asarlarni ko'rsatish mumkin. Shuning uchun siz 250 km uzoqlikdagi shaharni rejalashtirmoqchi bo'lsangiz, 1 birlik = 1km dan foydalaning.
qo'shib qo'ydi muallif Hellium, manba
Bu haqiqat. Men ko'cha 250 km bo'lgan shaharni yaratish uchun uning uzunligi 250000 bo'lishi kerak.
qo'shib qo'ydi muallif Hasan Bayat, manba

Birlik o'lchovi metrlarda sukut bo'yicha hisoblanadi. Agar siz bu birliklarni o'zgartirishni xohlasangiz, konverter sinfini yaratish .

Siz Maya, 3Dmax yoki siz ishlaydigan har qanday 3D dasturdan o'lchashingiz mumkinligiga ishonch hosil qiling, chunki ularning o'lchami sm dir.

2
qo'shib qo'ydi

Birlik o'lchovi metrlarda sukut bo'yicha hisoblanadi. Agar siz bu birliklarni o'zgartirishni xohlasangiz, konverter sinfini yaratish .

Siz Maya, 3Dmax yoki siz ishlaydigan har qanday 3D dasturdan o'lchashingiz mumkinligiga ishonch hosil qiling, chunki ularning o'lchami sm dir.

2
qo'shib qo'ydi

Agar siz 1: 1 piksel o'lchovni bajarishni xohlasangiz, pixelperunitni spritlaringiz uchun 1 ga o'zgartirmang, shuning uchun sizning o'yin vektorini o'lchashlar sprites pixel size

1
qo'shib qo'ydi
Yaxshi fikr. Qanday qilib javoblarni bir vaqtning o'zida qabul qila olaman? ;)
qo'shib qo'ydi muallif Hasan Bayat, manba

Agar siz 1: 1 piksel o'lchovni bajarishni xohlasangiz, pixelperunitni spritlaringiz uchun 1 ga o'zgartirmang, shuning uchun sizning o'yin vektorini o'lchashlar sprites pixel size

1
qo'shib qo'ydi
Yaxshi fikr. Qanday qilib javoblarni bir vaqtning o'zida qabul qila olaman? ;)
qo'shib qo'ydi muallif Hasan Bayat, manba