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

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

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 23.06.2015, 10:23   #16
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 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), Gector (26.06.2015), L-ee-X (23.06.2015)
Старый 23.06.2015, 14:53   #17
Max Payne
Нуждающийся
 
Аватар для Max Payne
 
Регистрация: 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
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Помогите с травой

Кстати ты зря поставил пивот вместо камеры: BG_Update(camera).
Идея реалтаймовой визуализации, вблизи высокая детализация, вдали низкая или вовсе удаляем ненужное, это один из краеугольных камней.
Тут трава работает так же. В обновление задаёшь точкой отрисовки камеру. Как бы ты не перемещал камеру, трава всегда будет "бегать" за ней.

P. S. Как там маску использовать и по террайну траву разложить, тоже не понял
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Старый 23.06.2015, 18:38   #19
Артем Валерьевич
Бывалый
 
Аватар для Артем Валерьевич
 
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений
(для 1,079 пользователей)
Ответ: Помогите с травой

так если ты аааааааа... Даже если тебе разжуют и в рот наложат, то это тебе не поможе
__________________
http://forum.boolean.name/image.php?type=sigpic&userid=2247&dateline=1418298  527
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
L-ee-X (23.06.2015)
Старый 23.06.2015, 20:05   #20
L-ee-X
Разработчик
 
Аватар для L-ee-X
 
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений
(для 220 пользователей)
Ответ: Помогите с травой

Такие темы нужно проходить мимо
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Старый 24.06.2015, 03:06   #21
Владислав
ПроЭктировщик
 
Аватар для Владислав
 
Регистрация: 08.05.2011
Сообщений: 143
Написано 46 полезных сообщений
(для 219 пользователей)
Ответ: Помогите с травой

Автор, тебе сейчас не потянуть игру, где бы требовалась трава, да и нафиг она нужна. Чтобы вешать гирлянду, нужна елка

А вообще я проходил мимо, поржать над названием темы :D
__________________

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Владислав за это полезное сообщение:
Gector (26.06.2015), L-ee-X (24.06.2015)
Старый 24.06.2015, 08:36   #22
L-ee-X
Разработчик
 
Аватар для L-ee-X
 
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений
(для 220 пользователей)
Ответ: Помогите с травой

Ну да, название темы просто заставляет поржать :- D помогите с травой
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
LLI.T.A.L.K.E.R. (24.06.2015)
Старый 24.06.2015, 12:33   #23
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 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 за это полезное сообщение:
Gector (26.06.2015), Izunad (24.06.2015), L-ee-X (24.06.2015)
Старый 24.06.2015, 13:08   #24
L-ee-X
Разработчик
 
Аватар для L-ee-X
 
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений
(для 220 пользователей)
Ответ: Помогите с травой

Сообщение от St_AnGer Посмотреть сообщение
И в этом вся булка двое попытались помочь, остальные просто мимокрокодилы
Ну ему дали дельный совет, изучить все функции и прочитать коменты к ним. Там же все расписано. Правильно выше написали, если он ааааааа... То даже разжував и положив в рот это не поможет
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Старый 24.06.2015, 14:10   #25
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 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 за это полезное сообщение:
Gector (26.06.2015), Izunad (24.06.2015), Max Payne (24.06.2015), Randomize (25.06.2015), St_AnGer (24.06.2015)
Старый 24.06.2015, 14:28   #26
Max Payne
Нуждающийся
 
Аватар для Max Payne
 
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений
(для 12 пользователей)
Re: Помогите с травой

Большое спасибо за помощь. с травой я разобрался.
(Offline)
 
Ответить с цитированием
Старый 24.06.2015, 16:25   #27
Артем Валерьевич
Бывалый
 
Аватар для Артем Валерьевич
 
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений
(для 1,079 пользователей)
Ответ: Помогите с травой

ну как , всю скурил?
__________________
http://forum.boolean.name/image.php?type=sigpic&userid=2247&dateline=1418298  527
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
L-ee-X (24.06.2015)
Старый 24.06.2015, 17:21   #28
L-ee-X
Разработчик
 
Аватар для L-ee-X
 
Регистрация: 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
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Помогите с травой

Сообщение от L-ee-X Посмотреть сообщение
Чуть чуть не правильное у Вас понятие о функции. Она не обязательно в Blitz3D делается только из-за того чтоб код 100500 раз не писать.

Фу́нкция в программировании — поименованный фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы. С именем функции неразрывно связан адрес первой инструкции (оператора), входящей в функцию, которой передаётся управление при обращении к функции.
Во-первых, у меня нет "правильного" представления.
Во-вторых, предпочитаю объяснять "на пальцах".
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (25.06.2015)
Ответ


Опции темы

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

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


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


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