forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Разделить мир на квады (http://forum.boolean.name/showthread.php?t=15791)

Program23 06.11.2011 19:06

Разделить мир на квады
 
Вложений: 1
Захотел я сделать что-нибудь прикольное связанное с экономикой.Например свой зоопарк.
Мне нужно разделить каку-либо плоскость на квадраты и чтобы я в любом таком квадратике мог поставить какой-либо объект.
Каким образом это можно провернуть?
Вложение 15369

NitE 06.11.2011 19:09

Ответ: Разделить мир на квады
 
1. Создаешь массив 20х20.
2. ??????
3. профит!

Program23 06.11.2011 19:19

Ответ: Разделить мир на квады
 
О спасибо,я что-то запамятовал

Program23 06.11.2011 19:42

Ответ: Разделить мир на квады
 
PHP код:

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

dsd 06.11.2011 19:46

Ответ: Разделить мир на квады
 
Ну у тебя же должны кубы ставиться по двум координатам:
Код:

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

Program23 06.11.2011 20:00

Все разобрался.
А как удалить пост?у меня нет такой кнопки

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

Кирпи4 06.11.2011 20:53

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

Program23 06.11.2011 21:11

Ответ: Разделить мир на квады
 
Вложений: 1
Если я правильно понял,то ты предлагаешь разделить один квадрат на 4.
Вложение 15374

Кирпи4 06.11.2011 21:15

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

Mr_F_ 06.11.2011 21:30

Ответ: Разделить мир на квады
 
Цитата:

А почему бы не сделать только два триангла на ячейку вместо целого квада?
ваще то квадами обычно и называют плоские квадраты из двух трианглов

Кирпи4 06.11.2011 21:36

Ответ: Разделить мир на квады
 
Цитата:

Сообщение от Mr_F_ (Сообщение 208633)
ваще то квадами обычно и называют плоские квадраты из двух трианглов

Тфу блин, спасибо, я просто постоянно их путаю

Program23 06.11.2011 21:49

Ответ: Разделить мир на квады
 
Такс...создал я квад
PHP код:

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?

ABTOMAT 06.11.2011 22:01

Ответ: Разделить мир на квады
 
Цитата:

Сообщение от Program23 (Сообщение 208637)
Такс...создал я квад
PHP код:

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. А вообще лучше б их все в один сурфейс загнать и по пикнутому трианглу определять, к какой ячейке оно относится.

Program23 07.11.2011 09:32

Ответ: Разделить мир на квады
 
Сделал все,как посоветовал АВТОМАТ.
Как можно узнать позицию Triangle?

Randomize 07.11.2011 12:26

Ответ: Разделить мир на квады
 
Через
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


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot