Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1144 / 309 / 159
Регистрация: 30.07.2022
Сообщений: 1,786
Записей в блоге: 4

Звуки шагов в игре от первого лица

18.02.2023, 12:17. Показов 1199. Ответов 2

Студворк — интернет-сервис помощи студентам
Доброго времени!
Сейчас я воспроизвожу звуки шагов по таймеру.
(то есть, пока игрок не стоит, с равной частотой (с небольшой рандомной погрешностью ) по времени воспроизводится звук шага)

Но у меня появилась идея привязать звуки к пройденному расстоянию и velocity(для ускорения или замедления частоты воспроизведения звука).

однако, у меня очень странная математика получается.
Буду рад выслушать ваш мнение о составлении подобного уравнения.

Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2023, 12:17
Ответы с готовыми решениями:

Не слышу звуки шагов в играх
В играх ужасно плохо слышу шаги. Однако звук стрельбы громкий, даже очень. Если общую громкость делать больше, то оглохну минут через 10. ...

Не могу сделать звуки шагов
Не могу сделать звуки шагов через скрипт. Я хочу чтобы персонаж имел звуки ходьбы и они отличались от материала, по которому персонаж идет...

Unity звуки шагов в BlendTree через ивенты плохо работают
Здравствуйте, столкнулся с проблемой, звуки шагов в моей игре сделаны через ивенты в анимации, все анимации передвижения я закинул в...

2
 Аватар для zhunshun
767 / 495 / 216
Регистрация: 05.04.2015
Сообщений: 2,075
19.02.2023, 16:54
Цитата Сообщение от devillived Посмотреть сообщение
очень странная математика
например
У меня такая получилась
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections;
using System.Threading.Tasks;
using UnityEngine;
 
public class ReflectVector : MonoBehaviour
{
    public GameObject go;
    public AudioClip cl;
    private Rigidbody2D rb;
    Vector3 move = Vector3.zero;
    void Start()
    {
        rb = go.GetComponent<Rigidbody2D>();
    }
    void FixedUpdate()
    {
        float s = Input.GetAxis("Vertical");
        move.x += s * .1f;
        rb.velocity = move;
        
        if (Mathf.Abs(s) > 0f) {
            if (Mathf.Repeat(Time.time, 1) < 0.005f) {
                StartCoroutine(Step());
            }
        } else {
            move = Vector2.zero;
            rb.velocity = move;
        }
    }
    int Coeff(float speed) => Convert.ToInt32(speed / 5);
    IEnumerator Step() {
        int c = Coeff(Mathf.Abs(move.x));
        for (int i = 0; i < c; i++) {
            go.GetComponent<AudioSource>().PlayOneShot(cl);
            yield return new WaitForSeconds(1f/c);
        }
    }
}
1
1144 / 309 / 159
Регистрация: 30.07.2022
Сообщений: 1,786
Записей в блоге: 4
11.08.2023, 13:22  [ТС]
вот так переделал.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using UnityEngine;
 
public class ObjectMovement : MonoBehaviour
{
    public float speed = 5f; // Скорость движения объекта
    public float distanceBetweenMethods = 2f; // Расстояние между вызовами метода
 
    private float distanceMoved = 0f; // Пройденное расстояние
 
    private void Update()
    {
        // Двигаем объект вперед
        transform.Translate(Vector3.forward * speed * Time.deltaTime);
 
        // Обновляем пройденное расстояние
        distanceMoved += speed * Time.deltaTime;
 
        // Если пройденное расстояние достигло заданного значения, вызываем метод
        if (distanceMoved >= distanceBetweenMethods)
        {
            CallMethod();
            distanceMoved = 0f; // Сбрасываем пройденное расстояние
        }
    }
 
    private void CallMethod()
    {
        //код для вызова метода
        Debug.Log("Метод вызван!");
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.08.2023, 13:22
Помогаю со студенческими работами здесь

Разные звуки шагов по тиррейну. Возможно ли отследить текстуру под игроком ?
Разные звуки шагов по тиррейну. Возможно ли отследить текстуру под игроком? слои не подходят по явно понятной причине. теги тоже. как...

Появление текста по таймеру и звуки в игре
Помогите пожалуйста, мне нужно нужно чтобы текст появлялся в начале игры и примерно через 3 сек. пропадал. Как это организовать? Также...

Камера от первого лица
В который раз, вечер добрый, очередная проблема, хотя не решились еще предыдущие) Необходимо сотворить вид с камеры, от локомотива, в...

Управление от первого лица
Здравствуйте, мне необходим код для того что бы заставить объект( с прикрепленной камерой к лицу) заставиться двигаться как на wasd, так и...

Метание копья от первого лица
подскажите, если кто знает. как в unity3d сымитировать полет копья/стрелы от первого лица, чтоб игрок мог метать эти самые копья?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru