Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 29.01.2013, 23:53   #1201
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Вопросы от новичка

стандартная анимация в Character Controller не работает
Это не понятно.
А на вопрос Вы не ответили - зачем в while? Один раз запустить анимацию - и пусть она сама воспроизводится.
(Offline)
 
Ответить с цитированием
Старый 30.01.2013, 00:02   #1202
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

вместо while - if
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Okay (30.01.2013)
Старый 30.01.2013, 00:04   #1203
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Вопросы от новичка

Сообщение от seaman Посмотреть сообщение
Это не понятно.
А на вопрос Вы не ответили - зачем в while? Один раз запустить анимацию - и пусть она сама воспроизводится.
У меня в Юнити в скрипте не работает анимация. То есть если повесить на объект скрипт Character Controller и закинуть анимации в инспекторе, то они работать не будут. Если запустить один раз при прыжке, то есть баг: Допустим анимация длится 5 секунд, а я за 3 секунды запрыгнул на объект, то при следующем прыжке анимация прыжка воспроизводится не будет. Поэтому нужно сделать проверку на "На граунде игрок или нет", чтобы она воспроизводилась постоянно
(Offline)
 
Ответить с цитированием
Старый 30.01.2013, 00:10   #1204
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Вопросы от новичка

	if(Input.GetKey(KeyCode.Space))
	{
		if(!controller.isGrounded)
		{	
			animation.CrossFade("jump");	
		}
              }
Сделал вот так. Тестил минуты 2-3. Багов не наблюдаю с воспроизведением анимации
(Offline)
 
Ответить с цитированием
Старый 30.01.2013, 09:55   #1205
Левша09
Оператор ЭВМ
 
Регистрация: 28.12.2011
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы от новичка

Сообщение от seaman Посмотреть сообщение
А никто вроде про сайт не спрашивал. Спрашивали про выкладывание веб сборок.
Имхо: Если просто показать - лучше всего дропбокс. Если для распространения - или AssetStore, или Kongregate или свой выделенный/виртуальный сервер.
А смотря что подразумевается под "показать", я имел в виду показать в браузере, чтобы не отправлять полный билд коллегам.
Я может не понимаю механизма. Если даю ссыль на unity файл, то у некоторых открывается нормально. А вот ссыль на html не работает.
Посмотрел на юнити.ру, там размещают юнити файл лежащий на дропбоксе, но насколько я понял у них веб плеер к сайту прикручен.
(Offline)
 
Ответить с цитированием
Старый 30.01.2013, 11:52   #1206
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Вопросы от новичка

Вот такой скрипт:

public class Zipper MonoBehaviour {
    public 
Box box;
    public 
Vector3 groundPoint;
    
    
void Awake () {
        
box GetComponent<Box>();
    }
    
    
void Update () {
        print (
box.boxswith);
    }

Нужно обратится к скрипту Box и получить из него переменную boxswith

Первый скрипт висит на одном объекте, второй на другом

Проблема в том что оба объекта загружаются по ходу выполнения программы и клонов объектов много. Объекты со скриптом Box это цели, а с другим скриптом пули.

Код который приведен выше даёт NullReferenceException: Object reference not set to an instance of an object
Zipper.Update () (at Assets/Scripts/Zipper.cs:40) на эту строчку print (box.boxswith);

Как вообще реализовать общение скриптов, когда много клонов объектов?
__________________
(Offline)
 
Ответить с цитированием
Старый 30.01.2013, 12:08   #1207
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

Если пули, через коллизию. Если в общем, по какому либо атрибуту, например по имени. Стрелять физическими пулями решение с огромным количеством проблем.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mauNgerS (30.01.2013)
Старый 30.01.2013, 12:41   #1208
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Вопросы от новичка

Объекты по которым стреляю у меня статичны, я могу найти по позиции.

Но почему код приведённый выше вызывает ошибку.
По идее он должен написать значение boxswith всех клонов.
__________________
(Offline)
 
Ответить с цитированием
Старый 30.01.2013, 12:46   #1209
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

не должен, т.к. GetComponent получает скрипт с текущего объекта
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mauNgerS (30.01.2013)
Старый 30.01.2013, 12:54   #1210
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Вопросы от новичка

Т.е. по ходу выполнения программы он пробегает по всем объектам, а доступ я получаю к скрипту объекта который был последним?

Как тогда выбрать нужные мне скрипт, ведь объекты отличаются только содержимым переменных в скрипте (жизнь, позиция). Или при создании объекта давать разные имена (ололо1, ололо2 ... и т.д.)

Тогда как выбрать объект по имени? (помогите кодом)
__________________
(Offline)
 
Ответить с цитированием
Старый 30.01.2013, 13:06   #1211
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Нет, скрипт Zipper принадлежит конкретному объекту, и GetComponent получает скрипты с этого объекта. По имени искать GemeObject.Find(), но может тебе что-то проще подойдет? Опиши задачу более подробно.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mauNgerS (30.01.2013)
Старый 30.01.2013, 13:25   #1212
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Вопросы от новичка

Задача такая:
Объект Box на нём скрипт Box - это заранее сделанный префаб, клоны которого расставляются по карте
GameObject inst = (GameObject)Instantiate(Resources.Load("Prefabs/Box", typeof(GameObject)));

Затем игрок стреляет по этим клонам. При выстреле создаётся клон другого префаба
GameObject inst = (GameObject)Instantiate(Resources.Load("Prefabs/Particles/Zipper", typeof(GameObject)));

На объекте Zipper весит скрипт Zipper. При попадании в объект Box у Box отнимается жизнь (если ноль то удаляется) а объект Zipper удаляется.

Объектов Box много и объектов Zipper много.

Как хочу сделать (пока не получается)
Zipper получает позицию Box. По позиции находится тот Box на который нацелен Zipper (объект Box статичен). При попадании у нужного Box отнимается жизнь.

Когда я делал жизнь как static всё работало, только жизнь была одна на все Box...
__________________
(Offline)
 
Ответить с цитированием
Старый 30.01.2013, 14:01   #1213
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Короче задача в момент выстрела или в момент попадания определить в какой Box попал. Попробуй почитать мой тутор про змейку. Там есть поедание еды через столкновение. Я думаю тебе похожий способ подойдет. Если определить можно в момент выстрела, то здесь поможет Raycast.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mauNgerS (30.01.2013)
Старый 30.01.2013, 14:03   #1214
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

Стрельни лучем, если игрок попал по цели, определяй время через которое пуля должна войти в цель, дальше два направления или через эту дельту времени инстансь пулю в точке, куда ты попал и через коллизию с целью вызывай логику или пускай пулю и с задержкой дельта вызывай на ней логику. Не знаю насколько динамичная у тебя сцена, и нужна ли видимость полета пули.

Up. Pax за тобой не успеешь))
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mauNgerS (30.01.2013)
Старый 30.01.2013, 14:26   #1215
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: Вопросы от новичка

рах
попробовал применить
audio.PlayClipAtPoint(clip, new Vector3(5, 1, 2));
выдается ошибка -
Assets/aScripts/sAnimator.cs(269,23): error CS0176: Static member `UnityEngine.AudioSource.PlayClipAtPoint(UnityEngi ne.AudioClip, UnityEngine.Vector3)' cannot be accessed with an instance reference, qualify it with a type name instead

В чем дело?
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 09:11.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com