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

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

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

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

Ответ
 
Опции темы
Старый 06.11.2011, 19:06   #1
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Разделить мир на квады

Захотел я сделать что-нибудь прикольное связанное с экономикой.Например свой зоопарк.
Мне нужно разделить каку-либо плоскость на квадраты и чтобы я в любом таком квадратике мог поставить какой-либо объект.
Каким образом это можно провернуть?
Нажмите на изображение для увеличения
Название: Безымянный.PNG
Просмотров: 937
Размер:	11.1 Кб
ID:	15369
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 06.11.2011, 19:09   #2
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Разделить мир на квады

1. Создаешь массив 20х20.
2. ??????
3. профит!
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо NitE за это полезное сообщение:
Mr_F_ (06.11.2011), Program23 (06.11.2011)
Старый 06.11.2011, 19:19   #3
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Разделить мир на квады

О спасибо,я что-то запамятовал
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 06.11.2011, 19:42   #4
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Разделить мир на квады

Dim box(20,20)
For 
x1 To 10
 
For y1 To 10
 
box
(x,y)=CreateCube()
ScaleEntity box(x,y),2,2,.2
xf
#=xf#+4
PositionEntity box(x,y),xf#,0,0
EntityColor box(x,y),Rnd(0,255),255,255

Next
 Next 
Что-то не могу понять,как сделать поле.Получается только по осиX
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 06.11.2011, 19:46   #5
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Разделить мир на квады

Ну у тебя же должны кубы ставиться по двум координатам:
Dim box(20,20) 
For x= 1 To 10 
 For y= 1 To 10 
  
box(x,y)=CreateCube() 
ScaleEntity box(x,y),2,2,.2 


PositionEntity box(x,y),xf#,yf#, 0
EntityColor box(x,y),Rnd(0,255),255,255 
yf#=yf#+4 
Next 
xf#=xf#+4 
 Next
Кстати почему массив на 400 элементов, а расставляются только 100? Не вижу логики :D
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (06.11.2011)
Старый 06.11.2011, 20:00   #6
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Все разобрался.
А как удалить пост?у меня нет такой кнопки

Сделал возможность выделять квадратики,уже прогресс.
__________________
Фриланс:
Freelancer.com
Upwork

Последний раз редактировалось moka, 08.11.2011 в 16:17.
(Offline)
 
Ответить с цитированием
Старый 06.11.2011, 20:53   #7
Кирпи4
Социал-сычевист
 
Аватар для Кирпи4
 
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений
(для 1,359 пользователей)
Ответ: Разделить мир на квады

А почему бы не сделать только два триангла на ячейку вместо целого квада? ИМХО, полигонаж сократится ровно в 6 раз
__________________


(Offline)
 
Ответить с цитированием
Старый 06.11.2011, 21:11   #8
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Разделить мир на квады

Если я правильно понял,то ты предлагаешь разделить один квадрат на 4.
Нажмите на изображение для увеличения
Название: Безымянный.PNG
Просмотров: 880
Размер:	4.9 Кб
ID:	15374
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 06.11.2011, 21:15   #9
Кирпи4
Социал-сычевист
 
Аватар для Кирпи4
 
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений
(для 1,359 пользователей)
Ответ: Разделить мир на квады

Нет, я предлогаю вместо CreateCube() делать создание только ОДНОГО сурфейса. Да и вообще, тук-тук в аську: 371074970
__________________


(Offline)
 
Ответить с цитированием
Старый 06.11.2011, 21:30   #10
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Разделить мир на квады

А почему бы не сделать только два триангла на ячейку вместо целого квада?
ваще то квадами обычно и называют плоские квадраты из двух трианглов
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
ABTOMAT (06.11.2011), Reizel (07.11.2011)
Старый 06.11.2011, 21:36   #11
Кирпи4
Социал-сычевист
 
Аватар для Кирпи4
 
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений
(для 1,359 пользователей)
Ответ: Разделить мир на квады

Сообщение от Mr_F_ Посмотреть сообщение
ваще то квадами обычно и называют плоские квадраты из двух трианглов
Тфу блин, спасибо, я просто постоянно их путаю
__________________


(Offline)
 
Ответить с цитированием
Старый 06.11.2011, 21:49   #12
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Разделить мир на квады

Такс...создал я квад
mesh CreateMesh() 
surf CreateSurface(mesh

v0 AddVertex (surf, -5,-5,0,0
v1 AddVertex (surf5,-5,0,0
v2 AddVertex (surf, -55,00.5,1)

t0 AddVertex (surf5,-5,0,0
t1 AddVertex (surf5,5,0,0
t2 AddVertex (surf, -55,00.5,1

tri AddTriangle (surf,v0,v2,v1)
tri2 AddTriangle (surf,t0,t2,t1
Пикать его PickedSurface или PickedEntity?
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 06.11.2011, 22:01   #13
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Разделить мир на квады

Сообщение от Program23 Посмотреть сообщение
Такс...создал я квад
mesh CreateMesh() 
surf CreateSurface(mesh

v0 AddVertex (surf, -5,-5,0,0
v1 AddVertex (surf5,-5,0,0
v2 AddVertex (surf, -55,00.5,1)

t0 AddVertex (surf5,-5,0,0
t1 AddVertex (surf5,5,0,0
t2 AddVertex (surf, -55,00.5,1

tri AddTriangle (surf,v0,v2,v1)
tri2 AddTriangle (surf,t0,t2,t1
Пикать его PickedSurface или PickedEntity?
Если они у тебя каждый в отдельном Entity (скорее всего с твоим кодом оно так и есть), то PickedEntity, если в одном Entity, но в разных сурфейсах, то PickedSurface. А вообще лучше б их все в один сурфейс загнать и по пикнутому трианглу определять, к какой ячейке оно относится.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (06.11.2011)
Старый 07.11.2011, 09:32   #14
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Разделить мир на квады

Сделал все,как посоветовал АВТОМАТ.
Как можно узнать позицию Triangle?
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 07.11.2011, 12:26   #15
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: Разделить мир на квады

Через
TriangleVertex ( surface,triangle_index,corner )

Получаем нужный vertex (0,1,2)

И далее:
VertexX# ( surface,index )
VertexY# ( surface,index )
VertexZ# ( surface,index )

По теме:
http://help.boolean.name/commands/3d...edTriangle.htm
__________________
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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (07.11.2011)
Ответ


Опции темы

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

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


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


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