Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
allods | Дата: Понедельник, 20 Января 2014, 18:44 | Сообщение # 5341 |
почти ветеран
Сейчас нет на сайте
| Вопрос
Делаю
var scriptControl:Component;
в старте
scriptControl=GetComponent(control);
а потом обращаюсь к компоненту
scriptControl.speed
Все работате и все такое но когда попытался скомпилировать под андроид то везде где я так делал получаю ошибку
Assets/gamelvl.js(20,26): BCE0019: 'hp' is not a member of 'UnityEngine.Component'. почему?
|
|
| |
Chaz | Дата: Понедельник, 20 Января 2014, 18:50 | Сообщение # 5342 |
частый гость
Сейчас нет на сайте
| не работает та коллизия Добавлено (20.01.2014, 18:50) ---------------------------------------------
Цитата Ranger ( ) по первому способу вопросов нет?? 2. создать чилда к платформе с бокс коллайдером внутри бокс коллайдера платформы. ригидбоди на чилда не не вешать. платформа будет иметь 2 коллайдера один внутри другого. в случае движения вверх появляется коллизия с коллайдером чилда и физика персонажа будет отрабатываться на нем. правда могут быть артефакты, но подбором параметров эти проблемы можно решить
btw: каким образом двигаете платформу? с первым понятно, а так что первое, что второе - какое-то извращение, двигаю с помощью изменения Y-координаты платформы
|
|
| |
Ranger | Дата: Понедельник, 20 Января 2014, 18:58 | Сообщение # 5343 |
почти ветеран
Сейчас нет на сайте
| Цитата Chaz ( ) с первым понятно, а так что первое, что второе - какое-то извращение, двигаю с помощью изменения Y-координаты платформы вот как раз 1е не извращение, а честная физика. понятно что меняете координату... меняете как?
|
|
| |
Chaz | Дата: Понедельник, 20 Января 2014, 19:04 | Сообщение # 5344 |
частый гость
Сейчас нет на сайте
| Ranger, ну значит создаю две переменных типа Vector3. Первую называю bottom, а вторую - top. Первой присваиваю текущую позицию платформы, второй переменной присваиваю первую и добавляю к координате Y число 10. А потом пишу transform.position = Vector3.Lerp(bottom, top, tmp); где tmp это переменная, которая плавно меняется от 0 до 1 мне ща VS лень открывать, чтобы код показать хД Так вот, таким образом я могу точно указать откуда и куда должна двигатся платформа и за какое время, а с физикой и форсами я бы пол часа подбирал нужные значения, или нет?
|
|
| |
lentinant | Дата: Понедельник, 20 Января 2014, 19:14 | Сообщение # 5345 |
ленивый программист
Сейчас нет на сайте
| Цитата allods ( ) Все работате и все такое но когда попытался скомпилировать под андроид то везде где я так делал получаю ошибку
Assets/gamelvl.js(20,26): BCE0019: 'hp' is not a member of 'UnityEngine.Component'. почему? Переменную hp ты в каком классе создавал?
Когда-то тут будут ссылки на крутые проекты. Или нет.
Сообщение отредактировал lentinant - Понедельник, 20 Января 2014, 19:15 |
|
| |
Ranger | Дата: Понедельник, 20 Января 2014, 19:36 | Сообщение # 5346 |
почти ветеран
Сейчас нет на сайте
| Цитата Chaz ( ) я бы пол часа подбирал нужные значения, или нет? нет. 1.1 в апдейт достаточно прописать прикладывание силы, пока платформа не достигнет нужной скорости 1.2 трение на платформу установить большим , чтобы после прекращения воздействия силы, она останавливалась 2. transform.position нельзя использовать при работе с ригидбоди, иначе движок ломается и глючит. для корректной работы использовать нужно rigidbody.moveposition
|
|
| |
seaman | Дата: Понедельник, 20 Января 2014, 19:43 | Сообщение # 5347 |
старожил
Сейчас нет на сайте
| Цитата 'hp' is not a member of 'UnityEngine.Component'. почему? Потому что нефиг на JS писать. На шарпе Вы сами давно все поняли бы. Ну нет в юнитевском классе Component Вашей переменной hp. Откуда ей там взяться? Что нужно сделать? Привести тип от Component к Вашему типу, который содержит этот hp. Или, если использовать идеологию JS - не писать такой лажи: var scriptControl:Component; Потому как scriptControl без вариантов не компонент, а производное от него. Тогда Юнити сам приведет тип к нужному.
|
|
| |
Chaz | Дата: Понедельник, 20 Января 2014, 20:01 | Сообщение # 5348 |
частый гость
Сейчас нет на сайте
| Ranger, так я вообще риджидБоди не использую, нафига оно мне, если я могу просто изменять координату-Y Добавлено (20.01.2014, 19:58) --------------------------------------------- Блииин, слушайте, все-равно есть проблема. Ну я ж остановился на триггерах, так вот, если прыгать по платформе во время ее движения вверх, то персонаж проваливается сквозь =( Добавлено (20.01.2014, 20:01) --------------------------------------------- ой, оно даже когда вниз опускается, то тоже иногда проваливается
|
|
| |
allods | Дата: Понедельник, 20 Января 2014, 20:09 | Сообщение # 5349 |
почти ветеран
Сейчас нет на сайте
| А ты из триггера не выпрыгиваешь ? он большой твой триггер?
Цитата seaman ( ) seaman
Я дописываю свой 2й проект на JS и перейду на C#
Спасибо за совет
|
|
| |
Laush | Дата: Понедельник, 20 Января 2014, 20:59 | Сообщение # 5350 |
почти ветеран
Сейчас нет на сайте
| Цитата Astralangel ( ) Можно попробовать увеличить массу, а вообще, разве настоящий груз в багажнике не "дрыгается" при перемещении авто? Нет, не помогло, ну он дергается не реалистично(видно куб бывает сквозь задней части багажника машины)
[PC/Android/iOS/WEB] 30 Days to survive [PC] Dead Defense [PC] Саламандра - история пирата
|
|
| |
Ranger | Дата: Вторник, 21 Января 2014, 13:47 | Сообщение # 5351 |
почти ветеран
Сейчас нет на сайте
| Цитата Chaz ( ) Блииин, слушайте, все-равно есть проблема. Ну я ж остановился на триггерах, так вот, если прыгать по платформе во время ее движения вверх, то персонаж проваливается сквозь =( На персонажа пробуй доп коллайдер вешать через чилда. один внутри другого В примере по пробелу платформа меняет координаты: Вариант без коллайдера: Вариант с коллайдером:
|
|
| |
Chaz | Дата: Вторник, 21 Января 2014, 15:33 | Сообщение # 5352 |
частый гость
Сейчас нет на сайте
| Ranger, эх, не помогло =( Оно то проваливается то не проваливается, такое чувство, что проверка на твердость под ногами медленнее, чем движение персонажа вот я вам видюшку записал ВИДЮШКА
|
|
| |
Ranger | Дата: Вторник, 21 Января 2014, 15:44 | Сообщение # 5353 |
почти ветеран
Сейчас нет на сайте
| Цитата Chaz ( ) проверка на твердость под ногами медленнее, чем движение персонажа вот я вам видюшку записал Коллизия не срабатывает потому что смена координат (руками) и физика отрабатывают не одновременно. к тому моменту, когда начинает работать физика, платформа уже перекрывает персонажа. прийдется таки тебе делать ригидбоди на платформу. Зачем код стер? там делай то же самое, только меняй не transform.position а используй (как уже писал) Rigidbody.MovePosition. тогда физика корректно посчитается. единственная проблема это то, что гравитация персонажа будет опускать платформу.. с ходу решение не подскажу. может есть какой велосипед, но я его не вижу.
==============update========= столкнулся с похожей проблемой. Решение в следующем: платформа является чилдом к объекту лежащему на земле. на родителе риджидбоду. на чилде только коллайдер. позицию платформы менять через localposition в том же кадре в update пишешь для родителя AddRelativeForce (Vector3.up *.001f); это заставит отработать физику на платформе.
Сообщение отредактировал Ranger - Вторник, 21 Января 2014, 16:08 |
|
| |
Chaz | Дата: Вторник, 21 Января 2014, 16:31 | Сообщение # 5354 |
частый гость
Сейчас нет на сайте
| Ranger, а плеер как должен двигатся при этом?
|
|
| |
Ranger | Дата: Вторник, 21 Января 2014, 16:37 | Сообщение # 5355 |
почти ветеран
Сейчас нет на сайте
| Цитата Chaz ( ) Ranger, а плеер как должен двигатся при этом? на плеере это никак не должно отразиться, если правильно выставлены трения и массы игрока и лифта
|
|
| |
Chaz | Дата: Вторник, 21 Января 2014, 16:41 | Сообщение # 5356 |
частый гость
Сейчас нет на сайте
| кароч ну в пень эту физику, она какая-то костыльная, к тому же изначально двигал персонажа CharacterController'ом и оно нормально работает, а теперь я должен долбится в попу с этой физикой, чтобы заставить персонажа просто ходить. Дырку в платформе залепил более толстым триггером, теперь прыгаю как хочу и не проваливаюсь, почти.
Сообщение отредактировал Chaz - Вторник, 21 Января 2014, 17:11 |
|
| |
Izaron | Дата: Вторник, 21 Января 2014, 17:04 | Сообщение # 5357 |
Rammstein forever
Сейчас нет на сайте
| Не матюкайся, за это бан дают
|
|
| |
Chaz | Дата: Вторник, 21 Января 2014, 17:11 | Сообщение # 5358 |
частый гость
Сейчас нет на сайте
| Izaron, я уже отредактировал сообщение
|
|
| |
set16 | Дата: Вторник, 21 Января 2014, 17:38 | Сообщение # 5359 |
постоянный участник
Сейчас нет на сайте
| Позиция площадки меняется position?
=>The darkness of distant lands [3D]<=
|
|
| |
Chaz | Дата: Вторник, 21 Января 2014, 17:39 | Сообщение # 5360 |
частый гость
Сейчас нет на сайте
| set16, да я уже по всякому делал, через rigidbody и через localPosition
|
|
| |