![]() |
Alpha в Блитце
Так вот. Есть, например, plane, на него наложена текстура. Хочу применить к plane'у EntityAlpha 0.8, например, и тогда плейн начинает натурально "мигать". Попробовал убрать EntityAlpha 0.8 и выставить при загрузке текстуры SPTex=LoadTexture("SPTex.jpg",2), тогда плейн становится прозрачным насколько-то, но регулировать эту прозрачность я не могу. Зато в Pipelene в настройках материала я могу менять Alpha как угодно от 0 до 100 и ничего не мигает. Что сделать, чтобы в блитце тоже можно было бы так делать. Заранее благодарен.
|
Re: Alpha в Блитце
меняй альфу на скоко угодно 0 - 0.5 - 0.05 - 0.005 и тд.
а мигает может потому что там у тебя не один плейн а несколько, с чемто пересекается. также мигалова могут быть из-за установленной дистанции видемости камеры. лучше клади сюда исходняк, а мы посмотрим что там у тебя мигает. |
Re: Alpha в Блитце
Если тебе чистая альфа-маска нужна то в максе на 1 слой ложишь тексу маски а на второй дифуз ( основная) и будут тебе счастья
|
Re: Alpha в Блитце
Цитата:
если нет, то вариант Blitzerg"а совсем не ришение проблемы !! |
Re: Alpha в Блитце
сделай cameraRange 1, n, если у тебя первый параметр был меньше 1.
|
Re: Alpha в Блитце
Цитата:
это какие масштабы мира должны быть, что бы земля была на растоянии меньше 1 !! |
Re: Alpha в Блитце
факт остаеться фактом. При значении Near меньше единицы, случаються артефакты, типо пропадания поликов, мигания объектов с альфой, и тд.
|
Re: Alpha в Блитце
В общем:
Plane пересекается со сферой. Камеру я ставил CameraRange CAM,1,900, т.е. на 1. Вторая цифра - тоже в норме. Но все-равно - мигает. Я одного не понимаю, почему в PipeLine тогда все работает? |
Re: Alpha в Блитце
А у тебя случайно там не 2 плейна? может это ордер шалит?.
|
Re: Alpha в Блитце
Цитата:
|
Re: Alpha в Блитце
При значении Near меньше единицы, случаються артефакты, типо пропадания поликов, мигания объектов с альфой, и тд.
Far/Near - должно быть в разумных пределах. |
Re: Alpha в Блитце
Цитата:
|
Re: Alpha в Блитце
давай код !! ;)
|
Re: Alpha в Блитце
Цитата:
|
Re: Alpha в Блитце
Есть кстати вариант устранения этой проблемы но не факт :mda: кароч попробуй свою тексу в gyu формат записать где прозрачность (не основного места с альфой на тексе ) поставь 80% а на основных (где надо чтоб было плностью прозрачным) 0% вроде должно помоч. (Это в фотошопе надо делать :( )
|
Re: Alpha в Блитце
Цитата:
|
Re: Alpha в Блитце
Страннно. И почему у меня всё работает? :-)
[blitz] Graphics3D 1024,768,0,1 SetBuffer BackBuffer() Plane = CreatePlane() Tex = LoadTexture("panels.jpg") EntityTexture Plane,Tex EntityAlpha Plane,0.5 Player = CreateSphere() EntityColor Player,255,0,0 Camera = CreateCamera(Player) PositionEntity Camera,0,5,-10 Light = CreateLight() TurnEntity Light,45,45,0 Repeat If KeyDown(17) Then MoveEntity Player,0,0,.1 If KeyDown(31) Then MoveEntity Player,0,0,-.1 If KeyDown(203) Then TurnEntity Player,0,1,0 If KeyDown(205) Then TurnEntity Player,0,-1,0 RenderWorld() Flip() Until KeyDown(1) [/blitz] Наверное у тебя тама не "код как код" ;) |
Re: Alpha в Блитце
Хм... Это код работает... Ничего не пойму...
|
Re: Alpha в Блитце
Скозали ж те: дафай сюда код ;)
|
Re: Alpha в Блитце
;Ãëàâíîå
Graphics3D 800,600,32,0;èíèöèàëèçàöèÿ ãðàôèêè ;Graphics3D 1024,768,32,1;èíèöèàëèçàöèÿ ãðàôèêè SetBuffer BackBuffer();óñòàíîâêà áóôåðà ;Êîíåö-Ãëàâíîå ;Ïåðåìåííûå Global PL Global PL_speed# Global PL_x_pos# Global PL_y_pos# Global PL_z_pos# Global CAM Global G#=-0.98 Global MaP,SS,SP,SM1,SM1Tr,EK,EKt,EKTr,WAT Global ambR=200,ambG=200,ambB=200 Global clsR=74,clsG=56,clsB=29 Global Tim$,Tim10 Global LighT ;Êîíñòàíòû Const COLL_PL=1 Const COLL_MAP=2 Const UPS=75;îáíîâëåíèÿ â ñåêóíäó (äëÿ FPS) Function InitPL(x#,y#,z#) PL=CreateSphere (6);ñîçäàåèì ñôåðó-èãðîêà ñ 6-þ ñåãìåíòàìè, ðàçìåð 1-1-1 PositionEntity PL,x#,y#,z#;ñòàâèì íà ìåñòî ScaleEntity PL,0.5,0.5,0.5 EntityRadius PL,1;ðàäèóñ ñòîëêíîâåíèÿ EntityType PL,COLL_PL;òèï êîëëèçèè äëÿ èãðîêà CAM=CreateCamera(PL);ñîçäàåì êàìåðó, äî÷åðíþþ ê èãðîêó ;CameraRange CAM,1,900 PositionEntity CAM,0,0.0,0 End Function Function InitWorld() MaP=LoadMesh ("Arena1.b3d") EntityType MaP,COLL_MAP LighT=CreateLight () PositionEntity LighT,-15,150,0 AmbientLight ambR,ambG,ambB;îêðóæàþùèé ñâåò CameraClsColor CAM,clsR,clsG,clsB;öâåò ôîíà SS=LoadMesh("SS.b3d");çàãðóçêà ñôåðû ñ íåáîì PositionEntity SS,0,0,0;óñòàíàâëèâàåì íà íîëè RotateEntity SS,0,0,90;ïîâîðà÷èâàåì íàáîê SP=LoadMesh ("SP.b3d");çàãðóçêà îáëàêîâ RotateEntity SP,180,0,0;ïîâîðîò PositionEntity SP,0,30,0;óñòàíàâëèâàåì âûñîòó îáëàêîâ SM1=LoadSprite ("Moln1.bmp");çàãðóçêà ìîëíèè ScaleSprite SM1,5,5;ìàñøòàáèðóåì PositionEntity SM1,0,-200,0;ñêðûâàåì ñ ãëàç äîëîé EntityFX SM1,1+8 EK=LoadMesh ("EK.b3d");çàãðóçêà ýêðàíà PositionEntity EK,0.725,9.802,32.31;ñòàâèì ýêðàí íà ìåñòî EKt=CreateTexture (512,256,256);ñîçäàåì òåêñòóðó WAT=LoadMesh("WT.b3d");ãðóçèì âîäó PositionEntity WAT,0,-1,0;ñòàâèì âîäó íà ìåñòî End Function Function UpdatePL() TranslateEntity PL,0,G#,0;ãðàâèòàöèÿ u#=80;ïðåäåëüíûé óãîë TurnEntity CAM,MouseYSpeed(),0,0 TurnEntity PL,0,-MouseXSpeed(),0 If KeyDown(17) Then MoveEntity Pl,0,0,0.2 If KeyDown(31) Then MoveEntity Pl,0,0,-0.2 If KeyDown(30) Then MoveEntity Pl,-0.2,0,0 If KeyDown(32) Then MoveEntity Pl,0.2,0,0 MoveMouse 1024/2,768/2 mx=MouseXSpeed ()*0.5 my=MouseYSpeed ()*0.5 MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5 If Abs(EntityPitch#(CAM))>u# RotateEntity CAM,u#*Sgn(EntityPitch#(CAM)),0,0 End Function Function Debug() Text 0,0,"ÊîóíòÊîëë: "+CountCollisions(PL)+"---"+TrisRendered()+"----"+Tim10 End Function Function UpdateWRD() TurnEntity SS,0.15,0,0;êðóòèì íåáî-ñôåðó TurnEntity SP,0,-0.1,0;êðóòèì îáëà÷êà-ïëåéí TurnEntity WAT,0,0.05,0;âðàùàåì âîäó ;ìîëíèÿ - âûñêàêèâàåò êàæäóþ 5-þ ñåêóíäó ïî Tim10, íà 6-é - ñêðûâàåòñÿ If Tim10<>5 Then SM1Tr=0 If Tim10=5 And SM1Tr=0 PositionEntity SM1,Rnd(EntityX#(CAM)-1,EntityX#(CAM)+1),7,Rnd(EntityZ#(CAM)+10,EntityZ# (CAM)+25):SM1Tr=1 AmbientLight ambR+10,ambG+50,ambB+10;ìåíÿåì îñâåùåíèå CameraClsColor CAM,clsR,clsG+55,clsB;öâåò ôîíà End If If Tim10=6 Then PositionEntity SM1,0,-200,0: AmbientLight ambR,ambG,ambB:CameraClsColor CAM,clsR,clsG,clsB;óáèðàåì ìîëíèþ ;ñêðèíøîò êàæäóþ 3-þ ñåêóíäó ïî Tim10 If Tim10<>3 Then EKTr=0 If Tim10=3 And EKTr=0 ;EKt=CreateTexture (512,256,256);ñîçäàåì òåêñòóðó MoveEntity cam,0,5,0;ïåðåìåùàåì êàìåðó, ÷òîáû âñå áûëî âèäíî CameraViewport cam,0,0,512,256;óñòàíàâëèâàåì ðàçìåð êàìåðû RenderWorld;ðåíäåðèì ìèð CopyRect 0,0,512,256,0,0,BackBuffer(),TextureBuffer(EKt);êî ïèðóåì â òåêñó ñêðèí EntityFX EK,1 EntityTexture EK,EKt;ëåïèì íà ýêðàí MoveEntity cam,0,-5,0;âîçâðàùàåì êàìåðó íà ìåñòî CameraViewport CAM,0,0,800,600;íîðìàëüíûé ðàçìåð êàìåðû EKTr=1 EndIf End Function InitPL(0,30,0) InitWorld() ;êîëëèçèè Collisions COLL_PL,COLL_MAP,2,3 ;ñ÷åò÷èê FPS period=1000/UPS;äëÿ îãðàíè÷èòåëÿ time=MilliSecs()-period; FPS ;Öèêë Repeat Repeat elapsed=MilliSecs()-time Until elapsed ticks=elapsed/period tween#=Float(elapsed Mod period)/Float(period) For k=1 To ticks time=time+period If KeyHit(1) End ;ô-èè öèêëà ;âðåìÿ If Tim$<>CurrentTime$() Then Tim$=CurrentTime$():Tim10=Tim10+1;åñëè, òî +1 ñåêóíäà If Tim10=10 Then Tim10=0;Tim10 - îáíóëÿåòñÿ ïðè 9 ñåêóíäàõ. UpdatePL() UpdateWRD() UpdateWorld Next RenderWorld tween ;âûâîä 2D Debug() Flip;îáíîâëåíèå ýêðàíà Forever ;Êîíåö Ïðîãðàììû End |
Re: Alpha в Блитце
Maxxx.!!!, коментарии лишнее !! ;)
|
Re: Alpha в Блитце
Цитата:
|
Re: Alpha в Блитце
Я что-то не заметил тама плоскости и альфы к ней ;) И каметны жгут! Мешают читать текст :)
|
Re: Alpha в Блитце
Цитата:
|
Re: Alpha в Блитце
Цитата:
о чем тема тогда ?? ;) показуй как альфу делаеш !! |
Re: Alpha в Блитце
Цитата:
Да я уже в PipeLine эту проблему решил. А так: Pl=CreatePlane() PlTex=LoadTexture("tex.jpg") EntityTexture Pl,PlTex EntityAlpha Pl,0.5 |
Re: Alpha в Блитце
Цитата:
недолжно мигать наХ !! ты или 2 раза эту процедуру проделеваеш или ... эммм !! а меш что с пиплайна тож в блиц грузиш одновременно с этим ?? может эт они пересекаются !! |
Re: Alpha в Блитце
Цитата:
|
Re: Alpha в Блитце
А ты возми за основу тот код где не мегает!:)
|
Re: Alpha в Блитце
Цитата:
А там также альфа ставится. Насколько я понял, дело в b3d, сделанных в PipeLine - ибо без них работает. |
Re: Alpha в Блитце
Гы :) Никогда не думал, что в пиплайне мона моделить и текстурить:
Цитата:
Цитата:
|
Re: Alpha в Блитце
Цитата:
пиплайн - это плагин к максу :) он лиш производит экспорт модели в формат б3д ;)[/quote] Я в курсе. Но, насколько я помню, он может не только меши хранить, но и источники освещения и т.д. |
Часовой пояс GMT +4, время: 12:36. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot