Представляю вам скрипт на звук шагов!
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 )
Зависимость от физических материалов мб лучше?..
И как вы это себе представляете? Типо к текстуре приделать?
Правила форума · участник GCC
Сообщение Цитата (Johnson )
Зависимость от физических материалов мб лучше?..
И как вы это себе представляете? Типо к текстуре приделать? Автор - игнат Дата добавления - 03 Июн 2013 в 15:24
seaman Дата: Пн, 03 Июн 2013, 15:43 | Сообщение # 8
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Цитата
И как вы это себе представляете? Типо к текстуре приделать?
Типо настроить физические материалы А Вам совет - типо почитать про них.
Сообщение Цитата
И как вы это себе представляете? Типо к текстуре приделать?
Типо настроить физические материалы А Вам совет - типо почитать про них.Автор - 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