Unity 3d - Помощь в написании скриптов.
DjeeZ Дата: Пт, 10 Июн 2011, 16:10 | Сообщение # 201
Сообщений: 270
Награды:
8
Репутация:
291
Статус: Offline
В C# имя надо в угловые скобки <> помещать. А так правильно, вроде. otherScript = GetComponent<OtherScript>(); Code
//Пускай в другом скипте имеется публичная переменная типа int - "perem" //в начале этого скрипта объявляем переменную типа GameObject: public GameObject hand; //ищем с помощью метода Find объект по имени "pers": hand = GameObject.Find("pers"); //получаем в "а" нужную публичную переменную int a = hand.GetComponent<script1>().perem; Debug.Log(a); // выводим ее в консоль для проверки работы скрипта
В JavaScript сам переводи. По разному можно обратиться к другим объектам и компонентам. Лучше в меню Unity, вверху, нажать "help", выбрать - Scripting Reference, и на первой же странице видим, например, ссылку - Accessing Other Game Objects (доступ к другим гейм-объектам), переходим и очучиваемся на странице с разнообразными примерами доступа к объектам игры. Недалеко - ходить, не правда ли? Тоже, бывает, забываю, что справка есть. Сколько бывало жалоб на недостаточную, плохую или полное отсутствие документации при использовании многих движков и других программ. А тут, дали - а нам не надо!
Сообщение отредактировал DjeeZ - Пт, 10 Июн 2011, 16:50
Сообщение В C# имя надо в угловые скобки <> помещать. А так правильно, вроде. otherScript = GetComponent<OtherScript>(); Code
//Пускай в другом скипте имеется публичная переменная типа int - "perem" //в начале этого скрипта объявляем переменную типа GameObject: public GameObject hand; //ищем с помощью метода Find объект по имени "pers": hand = GameObject.Find("pers"); //получаем в "а" нужную публичную переменную int a = hand.GetComponent<script1>().perem; Debug.Log(a); // выводим ее в консоль для проверки работы скрипта
В JavaScript сам переводи. По разному можно обратиться к другим объектам и компонентам. Лучше в меню Unity, вверху, нажать "help", выбрать - Scripting Reference, и на первой же странице видим, например, ссылку - Accessing Other Game Objects (доступ к другим гейм-объектам), переходим и очучиваемся на странице с разнообразными примерами доступа к объектам игры. Недалеко - ходить, не правда ли? Тоже, бывает, забываю, что справка есть. Сколько бывало жалоб на недостаточную, плохую или полное отсутствие документации при использовании многих движков и других программ. А тут, дали - а нам не надо! Автор - DjeeZ Дата добавления - 10 Июн 2011 в 16:10
durak007 Дата: Пн, 13 Июн 2011, 23:25 | Сообщение # 202
Сообщений: 177
Награды:
2
Репутация:
162
Статус: Offline
Спасибо что вы мне ответили как именно взять переменную с другого объекта. Потому что в вопросе я это вобще не обриовал.А мне нужно именно получение с другого объекта.Добавлено (10.06.2011, 18:14) --------------------------------------------- Вот этот джава скрипт работает для получения переменной с другого объекта
Code
function Start () { // By name var go = GameObject.Find("First1"); go.GetComponent(Go1).enabled=false; }
Добавлено (13.06.2011, 23:25) --------------------------------------------- Скажите пожалуйста, можно ли компоненту камера, именно компоненту, который цепляется через меню компонент рендеринг к объекту, а не объект камера. Можно ли компоненту камере поменять координаты положения над объектом. Над 3 д персон или над машиной.
Нет Бога кроме Аллаха и Ларс фон Триер пророк Его. И он также участник клуба GCC
Сообщение Спасибо что вы мне ответили как именно взять переменную с другого объекта. Потому что в вопросе я это вобще не обриовал.А мне нужно именно получение с другого объекта.Добавлено (10.06.2011, 18:14) --------------------------------------------- Вот этот джава скрипт работает для получения переменной с другого объекта
Code
function Start () { // By name var go = GameObject.Find("First1"); go.GetComponent(Go1).enabled=false; }
Добавлено (13.06.2011, 23:25) --------------------------------------------- Скажите пожалуйста, можно ли компоненту камера, именно компоненту, который цепляется через меню компонент рендеринг к объекту, а не объект камера. Можно ли компоненту камере поменять координаты положения над объектом. Над 3 д персон или над машиной.
Автор - durak007 Дата добавления - 13 Июн 2011 в 23:25
Левша Дата: Вт, 14 Июн 2011, 13:07 | Сообщение # 203
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (durak007 )
Вот этот джава скрипт работает для получения переменной с другого объекта
А на фига все эти сложности? Code
static var blaBla = 0;
Вызов из др. скрипта: Code
SkriptName.blaBla = 1;
В Js имя скрипта - это тот же класс.
X.cor.R (Prologue)
Сообщение Quote (durak007 )
Вот этот джава скрипт работает для получения переменной с другого объекта
А на фига все эти сложности? Code
static var blaBla = 0;
Вызов из др. скрипта: Code
SkriptName.blaBla = 1;
В Js имя скрипта - это тот же класс.Автор - Левша Дата добавления - 14 Июн 2011 в 13:07
yeah48rus Дата: Вт, 14 Июн 2011, 21:31 | Сообщение # 204
Сообщений: 12
Награды:
0
Репутация:
1
Статус: Offline
Всем добрый вечер , хотелось бы задать вопрос : кто-нибудь знает возможность реализации взрыва при столкновении обьектов? ну т.е. 1 обект (машина) наезжает на бочку , бочка взрывается. в качестве реализации самого взрыва использую пак с офф сайта Detonator простейшим алгоритмом решения данной проблемы было бы - при изменении позиции бочки активируется обьект имитирующий взрыв. но к сожалению в скриптописании я не особо силён... попытался написать сам , но чтото не рабит нифига:))) var a : GameObject; var b : GameObject; var c : GameObject; function BombActive() { if (a.transform.position.x != c.transform.position.x ) { b.active = true ; } } a - бочка, b - неактивный префаб взрыва , с - пустой геймобьект с координатами соответствующими бочке.
Сообщение отредактировал yeah48rus - Вт, 14 Июн 2011, 22:19
Сообщение Всем добрый вечер , хотелось бы задать вопрос : кто-нибудь знает возможность реализации взрыва при столкновении обьектов? ну т.е. 1 обект (машина) наезжает на бочку , бочка взрывается. в качестве реализации самого взрыва использую пак с офф сайта Detonator простейшим алгоритмом решения данной проблемы было бы - при изменении позиции бочки активируется обьект имитирующий взрыв. но к сожалению в скриптописании я не особо силён... попытался написать сам , но чтото не рабит нифига:))) var a : GameObject; var b : GameObject; var c : GameObject; function BombActive() { if (a.transform.position.x != c.transform.position.x ) { b.active = true ; } } a - бочка, b - неактивный префаб взрыва , с - пустой геймобьект с координатами соответствующими бочке. Автор - yeah48rus Дата добавления - 14 Июн 2011 в 21:31
Shut Дата: Вт, 14 Июн 2011, 22:33 | Сообщение # 205
Сообщений: 608
Награды:
2
Репутация:
258
Статус: Offline
yeah48rus , в fps tutorial это рассматривается. Code
var explosion : GameObject; function OnCollisionEnter( collision : Collision ) { var contact : ContactPoint = collision.contacts[0]; var rotation = Quaternion.FromToRotation( Vector3.up, contact.normal ); var instantiatedExplosion : GameObject = Instantiate( explosion, contact.point, rotation ); Destroy( gameObject ); }
отсюда можно немного взять. p.s. скриптинг не мой конек если что
Где арахисы - там и зима.
Сообщение yeah48rus , в fps tutorial это рассматривается. Code
var explosion : GameObject; function OnCollisionEnter( collision : Collision ) { var contact : ContactPoint = collision.contacts[0]; var rotation = Quaternion.FromToRotation( Vector3.up, contact.normal ); var instantiatedExplosion : GameObject = Instantiate( explosion, contact.point, rotation ); Destroy( gameObject ); }
отсюда можно немного взять. p.s. скриптинг не мой конек если чтоАвтор - Shut Дата добавления - 14 Июн 2011 в 22:33
yeah48rus Дата: Вт, 14 Июн 2011, 22:50 | Сообщение # 206
Сообщений: 12
Награды:
0
Репутация:
1
Статус: Offline
Shut , помоему там скрипт ещё вешается на "источник" удара... или я ошибаюсь да и какбы мне чем проще будет реализация тем лучше...
Сообщение Shut , помоему там скрипт ещё вешается на "источник" удара... или я ошибаюсь да и какбы мне чем проще будет реализация тем лучше... Автор - yeah48rus Дата добавления - 14 Июн 2011 в 22:50
Левша Дата: Ср, 15 Июн 2011, 10:36 | Сообщение # 207
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (yeah48rus )
чем проще будет реализация тем лучше...
Да куда уж проще... Quote (yeah48rus )
там скрипт ещё вешается на "источник" удара
Нет. Взрыв будет при столкновении с любым коллайдером, или можно выборочно через тег или слой.
X.cor.R (Prologue)
Сообщение Quote (yeah48rus )
чем проще будет реализация тем лучше...
Да куда уж проще... Quote (yeah48rus )
там скрипт ещё вешается на "источник" удара
Нет. Взрыв будет при столкновении с любым коллайдером, или можно выборочно через тег или слой.Автор - Левша Дата добавления - 15 Июн 2011 в 10:36
yeah48rus Дата: Ср, 15 Июн 2011, 22:31 | Сообщение # 208
Сообщений: 12
Награды:
0
Репутация:
1
Статус: Offline
люди добрые помогите плз ещё пожалуйста:) на сцене есть камера, на камере висят 2 скрипта - смутфаллоу и мауслук. можно ли добавить функцию включения скрипта мауслук по нажатии ПКМ и отключении скрипта смутфаллоу, ну сообтветственно когда ПКМ отпускается мауслук отключается , смутфаллоу включается?
Сообщение люди добрые помогите плз ещё пожалуйста:) на сцене есть камера, на камере висят 2 скрипта - смутфаллоу и мауслук. можно ли добавить функцию включения скрипта мауслук по нажатии ПКМ и отключении скрипта смутфаллоу, ну сообтветственно когда ПКМ отпускается мауслук отключается , смутфаллоу включается? Автор - yeah48rus Дата добавления - 15 Июн 2011 в 22:31
Левша Дата: Ср, 15 Июн 2011, 22:56 | Сообщение # 209
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (yeah48rus )
можно ли добавить
Лишний вопрос, в Юньке все можно. Простой способ - добавь в Input новый button и назначь ПКМ (mouse2). В скрипте по условию: Code
if (Input.GetButton ("PKM")) { }
Cделаешь enable, disable своим скриптам.
X.cor.R (Prologue)
Сообщение Quote (yeah48rus )
можно ли добавить
Лишний вопрос, в Юньке все можно. Простой способ - добавь в Input новый button и назначь ПКМ (mouse2). В скрипте по условию: Code
if (Input.GetButton ("PKM")) { }
Cделаешь enable, disable своим скриптам.Автор - Левша Дата добавления - 15 Июн 2011 в 22:56
yeah48rus Дата: Чт, 16 Июн 2011, 21:09 | Сообщение # 210
Сообщений: 12
Награды:
0
Репутация:
1
Статус: Offline
всем привет ещё раз , хочу показать скрипт на задние фары машины , можт комуто пригодится , ну и сразу же хочу задать вопрос , в сочетании со скриптом из оффициального картуториала он работает , а сейчас в другом проекте почемуто не хочет... в чём может быть проблема??? можт у когото были проблемы такие... Code
var lightSourceBrakingL : GameObject; var lightSourceBrakingR : GameObject; var lightSourceBackwardL : GameObject; var lightSourceBackwardR : GameObject; function SetBackLight(){ if (Input.GetKey("space")){ SwitchBackLight(1); } else{ if (((gear> 0) && (Input.GetAxis("Vertical") <0 )) || ((gear< 0) && (Input.GetAxis("Vertical") > 0 ))){ SwitchBackLight(1); } else { if (Input.GetKey("s")||Input.GetKey("down")) { SwitchBackLight(2); } else { SwitchBackLight(0); } } } } function SwitchBackLight( lightType : int) { switch (lightType){ case 0: lightSourceBrakingL.active = false; lightSourceBrakingR.active = false; lightSourceBackwardL.active = false; lightSourceBackwardR.active = false; break; case 1: lightSourceBrakingL.active = true; lightSourceBrakingR.active = true; lightSourceBackwardL.active = false; lightSourceBackwardR.active = false; break; case 2: lightSourceBrakingL.active = false; lightSourceBrakingR.active = false; lightSourceBackwardL.active = true; lightSourceBackwardR.active = true; break; } }
Сообщение всем привет ещё раз , хочу показать скрипт на задние фары машины , можт комуто пригодится , ну и сразу же хочу задать вопрос , в сочетании со скриптом из оффициального картуториала он работает , а сейчас в другом проекте почемуто не хочет... в чём может быть проблема??? можт у когото были проблемы такие... Code
var lightSourceBrakingL : GameObject; var lightSourceBrakingR : GameObject; var lightSourceBackwardL : GameObject; var lightSourceBackwardR : GameObject; function SetBackLight(){ if (Input.GetKey("space")){ SwitchBackLight(1); } else{ if (((gear> 0) && (Input.GetAxis("Vertical") <0 )) || ((gear< 0) && (Input.GetAxis("Vertical") > 0 ))){ SwitchBackLight(1); } else { if (Input.GetKey("s")||Input.GetKey("down")) { SwitchBackLight(2); } else { SwitchBackLight(0); } } } } function SwitchBackLight( lightType : int) { switch (lightType){ case 0: lightSourceBrakingL.active = false; lightSourceBrakingR.active = false; lightSourceBackwardL.active = false; lightSourceBackwardR.active = false; break; case 1: lightSourceBrakingL.active = true; lightSourceBrakingR.active = true; lightSourceBackwardL.active = false; lightSourceBackwardR.active = false; break; case 2: lightSourceBrakingL.active = false; lightSourceBrakingR.active = false; lightSourceBackwardL.active = true; lightSourceBackwardR.active = true; break; } }
Автор - yeah48rus Дата добавления - 16 Июн 2011 в 21:09
Tibers Дата: Чт, 16 Июн 2011, 22:30 | Сообщение # 211
Сообщений: 93
Награды:
3
Репутация:
58
Статус: Offline
привет всем мне нужен нормальный скрипт врага а не с tutorial который делает выстрел потом шаг чтоб он стоял на месте и стрелял или бегал и стрелял
[img]http://i.imgur.com/Muw4o.png[/img]
Сообщение привет всем мне нужен нормальный скрипт врага а не с tutorial который делает выстрел потом шаг чтоб он стоял на месте и стрелял или бегал и стрелял Автор - Tibers Дата добавления - 16 Июн 2011 в 22:30
yeah48rus Дата: Чт, 16 Июн 2011, 23:08 | Сообщение # 212
Сообщений: 12
Награды:
0
Репутация:
1
Статус: Offline
ну чтобы стоял и стрелял можно из буткампдемо вырезать вот ссылка
Сообщение ну чтобы стоял и стрелял можно из буткампдемо вырезать вот ссылка Автор - yeah48rus Дата добавления - 16 Июн 2011 в 23:08
Левша Дата: Чт, 16 Июн 2011, 23:20 | Сообщение # 213
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (yeah48rus )
оффициального картуториала он работает , а сейчас в другом проекте почемуто не хочет... в чём может быть проблема???
Чет я не понял... а где запуск функции SetBackLight ? Как оно будет работать? Наверно в оф проекте регистрировались классы и вызывались функции из др. скрипта.
X.cor.R (Prologue)
Сообщение Quote (yeah48rus )
оффициального картуториала он работает , а сейчас в другом проекте почемуто не хочет... в чём может быть проблема???
Чет я не понял... а где запуск функции SetBackLight ? Как оно будет работать? Наверно в оф проекте регистрировались классы и вызывались функции из др. скрипта.Автор - Левша Дата добавления - 16 Июн 2011 в 23:20
yeah48rus Дата: Чт, 16 Июн 2011, 23:52 | Сообщение # 214
Сообщений: 12
Награды:
0
Репутация:
1
Статус: Offline
всё, нашёл косяк...:))))сам затупил , в function Update дописываем строчку и пользуемся на здоровье:))) SetBackLight();
Сообщение отредактировал yeah48rus - Пт, 17 Июн 2011, 00:02
Сообщение всё, нашёл косяк...:))))сам затупил , в function Update дописываем строчку и пользуемся на здоровье:))) SetBackLight(); Автор - yeah48rus Дата добавления - 16 Июн 2011 в 23:52
durak007 Дата: Пт, 17 Июн 2011, 01:27 | Сообщение # 215
Сообщений: 177
Награды:
2
Репутация:
162
Статус: Offline
Скажите плиз. Вот любая вешиль после отработки имеет инерцию и без надобности движется пот тераину после завершения пользования ею. Как можно убрать её инерцию движения из скрипта. Короче как можно остановить инерцию движения объекта из скрипта? Премного благодарен
Нет Бога кроме Аллаха и Ларс фон Триер пророк Его. И он также участник клуба GCC
Сообщение Скажите плиз. Вот любая вешиль после отработки имеет инерцию и без надобности движется пот тераину после завершения пользования ею. Как можно убрать её инерцию движения из скрипта. Короче как можно остановить инерцию движения объекта из скрипта? Премного благодарен Автор - durak007 Дата добавления - 17 Июн 2011 в 01:27
youfus Дата: Пт, 17 Июн 2011, 11:29 | Сообщение # 216
Сообщений: 11
Награды:
0
Репутация:
0
Статус: Offline
Ребят что то не могу айтвином создать вращение по кругу на определенном растоянии от точки. Айтвин у меня вообще выдает ошибки кучу. Может есть просто скриптик какой нибудь маленький?
Сообщение Ребят что то не могу айтвином создать вращение по кругу на определенном растоянии от точки. Айтвин у меня вообще выдает ошибки кучу. Может есть просто скриптик какой нибудь маленький? Автор - youfus Дата добавления - 17 Июн 2011 в 11:29
Левша Дата: Пт, 17 Июн 2011, 16:38 | Сообщение # 217
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (yeah48rus )
в function Update
А где в твоем скрипте Update ? Quote (yeah48rus )
всё, нашёл косяк
Вообщето я тебя прямо в него (косяк), ткнул. Quote (Левша )
где запуск функции SetBackLight ? Как оно будет работать?
Quote (youfus )
не могу айтвином создать вращение по кругу на определенном растоянии от точки
Удочери его ГО, смести координаты и вращай ГО. Quote (durak007 )
Вот любая вешиль после отработки имеет инерцию
даже без риджБоду? Quote (durak007 )
Короче как можно остановить инерцию движения объекта из скрипта?
Нулевой скоростью.
X.cor.R (Prologue)
Сообщение Quote (yeah48rus )
в function Update
А где в твоем скрипте Update ? Quote (yeah48rus )
всё, нашёл косяк
Вообщето я тебя прямо в него (косяк), ткнул. Quote (Левша )
где запуск функции SetBackLight ? Как оно будет работать?
Quote (youfus )
не могу айтвином создать вращение по кругу на определенном растоянии от точки
Удочери его ГО, смести координаты и вращай ГО. Quote (durak007 )
Вот любая вешиль после отработки имеет инерцию
даже без риджБоду? Quote (durak007 )
Короче как можно остановить инерцию движения объекта из скрипта?
Нулевой скоростью.Автор - Левша Дата добавления - 17 Июн 2011 в 16:38
yeah48rus Дата: Сб, 18 Июн 2011, 18:50 | Сообщение # 218
Сообщений: 12
Награды:
0
Репутация:
1
Статус: Offline
люди добрые задаю такой вопрос можно ли переменную формата float выводить на экран в формате int . если да, то каким образом, точнее какой командой...
Сообщение люди добрые задаю такой вопрос можно ли переменную формата float выводить на экран в формате int . если да, то каким образом, точнее какой командой... Автор - yeah48rus Дата добавления - 18 Июн 2011 в 18:50
Shut Дата: Сб, 18 Июн 2011, 18:54 | Сообщение # 219
Сообщений: 608
Награды:
2
Репутация:
258
Статус: Offline
yeah48rus ,
Где арахисы - там и зима.
Сообщение yeah48rus , Автор - Shut Дата добавления - 18 Июн 2011 в 18:54
Zer0n Дата: Сб, 18 Июн 2011, 19:41 | Сообщение # 220
Сообщений: 880
Награды:
23
Репутация:
516
Статус: Offline
Quote (yeah48rus )
люди добрые задаю такой вопрос можно ли переменную формата float выводить на экран в формате int . если да, то каким образом, точнее какой командой...
В шарпе - (int)переменная; В JS наверное также.
Сообщение Quote (yeah48rus )
люди добрые задаю такой вопрос можно ли переменную формата float выводить на экран в формате int . если да, то каким образом, точнее какой командой...
В шарпе - (int)переменная; В JS наверное также.Автор - Zer0n Дата добавления - 18 Июн 2011 в 19:41