Травка зеленеет
Кто знает как в 3D max посадить траву и чтобы она неколизилась с играком (и была с альфа каналом). Зарание благодарен.
|
Ответ: Травка зеленеет
|
Ответ: Травка зеленеет
Были времена, когда многие ринулись реализовать траву в блице. Погугли, даже Матт Меркулов делал реализацию.
|
Ответ: Травка зеленеет
Ну и нормально на Блитце травка реализовывалась, спрайтами. Есть где то у меня этот код, если кому надо - поищу.
|
Ответ: Травка зеленеет
Найди пожалуйста.
И еще вопрос как сделать так чтобы играк немог вылазить на большие горы карты а спускалмя назад (карта ведь не безрозмерная). Спасибо! |
Ответ: Травка зеленеет
Цитата:
Или без падания: 2)Или условие с координатами X-Z-Y 3)Или колизия с невидимым мешом |
Ответ: Травка зеленеет
Цитата:
|
Ответ: Травка зеленеет
Цитата:
|
Ответ: Травка зеленеет
Точно не уверен, но на сколько я знаю, лучше траву делать при помощи одного меша. Просто много спрайтов - много мешей. А одно и тоже количество треугольников считается в одном меше быстрей чем в многих мешах. Кроме того, в блитсе есть своя система обработки спрайтов, а для норм травы она нафик не надо. Только лишний ресурс жрет.
|
Ответ: Травка зеленеет
Палка о двух концах, если левел большой и травы много, то 1 мешем может быть уже не так выгоно, тогда будет смысл объединять в несколько мешей, типа квадратами, зонами такими.
|
Ответ: Травка зеленеет
Была подобная тема
рассматривался пример "DynamicGrass_Blitz3D_SrcAndMedia" реализация травки в однов сурфейсе у меня исходник есть могу выслать. |
Ответ: Травка зеленеет
Цитата:
|
Ответ: Травка зеленеет
Цитата:
|
Ответ: Травка зеленеет
Пример колышашейся травки в Блитце из "уроков"
Graphics3D 640,480 Global windwave# Global grasscount Global player=CreateSphere() PositionEntity player,0, 1, -5 cam=CreateCamera(player) light=CreateLight() Global groundtex=LoadTexture("ground.jpg") ; Текстура земли Ground=CreatePlane() PositionEntity Ground,0,-1,0 EntityTexture Ground, groundtex ramp=CreateMesh() surf=CreateSurface( ramp ) segs=1 width#=2 For k=0 To segs x#=Float(k)*width/segs-width/2 u#=Float(k)/segs AddVertex surf,x,1,0,u,0 AddVertex surf,x,-1,0,u,1 Next For k=0 To segs-1 AddTriangle surf,k*2,k*2+2,k*2+3 AddTriangle surf,k*2,k*2+3,k*2+1 Next EntityFX ramp, 16 Or 1 grasstex=LoadBrush("grass.png",4) ; Текстура травы PaintMesh ramp, grasstex Dim grass(1000) Dim grass_dir#(1000) grasscount=0 For j#=-10 To 10 Step 1 For i#=-10 To 10 Step 1 grass(grasscount)=CopyEntity(ramp) x#=(i+Rnd(5,5)) z#=(j+Rnd(5,5)) y#=0; PositionEntity grass(grasscount),x,y,z grass_dir(grasscount)=Rand(-45,45) grasscount=grasscount+1 Next Next HideEntity ramp While KeyDown(1) <> True If KeyDown(200) MoveEntity player, 0, 0, 0.2 If KeyDown(208) MoveEntity player, 0, 0, -0.2 If KeyDown(203) TurnEntity player, 0, 2, 0 If KeyDown(205) TurnEntity player, 0, -2, 0 If KeyDown(2) SpriteViewMode sp, 1 If KeyDown(3) SpriteViewMode sp, 2 wind(1) UpdateWorld RenderWorld Flip Wend End ;-------------------- Function wind(speed#) For i=0 To grasscount-1 x#=EntityX(grass(i)) z#=EntityZ(grass(i)) RotateEntity grass(i),0,grass_dir(i),Cos(windwave+z)*0.5 Next windwave=(windwave+speed#) End Function |
Ответ: Травка зеленеет
Насчет увеличения гравитации... Если сделать ее слишком большой, то персонаж не сможет ходить по ступенькам (не переступит). Что посоветуете?
|
Часовой пояс GMT +4, время: 09:01. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot