Показать сообщение отдельно
Старый 27.12.2008, 18:57   #10
Sashka007
ПроЭктировщик
 
Аватар для Sashka007
 
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Создание реалистичного неба

Вот я вырезал код из своей игры:

Graphics3D 800,600,32,1

light=CreateLight()
RotateEntity light,60,95,0

camera = CreateCamera()

sky = CreateSphere(
skytex = LoadTexture("media\sky\sky.jpg");текстурка синего цвета
EntityTexture sky, skytex
ScaleEntity sky,5000,5000,5000
FlipMesh sky
EntityFX sky,1+8

Type obl
Field obj
End Type

mesh = CreateSphere(20)
ScaleMesh mesh,4000,4000,4000
EntityAlpha mesh,0
EntityShininess mesh,1

For scount=1 To CountSurfaces(mesh)
surface = GetSurface(mesh,scount)
numverts=CountVertices(surface)-1
For i=0 To numverts
x#=VertexX(surface,i)
y#=VertexY(surface,i)
z#=VertexZ(surface,i)
tempball.obl = New obl
tempball\obj = LoadMesh("t.b3d",mesh);тут у меня плоскость
ddd = LoadTexture("media\sky\cloud2.jpg",2+1);это уже как вы сами захотите
TextureBlend ddd,3
EntityTexture tempball\obj, ddd
EntityFX tempball\obj,1
bl#=Rnd(0,0.5)
EntityAlpha tempball\obj,bl#
ScaleEntity tempball\obj,25,252,5
PositionEntity tempball\obj,x#,y#,z#
Next
Next
Repeat

mxs#=-MouseXSpeed()/4
mys#=MouseYSpeed()/4
mxa#=mxa#+mxs#
mya#=mya#+mys#
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
RotateEntity camera,mya,mxa,0


TurnEntity mesh,0.01,0.01,0.01
For tempball.obl = Each obl
PointEntity tempball\obj,camera
Next
UpdateWorld()
RenderWorld()
Flip 1
Until KeyHit(1)
End

В принципе тут все понятно
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Taugeshtu (27.12.2008)