 |
3D-программирование Вопросы, касающиеся программирования 3D мира |
15.03.2007, 15:15
|
#16
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Деформация сферы
Пример делал не я, так что сам немного не понимаю код.
Могу только сказать,то что на mesh'e пересчитываються вертексы, командой CountVertices, а затем производится манипуляция mesh'ом командой VertexCoords. Вроде все.
|
(Offline)
|
|
15.03.2007, 15:49
|
#17
|
Дэвелопер
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений (для 17 пользователей)
|
Re: Деформация сферы
Круглые камни форева 
А лутше сделай в 3д максе(красиво, просто, бысто(и полики сыканомиш))
|
(Offline)
|
|
15.03.2007, 15:51
|
#18
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Деформация сферы
2vlad с тобой солидарен, но Fant уже отвечал, что хочет в Блице камни научиться делать.
|
(Offline)
|
|
15.03.2007, 16:12
|
#19
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: Деформация сферы
Сообщение от JohnK
Пример делал не я, так что сам немного не понимаю код.
Могу только сказать,то что на mesh'e пересчитываються вертексы, командой CountVertices, а затем производится манипуляция mesh'ом командой VertexCoords. Вроде все.
|
Я в принципе примерно так и понимаю...
ТОгда как будет время постараюсь методом тыка сделать то, что мне нужно. Если так не получится, то сюда снова напишу
|
(Offline)
|
|
15.03.2007, 16:15
|
#20
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: Деформация сферы
Сообщение от vlad
Круглые камни форева 
А лутше сделай в 3д максе(красиво, просто, бысто(и полики сыканомиш))
|
В природе круглых камней не бывает...это фантастика!
|
(Offline)
|
|
15.03.2007, 19:37
|
#21
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Деформация сферы
Fant, Тебе надо поэкспериментировать с density и depth.
|
(Offline)
|
|
15.03.2007, 22:28
|
#22
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: Деформация сферы
Сообщение от JohnK
Fant, Тебе надо поэкспериментировать с density и depth.
|
я вернусь к этому вопросу, если мне что-то будет непонятно, как только опять переделаю систему "движения"
|
(Offline)
|
|
15.03.2007, 23:04
|
#23
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: Деформация сферы
в 2002 году делал астероидный пояс:
For sr=1 To CountSurfaces(sp\en)
surf=GetSurface(sp\en,sr)
For a=0 To CountVertices(surf)-1
VertexCoords surf,a,VertexX#(surf,a)+Rnd(-.5,.5),VertexY#(surf,a)+Rnd(-.5,.5),VertexZ#(surf,a)+Rnd(-.5,.5)
col=Rnd(0,1)
VertexColor surf,a,col*100,col*200,col*200
Next
Next
|
__________________
|
(Offline)
|
|
16.03.2007, 21:57
|
#24
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Деформация сферы
HolyDel
Мне не нужно супер красиво! Мне бы что-нибудь по-проще!
|
я о том, что если програмно делать геосферу, то лутче сразу вертексы ставить с елементами случайности, чем создавать геосферу (правильную) а потом на нее накладывать шум.
|
(Offline)
|
|
05.06.2007, 20:16
|
#25
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Деформация сферы
Наконец то нашел тот семпл  Вот код:

; CameraPick/ pickedsurface()/ pickedtriange() Demo
; [email protected]
; http://www.birdie72.freeserve.co.uk
;
Graphics3D 640,480
SetBuffer BackBuffer()
piv=CreatePivot()
cam=CreateCamera(piv)
PositionEntity cam,0,0,-10
lit=CreateLight()
TurnEntity lit,25,55,0
sp=CreateSphere(10)
EntityPickMode sp,2
EntityFX sp,2
ScaleMesh sp,4,3,3
;Random paint of vertices
Color_Mesh(sp)
sp2=CreateSphere(10)
PositionEntity sp2,0,4,0
EntityPickMode sp2,2
EntityFX sp2,2
ScaleMesh sp2,2,1,2
;Random paint of vertices
Color_Mesh(sp2)
While Not KeyDown(1)
TurnEntity sp,0,.2,0
TurnEntity sp2,0,-.2,0
ent=CameraPick(cam,MouseX(),MouseY())
If KeyDown(203) TurnEntity piv,0,1,0
If KeyDown(205) TurnEntity piv,0,-1,0
If KeyDown(200) TurnEntity piv,1,0,0
If KeyDown(208) TurnEntity piv,-1,0,0
If KeyDown(44) MoveEntity cam,0,0,-.2
If KeyDown(30) MoveEntity cam,0,0,.2
If KeyHit(2) Then wire=1-wire
WireFrame wire
UpdateWorld
RenderWorld
If ent<>0 Then
surf=PickedSurface()
tria=PickedTriangle()
If MouseDown(1) Then
v0=TriangleVertex(surf,tria,0)
v1=TriangleVertex(surf,tria,1)
v2=TriangleVertex(surf,tria,2)
x0#=VertexX(surf,v0)+(VertexNX(surf,v0)*.005)
x1#=VertexX(surf,v1)+(VertexNX(surf,v1)*.005)
x2#=VertexX(surf,v2)+(VertexNX(surf,v2)*.005)
y0#=VertexY(surf,v0)+(VertexNY(surf,v0)*.005)
y1#=VertexY(surf,v1)+(VertexNY(surf,v1)*.005)
y2#=VertexY(surf,v2)+(VertexNY(surf,v2)*.005)
z0#=VertexZ(surf,v0)+(VertexNZ(surf,v0)*.005)
z1#=VertexZ(surf,v1)+(VertexNZ(surf,v1)*.005)
z2#=VertexZ(surf,v2)+(VertexNZ(surf,v2)*.005)
VertexCoords surf,v0,x0,y0,z0
VertexCoords surf,v1,x1,y1,z1
VertexCoords surf,v2,x2,y2,z2
End If
If MouseHit(2)
v0=TriangleVertex(surf,tria,0)
v1=TriangleVertex(surf,tria,1)
v2=TriangleVertex(surf,tria,2)
VertexColor surf,v0,Rnd(255),Rnd(255),Rnd(255)
VertexColor surf,v1,Rnd(255),Rnd(255),Rnd(255)
VertexColor surf,v2,Rnd(255),Rnd(255),Rnd(255)
End If
End If
Plot MouseX(),MouseY()
Text 0,0,"Click left mouse on an entity to swell it at that point"
Text 0,15,"Click right mouse on an entity to paint the vertices of that triangle"
Text 0,30,"Press 1 to toggle wireframe"
Text 0,45,"Cursors to rotate camera"
Text GraphicsWidth()/2,GraphicsHeight()-32,"Ent:"+ent+" Surf:"+surf+" Triangle:"+tria,1,0
Flip
Wend
FreeEntity sp2
FreeEntity sp
EndGraphics
End
;Random paint of vertices
Function Color_Mesh(mesh)
For s=1 To CountSurfaces(mesh)
surf=GetSurface(mesh,s)
For a=0 To CountVertices(surf)-1
VertexColor surf,a,Rnd(255),Rnd(255),Rnd(255)
Next
Next
End Function
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:47.
|