OnSceneGUI() не работает

Раздел, посвящённый всему, что связано с программированием для Редактора Юнити. Скрипты Редактора, Wizards и прочее.

OnSceneGUI() не работает

Сообщение akkel 26 июн 2011, 19:35

здравствуйте

недавно начал писать свой Editor скрипт и столкнулся с одной проблемой:
ни OnSceneGUI ни Update не работают

подскажите что нужно добавить или исправить
заранее спасибо

Синтаксис:
Используется csharp

using UnityEngine;
using System.Collections;
using UnityEditor;

[CustomEditor(typeof(Example))]
public class Example : Editor {


       
        void OnSceneGUI(){
Ray ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition);
        Debug.Log(  " " + ray);
}
}
 
akkel
UNIт
 
Сообщения: 76
Зарегистрирован: 23 июн 2009, 07:03
Откуда: Ростов-На-Дону

Re: OnSceneGUI() не работает

Сообщение Neodrop 26 июн 2011, 19:42

И что вы тут написали? :-?
Вы же получили Луч. А Луч сам по себе, ничего вам сделать не может. Это только отрезок прямой из точки A в точку B
Что теперь сделать нужно? Праавильно, используя этот луч, тыркнуть куда-нибудь в сцене. Читаем доки дальше.

З.Ы. Само-собой этот код не будет работать, если не активен Инспектор объекта, для которого определён этот CustomEditor - то есть, компонент Example
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: OnSceneGUI() не работает

Сообщение Neodrop 26 июн 2011, 19:47

Хотите легко писать аддоны для SceneView ? Используйте Antares SceneView Addons API
Писать можно на любом из Unity языков.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: OnSceneGUI() не работает

Сообщение akkel 26 июн 2011, 19:55

Само-собой этот код не будет работать, если не активен Инспектор объекта, для которого определён этот CustomEditor - то есть, компонент Example


я так понял этот скрипт не будет работать если не является компонентом активного объекта.
но мне нужно чтобы я получал переменную ray без выделений объектов.
ткните носом плиз. :(
akkel
UNIт
 
Сообщения: 76
Зарегистрирован: 23 июн 2009, 07:03
Откуда: Ростов-На-Дону

Re: OnSceneGUI() не работает

Сообщение Neodrop 26 июн 2011, 20:14

Уже тыкнул. Мой SceneView API
Там всё работает, даже когда ничего нигде не выбрано. Как? Не скажу. :D
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: OnSceneGUI() не работает

Сообщение akkel 26 июн 2011, 20:26

:) понятно..

ну может хоть намекнешь :)
akkel
UNIт
 
Сообщения: 76
Зарегистрирован: 23 июн 2009, 07:03
Откуда: Ростов-На-Дону

Re: OnSceneGUI() не работает

Сообщение Spike 26 июн 2011, 20:42

Как я делаю, создаю едитор окно , задаю размер в 1 пиксель что бы не мешало. А затем в SceneView.onSceneGUIDelegate передаю свой метод, который работает как OnSceneGUI.
Spike
UNIт
 
Сообщения: 51
Зарегистрирован: 22 сен 2009, 22:40

Re: OnSceneGUI() не работает

Сообщение AndreyMust19 13 сен 2011, 23:51

Neodrop
Там всё работает, даже когда ничего нигде не выбрано. Как? Не скажу.

Будете смеяться, но как раз это мне и нужно. Создание Handle в окне сцены, когда не выбран ни один игровой объект, а когда активно определенное окно.
Spike
А затем в SceneView.onSceneGUIDelegate передаю свой метод, который работает как OnSceneGUI.

Можно подробнее? Не нашел делегата, связанного с просмотром сцены.
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: OnSceneGUI() не работает

Сообщение Neodrop 13 сен 2011, 23:59

Нужно? Качайте Universe Free и используйте SceneView API
ничего сложного там нет.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: OnSceneGUI() не работает

Сообщение AndreyMust19 14 сен 2011, 00:27

А как скачать, не обновляясь до 3.4?
Или предыдущую версию для 3.3?
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: OnSceneGUI() не работает

Сообщение Neodrop 14 сен 2011, 14:29

Предыдущих версий не держим. Не вижу смысла, уж извините.
Тем более, что почти каждое обновление Universe добавляет большое количество новых возможностей в Редактор. Иногда очень важных (как последнее к примеру).
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт


Вернуться в Editor

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4