[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 1 из 1
  • 1
Модератор форума: Spidy, turBO, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Солнце и небо
Солнце и небо
ххХищныЙххДата: Четверг, 14.07.2011, 13:55 | Сообщение # 1
ламер
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 0
Статус: Offline
Как в Blitze создать солнце ( чтоб допустим при наведении камеры на солнце менялась яркость или чёнить в этом роде. ). И как (если вообще возможно) создать перед солнцем движущиеся облока и чтоб солнце таким лбразам освещало отдельные участки.
 
turBOДата: Пятница, 15.07.2011, 00:20 | Сообщение # 2
Полковник
Группа: Администраторы
Сообщений: 297
Награды: 5
Репутация: 12
Статус: Offline
Для увеличения яркости при наведении на источник света можешь воспользоваться функциями EntityInView() и управления яркостью\цветом света:

Code
Graphics3D 640,480   
SetBuffer BackBuffer()   

camera=CreateCamera()   
PositionEntity camera,0,2,-10   

Global light=CreateLight()   
RotateEntity light,90,0,0   

plane=CreatePlane()   
ground_tex=LoadTexture("Gfx/1.bmp")   
EntityTexture plane,ground_tex   

cube=CreateSphere()   
cube_tex=LoadTexture("Gfx/2.bmp")   
EntityTexture cube,cube_tex   
PositionEntity cube,0,1,0   

While Not KeyDown( 1 )   
     
   If KeyDown( 205 )=True Then TurnEntity camera,0,-1,0   
   If KeyDown( 203 )=True Then TurnEntity camera,0,1,0   
   If KeyDown( 208 )=True Then MoveEntity camera,0,0,-0.05   
   If KeyDown( 200 )=True Then MoveEntity camera,0,0,0.05   
     
   CameraProject(camera,EntityX(cube),EntityY(cube),EntityZ(cube))   
   RenderWorld   
     
   If EntityInView(cube,camera)=True   
    Text ProjectedX#(),ProjectedY#(),"Sun!"   
    LightColor light,100,100,100
   Else
    LightColor light,10,10,100
   EndIf    
   Text 0,0,"Use cursor keys to move about"   
   Text 0,80,"EntityInView: "+EntityInView(cube,camera)   
   Flip    
Wend   
End


Для создания облаков лучше подходят спрайты. Но они не будут затенять поверхности.


If 2+2<>4 Then Restart
 
ххХищныЙххДата: Пятница, 15.07.2011, 13:13 | Сообщение # 3
ламер
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 0
Статус: Offline
ясно ещё пару вопросов по поводу кода можно ли как то сделать плавный переход тоесть когда открыта маленькая часть куба свет темнее чем больше частей мы видим тем сильнее изменяется яркость. и другой вопрос как заставить небо двигаться?
 
turBOДата: Пятница, 15.07.2011, 21:14 | Сообщение # 4
Полковник
Группа: Администраторы
Сообщений: 297
Награды: 5
Репутация: 12
Статус: Offline
В первом вопросе неясно что именно ты хочешь сделать и для чего.
По второму: постоянно перемещай спрайтовые облака, примерно так:

clouds.zip (14 Kb)


If 2+2<>4 Then Restart
 
ххХищныЙххДата: Суббота, 16.07.2011, 23:30 | Сообщение # 5
ламер
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 0
Статус: Offline
спасибо за архив первый вопрос уже решил)
 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Солнце и небо
  • Страница 1 из 1
  • 1
Поиск: