![](images/chestnut/misc/left.gif) |
03.10.2020, 11:24
|
#1
|
ПроЭктировщик
Регистрация: 05.08.2006
Сообщений: 183
Написано 107 полезных сообщений (для 410 пользователей)
|
Вопросы
Первонах ! Тупой вопрос. Как завершить программу? end не работает
|
(Offline)
|
|
03.10.2020, 11:58
|
#2
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: Вопросы
Сообщение от MadMedic
Как завершить программу? end не работает
|
func _notification(what): if what == MainLoop.NOTIFICATION_WM_QUIT_REQUEST: get_tree().quit() # default behavior
https://docs.godotengine.org/en/late..._requests.html
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
|
|
03.10.2020, 15:59
|
#3
|
ПроЭктировщик
Регистрация: 05.08.2006
Сообщений: 183
Написано 107 полезных сообщений (для 410 пользователей)
|
Ответ: Вопросы
Благодарю!
|
(Offline)
|
|
06.10.2020, 17:41
|
#4
|
ПроЭктировщик
Регистрация: 01.01.2016
Сообщений: 141
Написано 72 полезных сообщений (для 159 пользователей)
|
Ответ: Вопросы
жесть!
|
(Offline)
|
|
06.10.2020, 18:50
|
#5
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: Вопросы
Сообщение от mingw
жесть!
|
public override void _Process(float delta) { if (Input.IsActionPressed("exit") { GetTree().Quit(); } }
Так лучше?
__________________
Абсолютли!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.10.2020, 23:55
|
#6
|
ПроЭктировщик
Регистрация: 01.01.2016
Сообщений: 141
Написано 72 полезных сообщений (для 159 пользователей)
|
Ответ: Вопросы
Что это за дерево у которого вызывается метод Quit ?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
08.10.2020, 00:24
|
#7
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: Вопросы
Сообщение от mingw
Что это за дерево у которого вызывается метод Quit ?
|
Если кратко, GetTree() возвращает SceneTree, а это основной цикл (Main Loop) сцены.
Если подробно - https://docs.godotengine.org/en/stab...l#introduction
__________________
Абсолютли!
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо ant0N за это полезное сообщение:
|
|
11.10.2020, 10:27
|
#8
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,021
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Вопросы
Что такое Mesh Texture?
Почитал поискал, ничего не понял.
Что это и как правильно "готовить"?
Думал могу свой меш в WorldEnvironment загрузить как небо, оказалось все не так.
Что вообще можно засунуть в стандартное небо, по мимо карты окружения?
|
(Offline)
|
|
11.10.2020, 15:29
|
#9
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: Вопросы
Сообщение от Arton
Что такое Mesh Texture?
Почитал поискал, ничего не понял.
Что это и как правильно "готовить"?
|
Единственное практическое применение для него которое мне известно это TextureAtlas
При создании атласа можно выбрать Mesh2D
И тогда текстуры будут храниться как Mesh2D. А для чего нужен Mesh2D, я думаю понятно.
Сообщение от Arton
Что вообще можно засунуть в стандартное небо, по мимо карты окружения?
|
А какую задачу ты решаешь? Что хочешь получить?
__________________
Абсолютли!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
12.10.2020, 00:37
|
#10
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,021
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Вопросы
Сообщение от ant0N
Единственное практическое применение для него которое мне известно это TextureAtlas
При создании атласа можно выбрать Mesh2D
|
Понятно, спасибо.
Сообщение от ant0N
А какую задачу ты решаешь? Что хочешь получить?
|
«Небо», когда окружение локации, домики, горы вдали делают одним мешем и ставят ему ордер рендера первым.
Но с порядком рендера, в Годо проблемы.
Обычный флаг No Depth Test годится только для простой геометрии.
Всё что сложнее куба/сферы начинает просвечивать сквозь себя.
Альтернатива, использовать флаг прозрачности, у них своя сортировка.
Но с прозрачностью могут не работать некоторые эффекты.
И в добавок, в обоих случаях надо не забывать проставлять флаги каждому материалу участвующему в сцене, иначе не будет работать.
WorldEnvironment видимо отдельно обрабатывается, думал к нему не только текстуру можно подключить.
Но ладно, чёрт с ним с небом, не так важно, а если мне нужно в FPS что-то поверх рендерить принципиально?
Слишком заморочено.
С грустью вспоминаю Блиц, с его EntityOrder.
Ещё я читал предложения рендерить в спрайт, рендерить с поддельной глубиной...
P. S. Где можно достать скомпилированный Godot 4? А то я только на исходники натыкаюсь, хочу потыкать его.
P. P. S. Кстати, как полная альтернатива (только для окружения), можно всё рендерить в текстуру и натягивать на небо.
Давно видел способ для псевдо-2D персонажа, по логике тут тоже самое.
|
(Offline)
|
|
12.10.2020, 12:05
|
#11
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: Вопросы
Сообщение от Arton
«Небо», когда окружение локации, домики, горы вдали делают одним мешем и ставят ему ордер рендера первым.
|
Как вариант можно поставить материалу флаг "Fixed Size". Вроде это то что тебе нужно.
Сообщение от Arton
С грустью вспоминаю Блиц, с его EntityOrder.
|
Да, прошли те времена. Игры стали сложнее, движки должны не отставать.
Сообщение от Arton
P. S. Где можно достать скомпилированный Godot 4? А то я только на исходники натыкаюсь, хочу потыкать его.
|
Вот "ночные сборки" от чувака, который на днях перешел в штат разработчиков годо
https://hugo.pro/projects/godot-builds/
__________________
Абсолютли!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.10.2020, 09:54
|
#12
|
ПроЭктировщик
Регистрация: 05.08.2006
Сообщений: 183
Написано 107 полезных сообщений (для 410 пользователей)
|
Ответ: Вопросы
Всем привет!
Делаю генератор планет,
Нужен совет.
Короче есть программно рисуемая картинка при помощи следующего кода
WorldMapImage.lock()
...
WorldMapImage.set_pixel(TileX, TileY, DrawColor)
...
WorldMapImage.unlock()
Как сверху на эту картинку нарисовать другую, с выбранной прозрачностью? (например, полностью непрозрачно или еле-еле видно)
Рассматриваю вариант - сверху создать еще один гаждет и рисовать облака тупо поверх, но хотелось бы узнать, как рисовать картинку на картинку
![](https://forum.boolean.name/attachment.php?attachmentid=23232&stc=1&d=1602827595)
|
(Offline)
|
|
16.10.2020, 14:25
|
#13
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы
Если есть функция get_pixel, то можно использовать классическую функцию смешивания по альфе:
Result = CurrentColor * (1 - Alpha) + NewColor * Alpha
где CurrentColor - текущий цвет пикселя текстуры
NewColor - цвет рисуемого пикселя
Alpha - прозрачность рисуемого пикселя
Функцию применить для каждого компонента цвета ( RGB ):
ResultR = CurrentColorR * (1 - Alpha) + NewColorR * Alpha
ResultG = CurrentColorG * (1 - Alpha) + NewColorG * Alpha
ResultB = CurrentColorB * (1 - Alpha) + NewColorB * Alpha
Если смешивание идет в целых числах (0..255), то единицу заменить на 255
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
16.10.2020, 17:38
|
#14
|
ПроЭктировщик
Регистрация: 05.08.2006
Сообщений: 183
Написано 107 полезных сообщений (для 410 пользователей)
|
Ответ: Вопросы
Сообщение от pax
Если есть функция get_pixel, то можно использовать классическую функцию смешивания по альфе:
...
|
Как вариант, и очень даже неплохой для данной ситуации, да, спасибо!
Но есть наверняка элегантный способ рисовать картинками на картинках.
|
(Offline)
|
|
16.10.2020, 22:25
|
#15
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы
Сообщение от MadMedic
Как вариант, и очень даже неплохой для данной ситуации, да, спасибо!
Но есть наверняка элегантный способ рисовать картинками на картинках.
|
На любом движке наверное можно такое сделать:
1. Сделать рендертекстуру размером с исходную.
2. Сделать ее активным рендер таргетом.
3. Нарисовать полноэкранный квад с исходной текстурой с unlit шейдером. Обычно есть метод Blit или подобный.
4. Нарисовать квад с оверлей текстурой и нужным смешиванием (для этого сделать шейдер с альфаблендом или другим способом смешивания).
5. Считать пиксели рендертекстуры в исходную.
Но так как задача поставлена с примером записи пикселей в текстуру, я предложил другой метод.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:21.
|