Представляю вам скрипт на звук шагов! - Форум Игроделов
Пн, 10 Фев 2025, 11:28 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Представляю вам скрипт на звук шагов!
GoodgeniusДата: Сб, 01 Июн 2013, 07:24 | Сообщение # 1
 
Сообщений: 86
Награды: 0
Репутация: 6
Статус: Offline
Этот скрипт позволяет создать в вашем проекте звук шагов!Он да же меняет звуки шагов при ходьбе по определенным материалам!Тоесть идете по дереву(звук дерева) идете по металлу(звук металла) но чтобы слышались разные звуки ходьбы вам нужно помечать их тегами!Создайте теги : Metal,Wood,Dirt
этими тегами вы будете помечать поверхности,например: Wood тегом пометьте ту поверхность где дерево ну и т.д
В скрипте так же нужно чут чуть разобраться, например: чтобы менять скорость шагов и громкость.
Думаю особого труда разобраться не заставит.
Откуда брал не помню.Вроде из Fps Kit.

Скрипт "Foot Steps".

Код
/**
* Script made by OMA [www.oma.netau.net]
**/

var concrete : AudioClip[];
var wood : AudioClip[];
var dirt : AudioClip[];
var metal : AudioClip[];
private var step : boolean = true;
var audioStepLengthWalk : float = 0.45;
var audioStepLengthRun : float = 0.25;

function OnControllerColliderHit (hit : ControllerColliderHit) {
var controller : CharacterController = GetComponent(CharacterController);

if (controller.isGrounded && controller.velocity.magnitude < 8 && controller.velocity.magnitude > 1 && hit.gameObject.tag == "Concrete"  && step == true || controller.isGrounded && controller.velocity.magnitude < 1 && controller.velocity.magnitude > 1 && hit.gameObject.tag == "Untagged" && step == true ) {
    WalkOnConcrete();
   } else if (controller.isGrounded && controller.velocity.magnitude > 3 && hit.gameObject.tag == "Concrete" && step == true || controller.isGrounded && controller.velocity.magnitude > 3 && hit.gameObject.tag == "Untagged" && step == true) {
    RunOnConcrete();
   } else if (controller.isGrounded && controller.velocity.magnitude < 3 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Wood" && step == true) {
    WalkOnWood();
   } else if (controller.isGrounded && controller.velocity.magnitude > 1 && hit.gameObject.tag == "Wood" && step == true) {
    RunOnWood();
   } else if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 1 && hit.gameObject.tag == "Dirt" && step == true) {
    WalkOnDirt();
   } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Dirt" && step == true) {
    RunOnDirt();
   } else if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 1 && hit.gameObject.tag == "Metal" && step == true) {
    WalkOnMetal();
   } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Metal" && step == true) {
    RunOnMetal();    
   }   
}

/////////////////////////////////// CONCRETE ////////////////////////////////////////
function WalkOnConcrete() {
   step = false;
   audio.clip = concrete[Random.Range(0, concrete.length)];
   audio.volume = 99.9;
   audio.Play();
   yield WaitForSeconds (audioStepLengthWalk);
   step = true;
}

function RunOnConcrete() {
   step = false;
   audio.clip = concrete[Random.Range(0, concrete.length)];
   audio.volume = 99.9;
   audio.Play();
   yield WaitForSeconds (audioStepLengthRun);
   step = true;
}   

////////////////////////////////// WOOD /////////////////////////////////////////////
function WalkOnWood() {
   step = false;
   audio.clip = wood[Random.Range(0, wood.length)];
   audio.volume = 79.1;
   audio.Play();
   yield WaitForSeconds (audioStepLengthWalk);
   step = true;
}

function RunOnWood() {
   step = false;
   audio.clip = wood[Random.Range(0, wood.length)];
   audio.volume = 79.1;
   audio.Play();
   yield WaitForSeconds (audioStepLengthRun);
   step = true;
}

/////////////////////////////////// DIRT //////////////////////////////////////////////
function WalkOnDirt() {
   step = false;
   audio.clip = dirt[Random.Range(0, dirt.length)];
   audio.volume = 99.1;
   audio.Play();
   yield WaitForSeconds (audioStepLengthWalk);
   step = true;
}

function RunOnDirt() {
   step = false;
   audio.clip = dirt[Random.Range(0, dirt.length)];
   audio.volume = 99.3;
   audio.Play();
   yield WaitForSeconds (audioStepLengthRun);
   step = true;
}

////////////////////////////////// METAL ///////////////////////////////////////////////
function WalkOnMetal() {   
   step = false;
   audio.clip = metal[Random.Range(0, metal.length)];
   audio.volume = 99.1;
   audio.Play();
   yield WaitForSeconds (audioStepLengthWalk);
   step = true;
}

function RunOnMetal() {
   step = false;
   audio.clip = metal[Random.Range(0, metal.length)];
   audio.volume = 99.3;
   audio.Play();
   yield WaitForSeconds (audioStepLengthRun);
   step = true;
}

@script RequireComponent(AudioSource)


Сообщение отредактировал Goodgenius - Сб, 01 Июн 2013, 07:25
 
СообщениеЭтот скрипт позволяет создать в вашем проекте звук шагов!Он да же меняет звуки шагов при ходьбе по определенным материалам!Тоесть идете по дереву(звук дерева) идете по металлу(звук металла) но чтобы слышались разные звуки ходьбы вам нужно помечать их тегами!Создайте теги : Metal,Wood,Dirt
этими тегами вы будете помечать поверхности,например: Wood тегом пометьте ту поверхность где дерево ну и т.д
В скрипте так же нужно чут чуть разобраться, например: чтобы менять скорость шагов и громкость.
Думаю особого труда разобраться не заставит.
Откуда брал не помню.Вроде из Fps Kit.

Скрипт "Foot Steps".

Код
/**
* Script made by OMA [www.oma.netau.net]
**/

var concrete : AudioClip[];
var wood : AudioClip[];
var dirt : AudioClip[];
var metal : AudioClip[];
private var step : boolean = true;
var audioStepLengthWalk : float = 0.45;
var audioStepLengthRun : float = 0.25;

function OnControllerColliderHit (hit : ControllerColliderHit) {
var controller : CharacterController = GetComponent(CharacterController);

if (controller.isGrounded && controller.velocity.magnitude < 8 && controller.velocity.magnitude > 1 && hit.gameObject.tag == "Concrete"  && step == true || controller.isGrounded && controller.velocity.magnitude < 1 && controller.velocity.magnitude > 1 && hit.gameObject.tag == "Untagged" && step == true ) {
    WalkOnConcrete();
   } else if (controller.isGrounded && controller.velocity.magnitude > 3 && hit.gameObject.tag == "Concrete" && step == true || controller.isGrounded && controller.velocity.magnitude > 3 && hit.gameObject.tag == "Untagged" && step == true) {
    RunOnConcrete();
   } else if (controller.isGrounded && controller.velocity.magnitude < 3 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Wood" && step == true) {
    WalkOnWood();
   } else if (controller.isGrounded && controller.velocity.magnitude > 1 && hit.gameObject.tag == "Wood" && step == true) {
    RunOnWood();
   } else if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 1 && hit.gameObject.tag == "Dirt" && step == true) {
    WalkOnDirt();
   } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Dirt" && step == true) {
    RunOnDirt();
   } else if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 1 && hit.gameObject.tag == "Metal" && step == true) {
    WalkOnMetal();
   } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Metal" && step == true) {
    RunOnMetal();    
   }   
}

/////////////////////////////////// CONCRETE ////////////////////////////////////////
function WalkOnConcrete() {
   step = false;
   audio.clip = concrete[Random.Range(0, concrete.length)];
   audio.volume = 99.9;
   audio.Play();
   yield WaitForSeconds (audioStepLengthWalk);
   step = true;
}

function RunOnConcrete() {
   step = false;
   audio.clip = concrete[Random.Range(0, concrete.length)];
   audio.volume = 99.9;
   audio.Play();
   yield WaitForSeconds (audioStepLengthRun);
   step = true;
}   

////////////////////////////////// WOOD /////////////////////////////////////////////
function WalkOnWood() {
   step = false;
   audio.clip = wood[Random.Range(0, wood.length)];
   audio.volume = 79.1;
   audio.Play();
   yield WaitForSeconds (audioStepLengthWalk);
   step = true;
}

function RunOnWood() {
   step = false;
   audio.clip = wood[Random.Range(0, wood.length)];
   audio.volume = 79.1;
   audio.Play();
   yield WaitForSeconds (audioStepLengthRun);
   step = true;
}

/////////////////////////////////// DIRT //////////////////////////////////////////////
function WalkOnDirt() {
   step = false;
   audio.clip = dirt[Random.Range(0, dirt.length)];
   audio.volume = 99.1;
   audio.Play();
   yield WaitForSeconds (audioStepLengthWalk);
   step = true;
}

function RunOnDirt() {
   step = false;
   audio.clip = dirt[Random.Range(0, dirt.length)];
   audio.volume = 99.3;
   audio.Play();
   yield WaitForSeconds (audioStepLengthRun);
   step = true;
}

////////////////////////////////// METAL ///////////////////////////////////////////////
function WalkOnMetal() {   
   step = false;
   audio.clip = metal[Random.Range(0, metal.length)];
   audio.volume = 99.1;
   audio.Play();
   yield WaitForSeconds (audioStepLengthWalk);
   step = true;
}

function RunOnMetal() {
   step = false;
   audio.clip = metal[Random.Range(0, metal.length)];
   audio.volume = 99.3;
   audio.Play();
   yield WaitForSeconds (audioStepLengthRun);
   step = true;
}

@script RequireComponent(AudioSource)

Автор - Goodgenius
Дата добавления - 01 Июн 2013 в 07:24
игнатДата: Сб, 01 Июн 2013, 11:28 | Сообщение # 2
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
А ничего, что кит выложен на нашем форуме?


Правила форума · участник GCC
 
СообщениеА ничего, что кит выложен на нашем форуме?

Автор - игнат
Дата добавления - 01 Июн 2013 в 11:28
GoodgeniusДата: Сб, 01 Июн 2013, 12:08 | Сообщение # 3
 
Сообщений: 86
Награды: 0
Репутация: 6
Статус: Offline
Я точно не знаю что это из FPS KIT.
Да и кому хочется скачивать весь проект ради одного скрипта?
 
СообщениеЯ точно не знаю что это из FPS KIT.
Да и кому хочется скачивать весь проект ради одного скрипта?

Автор - Goodgenius
Дата добавления - 01 Июн 2013 в 12:08
игнатДата: Сб, 01 Июн 2013, 13:27 | Сообщение # 4
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Во-первых, написано Script made by OMA , значит создал его OMA, а его работы можно увидеть здесь, кроме того, OMA всегда пишет на unity Js.
Во-вторых, китs от омы намного лучше всех остальных китов на Asset Stor, и распространяется бесплатно, правда у него есть WIP FPS KIT, так же именно он создатель FPS Kit | Version 2.0. И вам ещё очень долго работать до того, что есть в бесплатном.



Правила форума · участник GCC
 
СообщениеВо-первых, написано Script made by OMA , значит создал его OMA, а его работы можно увидеть здесь, кроме того, OMA всегда пишет на unity Js.
Во-вторых, китs от омы намного лучше всех остальных китов на Asset Stor, и распространяется бесплатно, правда у него есть WIP FPS KIT, так же именно он создатель FPS Kit | Version 2.0. И вам ещё очень долго работать до того, что есть в бесплатном.

Автор - игнат
Дата добавления - 01 Июн 2013 в 13:27
JohnsonДата: Пн, 03 Июн 2013, 14:07 | Сообщение # 5
 
Сообщений: 24
Награды: 0
Репутация: 0
Статус: Offline
Цитата (Goodgenius)
вам нужно помечать их тегами!Создайте теги : Metal,Wood,Dirt

Зависимость от физических материалов мб лучше?..
 
Сообщение
Цитата (Goodgenius)
вам нужно помечать их тегами!Создайте теги : Metal,Wood,Dirt

Зависимость от физических материалов мб лучше?..

Автор - Johnson
Дата добавления - 03 Июн 2013 в 14:07
GoodgeniusДата: Пн, 03 Июн 2013, 14:12 | Сообщение # 6
 
Сообщений: 86
Награды: 0
Репутация: 6
Статус: Offline
Цитата
Зависимость от физических материалов мб лучше?..


Извините,не понял вопрос.


Сообщение отредактировал Goodgenius - Пн, 03 Июн 2013, 14:12
 
Сообщение
Цитата
Зависимость от физических материалов мб лучше?..


Извините,не понял вопрос.

Автор - Goodgenius
Дата добавления - 03 Июн 2013 в 14:12
игнатДата: Пн, 03 Июн 2013, 15:24 | Сообщение # 7
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Цитата (Johnson)
Зависимость от физических материалов мб лучше?..

И как вы это себе представляете? Типо к текстуре приделать? lol



Правила форума · участник GCC
 
Сообщение
Цитата (Johnson)
Зависимость от физических материалов мб лучше?..

И как вы это себе представляете? Типо к текстуре приделать? lol

Автор - игнат
Дата добавления - 03 Июн 2013 в 15:24
seamanДата: Пн, 03 Июн 2013, 15:43 | Сообщение # 8
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Цитата
И как вы это себе представляете? Типо к текстуре приделать?

Типо настроить физические материалы biggrin А Вам совет - типо почитать про них.
 
Сообщение
Цитата
И как вы это себе представляете? Типо к текстуре приделать?

Типо настроить физические материалы biggrin А Вам совет - типо почитать про них.

Автор - seaman
Дата добавления - 03 Июн 2013 в 15:43
игнатДата: Пн, 03 Июн 2013, 15:46 | Сообщение # 9
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Хотя да, теги - вещь нужная, и могут понадобиться не только для этого...


Правила форума · участник GCC
 
СообщениеХотя да, теги - вещь нужная, и могут понадобиться не только для этого...

Автор - игнат
Дата добавления - 03 Июн 2013 в 15:46
VolkOrievithДата: Пт, 05 Июл 2013, 14:20 | Сообщение # 10
Нет аватара
 
Сообщений: 222
Награды: 0
Репутация: 53
Статус: Offline
Цитата (игнат)
Хотя да, теги - вещь нужная, и могут понадобиться не только для этого...

Это точно! Вот я написал в скрипте:
Код

// Рейкаст (***, ***, Hit);
if (Hit.collider.material.name == "Metal")
// делает определённое  действие


Почему такая фишка не срабатывает, и если Hit.collider.material.name == "Metal", то имя материала меняется на "Metal(inscense)" я точно не помню, но в общих чертах описал верно.
 
Сообщение
Цитата (игнат)
Хотя да, теги - вещь нужная, и могут понадобиться не только для этого...

Это точно! Вот я написал в скрипте:
Код

// Рейкаст (***, ***, Hit);
if (Hit.collider.material.name == "Metal")
// делает определённое  действие


Почему такая фишка не срабатывает, и если Hit.collider.material.name == "Metal", то имя материала меняется на "Metal(inscense)" я точно не помню, но в общих чертах описал верно.

Автор - VolkOrievith
Дата добавления - 05 Июл 2013 в 14:20
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025