|
3D-программирование Вопросы, касающиеся программирования 3D мира |
06.11.2011, 19:06
|
#1
|
Бывалый
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений (для 406 пользователей)
|
Разделить мир на квады
Захотел я сделать что-нибудь прикольное связанное с экономикой.Например свой зоопарк.
Мне нужно разделить каку-либо плоскость на квадраты и чтобы я в любом таком квадратике мог поставить какой-либо объект.
Каким образом это можно провернуть?
|
(Offline)
|
|
06.11.2011, 19:09
|
#2
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Разделить мир на квады
1. Создаешь массив 20х20.
2. ??????
3. профит!
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо NitE за это полезное сообщение:
|
|
06.11.2011, 19:19
|
#3
|
Бывалый
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений (для 406 пользователей)
|
Ответ: Разделить мир на квады
О спасибо,я что-то запамятовал
|
(Offline)
|
|
06.11.2011, 19:42
|
#4
|
Бывалый
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений (для 406 пользователей)
|
Ответ: Разделить мир на квады
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 xf#=xf#+4 PositionEntity box(x,y),xf#,0,0 EntityColor box(x,y),Rnd(0,255),255,255 Next Next
Что-то не могу понять,как сделать поле.Получается только по осиX
|
(Offline)
|
|
06.11.2011, 19:46
|
#5
|
Мастер
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.11.2011, 20:00
|
#6
|
Бывалый
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений (для 406 пользователей)
|
Все разобрался.
А как удалить пост?у меня нет такой кнопки
Сделал возможность выделять квадратики,уже прогресс.
Последний раз редактировалось moka, 08.11.2011 в 16:17.
|
(Offline)
|
|
06.11.2011, 20:53
|
#7
|
Социал-сычевист
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений (для 1,359 пользователей)
|
Ответ: Разделить мир на квады
А почему бы не сделать только два триангла на ячейку вместо целого квада? ИМХО, полигонаж сократится ровно в 6 раз
|
(Offline)
|
|
06.11.2011, 21:11
|
#8
|
Бывалый
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений (для 406 пользователей)
|
Ответ: Разделить мир на квады
Если я правильно понял,то ты предлагаешь разделить один квадрат на 4.
|
(Offline)
|
|
06.11.2011, 21:15
|
#9
|
Социал-сычевист
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений (для 1,359 пользователей)
|
Ответ: Разделить мир на квады
Нет, я предлогаю вместо CreateCube() делать создание только ОДНОГО сурфейса. Да и вообще, тук-тук в аську: 371074970
|
(Offline)
|
|
06.11.2011, 21:30
|
#10
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Разделить мир на квады
А почему бы не сделать только два триангла на ячейку вместо целого квада?
|
ваще то квадами обычно и называют плоские квадраты из двух трианглов
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
|
|
06.11.2011, 21:36
|
#11
|
Социал-сычевист
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений (для 1,359 пользователей)
|
Ответ: Разделить мир на квады
Сообщение от Mr_F_
ваще то квадами обычно и называют плоские квадраты из двух трианглов
|
Тфу блин, спасибо, я просто постоянно их путаю
|
(Offline)
|
|
06.11.2011, 21:49
|
#12
|
Бывалый
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений (для 406 пользователей)
|
Ответ: Разделить мир на квады
Такс...создал я квад
mesh = CreateMesh() surf = CreateSurface(mesh) v0 = AddVertex (surf, -5,-5,0, 0 ,0) v1 = AddVertex (surf, 5,-5,0, 1 ,0) v2 = AddVertex (surf, -5, 5,0, 0.5,1) t0 = AddVertex (surf, 5,-5,0, 0 ,0) t1 = AddVertex (surf, 5,5,0, 1 ,0) t2 = AddVertex (surf, -5, 5,0, 0.5,1) tri = AddTriangle (surf,v0,v2,v1) tri2 = AddTriangle (surf,t0,t2,t1)
Пикать его PickedSurface или PickedEntity?
|
(Offline)
|
|
06.11.2011, 22:01
|
#13
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Разделить мир на квады
Сообщение от Program23
Такс...создал я квад
mesh = CreateMesh() surf = CreateSurface(mesh) v0 = AddVertex (surf, -5,-5,0, 0 ,0) v1 = AddVertex (surf, 5,-5,0, 1 ,0) v2 = AddVertex (surf, -5, 5,0, 0.5,1) t0 = AddVertex (surf, 5,-5,0, 0 ,0) t1 = AddVertex (surf, 5,5,0, 1 ,0) t2 = AddVertex (surf, -5, 5,0, 0.5,1) tri = AddTriangle (surf,v0,v2,v1) tri2 = AddTriangle (surf,t0,t2,t1)
Пикать его PickedSurface или PickedEntity?
|
Если они у тебя каждый в отдельном Entity (скорее всего с твоим кодом оно так и есть), то PickedEntity, если в одном Entity, но в разных сурфейсах, то PickedSurface. А вообще лучше б их все в один сурфейс загнать и по пикнутому трианглу определять, к какой ячейке оно относится.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.11.2011, 09:32
|
#14
|
Бывалый
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений (для 406 пользователей)
|
Ответ: Разделить мир на квады
Сделал все,как посоветовал АВТОМАТ.
Как можно узнать позицию Triangle?
|
(Offline)
|
|
07.11.2011, 12:26
|
#15
|
[object Object]
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:54.
|