|
Unity Мультиплатформенный инструмент для разработки игр |
03.04.2012, 21:08
|
#826
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Фак по Юнити.
cahekp, когда куча переменных и на каждую еще создавать и свойство с почти таким же названием, а потом путаться с полями и свойствами это не совсем то что я хотел. Хотя это может иметь смысл, если внутри класса это поле и свойство не используются.
Пока я предпочитаю вообще свойства не использовать. Когда среди переменных какой-то левый код, то он мне глаза мусолит. Но правда при использовании свойства код выглядит проще.
А пример я тогда кажется и вправду пропустил))
|
(Offline)
|
|
04.04.2012, 15:43
|
#827
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Народ, помогите все таки написать кусочек скрипта, который будет "отбрасывать" префаб вперед относительно игрока :3 Не получается никак, как бы не пробовал.
То есть, надо реализовать выброс предмета из рук.
(С#)
public Rigidbody drop; Update() { if (Input.GetKeyDown("g")) { Instantiate(drop, new Vector3( transform.position.x + 1, transform.position.y, transform.position.z), Quaternion.identity); ...
И еще, почему если использовать new Vector3( tra... то предмет падает относительно игрока со сдвигом, как и запланировано, но в какую бы сторону игрок не повернулся, спавн происходит в одном месте.
|
(Offline)
|
|
04.04.2012, 15:55
|
#828
|
Дэвелопер
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений (для 2,706 пользователей)
|
Ответ: Фак по Юнити.
Нет ли у кого ссылки на исходник билдовых шейдеров юнити? Конкретно интересует исходник Transparent/Diffuse
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.04.2012, 16:48
|
#829
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
2Amatsu: http://unity3d.com/support/resources...ilt-in-shaders
2SaM_ времени проверять нет, так что
public Rigidbody drop; Update() { if (Input.GetKeyDown("g")) { var rb = Instantiate(drop, transform.position + transform.forward, Quaternion.identity) as Rigidbody; rb.AddForce(transform.forward * 1000, ForceMode.Impulse);
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
04.04.2012, 18:15
|
#830
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
pax, теперь объект спавнится относительно игрока правильно. Но во время спавна толчка\откидывания нет :c
|
(Offline)
|
|
04.04.2012, 19:18
|
#831
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Ошибки есть? Увеличь силу с 1000 на 10000 например.
|
(Offline)
|
|
04.04.2012, 20:14
|
#832
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Вот такую ошибку выдает:
NullReferenceException: Object reference not set to an instance of an object
weapon_system.Update () (at Assets/Scripts/weapon_system.cs:72)
|
|
(Offline)
|
|
04.04.2012, 20:17
|
#833
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
public GameObject drop; Update() { if (Input.GetKeyDown("g")) { var go = Instantiate(drop, transform.position + transform.forward, Quaternion.identity) as GameObject; go.rigidbody.AddForce(transform.forward * 1000, ForceMode.Impulse);
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.04.2012, 20:42
|
#834
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Вот, работает, спасибо!
|
(Offline)
|
|
04.04.2012, 20:45
|
#835
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
public GameObject drop; // префаб дропа Update() { if (Input.GetKeyDown("g")) { // инстансирование дропа и сохранение в переменную go var go = Instantiate(drop, transform.position + transform.forward, Quaternion.identity) as GameObject; // добавление импульса твердому телу (RigidBody назначенному префабу) go.rigidbody.AddForce(transform.forward * 1000, ForceMode.Impulse);
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.04.2012, 20:50
|
#836
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Как всеже изменить немного коодинаты дропа относительно игрока + что бы спавн происходил перед самим игроком?
Я делаю так:
Vector3 newpos = new Vector3(transform.position.x + 3, transform.position.y, transform.position.z) + transform.forward; rb = Instantiate(drop, newpos , Quaternion.identity) as GameObject;
Спавн происходит там, где и запланировано, но не поворачивается вместе с игроком.
|
(Offline)
|
|
04.04.2012, 20:55
|
#837
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Vector3 height = transform.up * 1.5f; // высота 1,5 метра Vector3 forward = transform.forward * 3; // три метра перед собой Vector3 newpos = transform.position + forward + height;
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.04.2012, 21:04
|
#838
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Фак по Юнити.
Написал пару функция упрощающих работу с GUI редактора.
public static T ObjectField<T>(string label, T field) where T : Object {
GUILayout.BeginHorizontal();
GUILayout.Label(label);
field = (T)EditorGUILayout.ObjectField((Object)field, typeof(T), false);
GUILayout.EndHorizontal();
return field;
}
public static System.Enum EnumPopup(string label, System.Enum selected) {
GUILayout.BeginHorizontal();
GUILayout.Label( label );
selected = EditorGUILayout.EnumPopup(selected);
GUILayout.EndHorizontal();
return selected;
}
И еще пару подобных. Код значительно уменьшился в других местах.
Только не понятно почему where T : System.Enum считается ошибкой.
|
(Offline)
|
|
04.04.2012, 21:07
|
#839
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Сообщение от WISHMASTER35
Только не понятно почему where T : System.Enum считается ошибкой.
|
http://msdn.microsoft.com/ru-ru/library/d5x73970.aspx
и зачем делать горизонталы с метками, если есть перегруженная функция, которая автоматом метку выводит и все ровно делает?
|
(Offline)
|
|
04.04.2012, 21:26
|
#840
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Фак по Юнити.
pax, что за функция?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:02.
|