|
3D-программирование Вопросы, касающиеся программирования 3D мира |
23.06.2015, 10:23
|
#16
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Re: Ответ: Re: Помогите с травой
Сообщение от Max Payne
Не расскажешь по подробнее как это сделать?
|
Там же рядом с ней написано, как ею пользоваться:
;Specify an image which will be used to determine where grass will be placed on the terrain. Black pixels
;will result in no grass at that location, while white pixels will result in full grass density.
Function BG_SetGrassMap(Layer, MapFile$)
|
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
23.06.2015, 14:53
|
#17
|
Нуждающийся
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений (для 12 пользователей)
|
Re: Ответ: Re: Ответ: Re: Помогите с травой
Сообщение от ABTOMAT
Там же рядом с ней написано, как ею пользоваться:
|
Написано понятно как это работает. Жалко что я не понимаю пока как это сделать.
1) что за (Layer) ?
2) куда грузить черно белую картинку ? в Img = LoadImage(MapFile) вместо MapFile указать путь?
3) какой командой выводить все это на экран ? BG_Update(camera) ?
Function BG_SetGrassMap(Layer, MapFile$)
em.BG_GrassLayer = Object.BG_GrassLayer(Layer)
Img = LoadImage(MapFile)
Width = ImageWidth(Img)-1
Height = ImageHeight(Img)-1
Buff = ImageBuffer(Img)
LockBuffer Buff
For x = 0 To 255
For y = 0 To 255
rgb = ReadPixelFast(255*x/Width, Height-(255*y/Height), Buff)
density = (rgb Shr And $FF
BG_sysArraySet(em\GrassMap, x, y, density)
Next
Next
|
(Offline)
|
|
23.06.2015, 14:55
|
#18
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Помогите с травой
Кстати ты зря поставил пивот вместо камеры: BG_Update(camera).
Идея реалтаймовой визуализации, вблизи высокая детализация, вдали низкая или вовсе удаляем ненужное, это один из краеугольных камней.
Тут трава работает так же. В обновление задаёшь точкой отрисовки камеру. Как бы ты не перемещал камеру, трава всегда будет "бегать" за ней.
P. S. Как там маску использовать и по террайну траву разложить, тоже не понял
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.06.2015, 18:38
|
#19
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: Помогите с травой
так если ты аааааааа... Даже если тебе разжуют и в рот наложат, то это тебе не поможе
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.06.2015, 20:05
|
#20
|
Разработчик
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений (для 220 пользователей)
|
Ответ: Помогите с травой
Такие темы нужно проходить мимо
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.06.2015, 03:06
|
#21
|
ПроЭктировщик
Регистрация: 08.05.2011
Сообщений: 143
Написано 46 полезных сообщений (для 219 пользователей)
|
Ответ: Помогите с травой
Автор, тебе сейчас не потянуть игру, где бы требовалась трава, да и нафиг она нужна. Чтобы вешать гирлянду, нужна елка
А вообще я проходил мимо, поржать над названием темы :D
__________________
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Владислав за это полезное сообщение:
|
|
24.06.2015, 08:36
|
#22
|
Разработчик
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений (для 220 пользователей)
|
Ответ: Помогите с травой
Ну да, название темы просто заставляет поржать :- D помогите с травой
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.06.2015, 12:33
|
#23
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
Ответ: Помогите с травой
И в этом вся булка двое попытались помочь, остальные просто мимокрокодилы
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо St_AnGer за это полезное сообщение:
|
|
24.06.2015, 13:08
|
#24
|
Разработчик
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений (для 220 пользователей)
|
Ответ: Помогите с травой
Сообщение от St_AnGer
И в этом вся булка двое попытались помочь, остальные просто мимокрокодилы
|
Ну ему дали дельный совет, изучить все функции и прочитать коменты к ним. Там же все расписано. Правильно выше написали, если он ааааааа... То даже разжував и положив в рот это не поможет
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.06.2015, 14:10
|
#25
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Помогите с травой
А третьи начинают флуд.
Max Payne, если ты что-то сделать хочешь, то тебе надо не с травой разбираться, а учить программирование. Я начинал точно так же с копипасты и ничем хорошим это не кончилось.
Во-первых, Булка, этот форум, здесь по Blitz3D можно найти практически все ответы.
Во-вторых, blitzetc.ru.
Пакет примеров от Шталкера кажется.
Сам блиц, самой последней версии.
Русский help, там есть лишние файлы, но думаю разберёшься. Надо скопировать в папку с блицем и заменить.
Насчёт функции. Функция это когда (к примеру, подробности см. ниже ) код который нужно выполнять множество раз, скрываешь за одно командой. Красным помечена команда, которую добавляет программист, остальное "обёрнутый" код:
;Layer и MapFile$ параметры передаваемые в функцию
Function BG_SetGrassMap(Layer, MapFile$) ;Начало функции
;Код который без функции протребовалось бы писать 100500 раз (индусский код)
em.BG_GrassLayer = Object.BG_GrassLayer(Layer)
Img = LoadImage(MapFile)
Width = ImageWidth(Img)-1
Height = ImageHeight(Img)-1
Buff = ImageBuffer(Img)
LockBuffer Buff
For x = 0 To 255
For y = 0 To 255
rgb = ReadPixelFast(255*x/Width, Height-(255*y/Height), Buff)
density = (rgb Shr 8) And $FF
BG_sysArraySet(em\GrassMap, x, y, density)
Next
Next
UnlockBuffer Buff
End Function ;Конец функции
Последний раз редактировалось Arton, 02.07.2015 в 03:06.
Причина: ошипка.
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо Arton за это полезное сообщение:
|
|
24.06.2015, 14:28
|
#26
|
Нуждающийся
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений (для 12 пользователей)
|
Re: Помогите с травой
Большое спасибо за помощь. с травой я разобрался.
|
(Offline)
|
|
24.06.2015, 16:25
|
#27
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: Помогите с травой
ну как , всю скурил?
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.06.2015, 17:21
|
#28
|
Разработчик
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений (для 220 пользователей)
|
Ответ: Помогите с травой
Сообщение от Arton
А третьи начинают флуд.
Max Payne, если ты что-то сделать хочешь, то тебе надо не с травой разбираться, а учить программирование. Я начинал точно так же с копипасты и ничем хорошим это не кончилось.
Во-первых, Булка, этот форум, здесь по Blitz3D можно найти практически все ответы.
Во-вторых, blitzetc.ru.
Пакет примеров от Шталкера кажется.
Сам блиц самой последней версии.
Русский help, там есть лишении файлы, но думаю разберёшься. Надо скопировать в папку с блицем и заменить.
Насчёт функции. Функция это когда код который нужно выполнять множество раз, скрываешь за одно командой. Красным помечена команда, которую добавляет программист, остальное "обёрнутый" код:
;Layer и MapFile$ параметры передаваемые в функцию
Function BG_SetGrassMap(Layer, MapFile$) ;Начало функции
;Код который без функции протребовалось бы писать 100500 раз (индусский код)
em.BG_GrassLayer = Object.BG_GrassLayer(Layer)
Img = LoadImage(MapFile)
Width = ImageWidth(Img)-1
Height = ImageHeight(Img)-1
Buff = ImageBuffer(Img)
LockBuffer Buff
For x = 0 To 255
For y = 0 To 255
rgb = ReadPixelFast(255*x/Width, Height-(255*y/Height), Buff)
density = (rgb Shr And $FF
BG_sysArraySet(em\GrassMap, x, y, density)
Next
Next
UnlockBuffer Buff
End Function ;Конец функции
|
Чуть чуть не правильное у Вас понятие о функции. Она не обязательно в Blitz3D делается только из-за того чтоб код 100500 раз не писать.
Фу́нкция в программировании — поименованный фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы. С именем функции неразрывно связан адрес первой инструкции (оператора), входящей в функцию, которой передаётся управление при обращении к функции.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.06.2015, 11:08
|
#29
|
ПроЭктировщик
Регистрация: 08.05.2011
Сообщений: 143
Написано 46 полезных сообщений (для 219 пользователей)
|
Ответ: Помогите с травой
как раз таки удобно разбивать функционал по функциям. некая структуризация. Сразу понятно что за что отвечает, да и вообще это хороший тон, на мой взгляд
__________________
|
(Offline)
|
|
25.06.2015, 13:00
|
#30
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Помогите с травой
Сообщение от L-ee-X
Чуть чуть не правильное у Вас понятие о функции. Она не обязательно в Blitz3D делается только из-за того чтоб код 100500 раз не писать.
Фу́нкция в программировании — поименованный фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы. С именем функции неразрывно связан адрес первой инструкции (оператора), входящей в функцию, которой передаётся управление при обращении к функции.
|
Во-первых, у меня нет "правильного" представления.
Во-вторых, предпочитаю объяснять "на пальцах".
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:02.
|