You are on page 1of 15

Web Programcl

<<

PHPye giri
PHP ile web programcl konusunda ilk renmeniz gerekenler ve pratikler .

HP, sunucu tarafnda yorumlanan dinamik kodlar, istemci tarafnda yorumlanan statik kodlarla ayn sayfada buluturan bir yapya sahiptir. Dinamik kodlar statikten ayran taklara ayra ad verilir. PHP program tarafndan yorumlanmas gereken kodlar bu ayralarn iine yazlr. PHP farkl ayra formlarna sahiptir.

PHP ayralar
<? <?php <script language=php ?> ?> ?>

PHP ile sayfaya bireyler yazdrmak iin echo direktifini takip eden trnak iaretleri kullanlr.
<? echo Bu satr PHP tarafndan yazdrlyor" ; ?>

Trnak iaretleri arasna yine trnak iareti gibi zel karakterleri yazdrabilmek iin ou program dilinde olduu gibi \ ka karakterini kullanmalsnz.
<? echo Bu satr \PHP\ tarafndan yazdrlyor" ; ?>

echo direktifi ksaca


<?= Merhaba" ?>

ile eitli eyler kastedilebilir. Bilgilerin sunucuda gerekleecek hesaplamalarda kullanlmas, bir dosyaya ya da veritabanna ilenmesi ya da e-posta ile gnderilmesi olabilir. imdilik form bilgilerinin nasl elde edilebileceini grelim. Formlar dinamik web uygulamalarnda ziyaretilerden bilgi alabilmeyi olanakl klan ve webde etkileimi kullancdan uygulamaya yanstabilen ok nemli sayfa elementleridir. Yani bir web uygulamasnn bir nevi gz-kula gibidirler. Formlar sayesinde kullanclar istek ve tercihlerini sunucudaki uygulamalara ulatrabilmektedirler. Bu adan baklacak olursa formlarn ticari sitelerde nemi hayatidir. Form uygulamasnn ilk adm bilgilerin girilecei form sayfasn hazrlamaktr. Form sayfalar statik HTML sayfalar olabilirler. Kullancdan bilgi alabilmek iin formlarda kullanabileceimiz, bir dizi form elemanlar mevcuttur. Formlarda iki nemli husus bulunur. Bunlardan birincisi form bilgilerinin nereye hangi prosedrle gnderilecei, ikincisi ise formlarda bilgi aln salayacak form elemanlarna nik isimler vermektir. Zira sunucu-tarafl uygulama bu isimlere bakarak form bilgilerini elde edebilir. Formun ilk satr olan
<form name="basitBirForm" method="post" action="kisisel.php" >

olarak da yazlabilir. PHPde komutlar ; iaretiyle birbiriden ayrlr. Bu bakmdan her bir bildiri ; iaretiyle sona ermelidir. Bunu unuttuunuz durumlarda PHP yorumlaycs hata bildirisi verecektir. PHP kodlarnza farkl taklarla not dme imkannz vardr.
// PHP bu satrlar yorumlamaz /* PHP bu satrlar yorumlamaz */ # PHP bu satrlar yorumlamaz

Deikenler
PHPde deiken tanmlarken ncelikle bir isim bulmanz ve nne $ iareti koymanz gerekir. Bu sayede PHP yorumcusu kodlarn iinde deikenleri dierlerinden ayrt edebilir. Unutmamanz gereken bir nokta, deiken isimlerinde byk kk harf ayrmnn yaplddr.

Satrndaki znitelikler ilk hususla ilgili olan deerleri tar. <form> taksnn nemli parametresi (znitelii) vardr. Bunlar action, name ve methoddur. name parametresi formumuzun referans ismini tanmlar ve biz bu deeri okas kullanc-tarafl scriptlerde form elemanlarna ulamak iin kullanyoruz. action parametresinin deeri formun Gnder dmesine basldnda girilen deerlerin sunucuda gitmesi gereken yeri belirtir. Bu yer farkl uygulamalarda farkl yerler olabilir. Bizler PHPde form bilgilerini alp ilemek iin PHP sayfalarn kullanacaz. ster dinamik ierikli olsun ister statik ierikli, her HTML sayfas form bilgilerini bildirilen noktaya gnderebilir. nemli olan ise sunucuda bu bilgileri alp okuyabilecek ve ileyebilecek bir aplikasyonun olup olmamasdr. method parametresi ise form bilgilerinin gnderilme ileminin hangi metotla yaplacan belirtir. Seebileceiniz iki metot mevcuttur: post veya get.

Deiken tanmlama
$birRakam = 15 ; $birDize = Merhaba ; $birRakam ile $birrakam

Post metodu mu? Yoksa Get metodu mu?


Form bilgilerinin gnderilmesinde seeneklerimizi oluturan post metoduyla get metodunun bir karlatrmasn yapacak olursak;
<form name="basitBirForm" method="post" action="kisisel.php" >

ayn deikeni temsil etmez.

PHP ile form bilgilerinin elde edilmesi


Sunucu tarafl script dilleriyle yaplabilecek vazgeilmezler arasnda form bilgilerinin elde edilmesi ve bu bilgilerin ilenmesi gelir. lenme Get metodu: Form bilgilerinin gnderilmesinde kullanlan ntanml (default) deerdir. Eer <form> taksnn method parametresi ola122 CHIP Workshop > >

>>

Web Programcl

rak bir deer seilmemise formumuz bilgilerini get metodu ile gnderir. Bu metotta form bilgileri parametre=deer iftleri halinde istekte bulunulan web sayfas ya da uygulamann URL bilgisinin arkasna, soru iareti ile birlikte eklenir. parametre=deer iftlerinin arasnda ise & iareti yer alr. http://www.herhangi.com/formIsleme.php?isim= Ahmet&soyisim=Erdem Get metodu ile istekte bulunulan sayfaya gidildiinde yukardakine benzer URL bilgisi taraycnn URL adres ubuunda gzkr. Bu bakmdan ifre ya da kredi kart bilgileri gibi hassas verilerin get metodu ile gnderilmesi sakncaldr. Bir dier nemli nokta ise get metoduyla gnderebileceiniz veri miktarnn snrl olmasdr. Bu miktar sunucudan sunucuya deiebilir ancak ortalama limit olarak 255 karakteri gz nnde bulundurabilirsiniz. Bu yntemin avantaj, bu yntemle gnderilen bilgiler kullanc tarafl scriptlerle elde edilebilir olmasdr. Post metodu: Post metodu ile gnderilen veri miktarnda bir snrlama sz konusu deildir. zellikle geni form yaplar ile gizli ve hassas bilgiler iin bu metot seilmelidir. Gnderilen bilgiler URL adres ubuunda gzkmez ve kullanc-tarafl scriptlerle elde edilemez. Bir rnekle grelim. Aadaki rnekte bir HTML sayfasnn sahip olabilecei tm form elemanlar kullanlarak girilen bilgiler bir PHP sayfas yardmyla alnacak ve yazdrlacak.
Kod form_kisisel.html <html><head><title>Kisisel Bilgiler</title> <meta http-equiv="Content-Type" content="text/html; charset= windows-1254"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9"> </head> <body bgcolor="#ffffff"> <h2>Kiisel Bilgiler Formu</h2> <form name="basitBirForm" method="post" action="kisisel.php" > <table> <tr> <td>&nbsp;</td> <td><input type="hidden" name="Kaynak" value= "Buraya kulancya effaf olmayan bilgileri yazabilirsiniz"></td> </tr> <tr> <td>Ad-Soyad:</td> <td> <input type="text" name="Isim" size="40"> </td> </tr> <tr> <td>Email:</td> <td> <input type="text" name="Email" size="40"> </td> </tr> <tr> <td>Mesleiniz:</td> <td> <select name="Meslek"> <option>reten</option> <option>renen</option> <option>Dinleyen</option> t t t

<option>Bilgiyi seven</option> <option>Bilgiyi sayan</option> </select> </td> </tr> <tr> <td>Eitim durumunuz:</td> <td><br> <input type="radio" name="EgitimDurumu" value="Ilkokul"> t lkokul<br> <input type="radio" name="EgitimDurumu" value="Ortaokul"> Ortaokul<br> <input type="radio" name="EgitimDurumu" value="Lise" checked> Lise<br> <input type="radio" name="EgitimDurumu" value="Universite"> niversite<br> </td> </tr> <tr> <td>Bildiiniz dil(ler)</td> <td> <input type="checkbox" name="Turkce" value="Evet" c hecked> Trke <input type="checkbox" name="Japonca" value= "Evet"> Japonca <input type="checkbox" name="Diger" value="Evet"> Dier </td> </tr> <tr> <td><br><b>Login Bilgileriniz</b><br></td> <td>&nbsp;</td> </tr> <tr> <td>Kullanc Ad:</td> <td> <input type="text" name="KullaniciAdi" size="40"> </td> </tr> <tr> <td>ifre:</td> <td> <input type="password" name="Sifre" size="42"> </td> </tr> <tr> <td>Fikirleriniz:</td> <td> <textarea name="Fikirler" cols="30" rows="5"></textarea> </td> </tr> <tr> <td>&nbsp;</td> <td> <input type="submit" name="Gonder" value="Gnder"> <input type="reset" name="Sil" value="Sil"> </td> </tr> t t <input type="checkbox" name="Ingilizce" value="Evet"> Ingilizce t t t

< CHIP Workshop 123 <

Web Programcl

<<

</table> </form></body></html>

Form sayfasndan sonra bu sayfaya girilen bilgileri alabilecek aplikasyonu yazabiliriz. lk rneimiz alaca bilgileri teyit ettirmek iin sadece sayfaya yazdrmakla yetinecek.
Kod kisisel.php <html><head><title>Kisisel Bilgiler</title> <meta http-equiv="Content-Type" content="text/html; charset= windows-1254"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9"> </head> <body bgcolor="#ffffff"> <h2>Kiisel Bilgiler Formu - Sonu</h2> <b>Kaynak:</b><?= $Kaynak; ?><br> <b>Adnz-Soyadnz:</b><?= $Isim; ?><br> <b>E-mail adresiniz:</b><?= $Email; ?><br> <b>Mesleiniz:</b><?= $Meslek; ?><br> <b>Eitim durumunuz:</b><?= $EgitimDurumu; ?><br> <br> <b><i>Login Bilgileriniz:</i></b><br> <b>Kullanc ad:</b><?= $KullaniciAdi; ?><br> <b>ifre:</b><?= $Sifre; ?><br> <br> <b>Fikirleriniz:</b><?= $Fikirler; ?><br> <br> <b><i>Bildiiniz Diller:</i></b><br> Trke (<?= $Turkce; ?>), ngilizce: (<?= $Ingilizce; ?>), Japonca: (<?= $Japonca; ?>), Dier: (<?= $Diger; ?>) . <br><br> </body></html> Kod form_hesap.html <html><head><title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9"> </head> <body bgcolor="#ffffff"> <form method="post" action="hesap.php"> <table bgcolor="#dddddd" border="0" cellpadding="10" cellspacing="0"> <tr> <td> Rakam 1: <input type="text" name="rakam1" size=10><br> Rakam 2: <input type="text" name="rakam2" size=10> </td> <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td> <td bgcolor="#cccccc"> <input type="radio" name="hesap" t value="topla">topla<br> <input type="radio" name="hesap" t value="cikar">_kar<br> </td> <td bgcolor="#cccccc"> <input type="radio" name="hesap" t value="carp">arp<br> <input type="radio" name="hesap" t value="bol">bl<br> </td> </tr> t t t t t t

uygulamada girilen deerler bizzat sunucu tarafndan hesaplanarak sonu ziyaretiye gsterilecek.

Form aplikasyonunuzu olutururken en dikkat etmeniz gereken ey form elemanlarna verdiiniz isimlerin aynlarn (byk harf / kk harf ayrmna dikkat edecek ekilde) kullanmak olacaktr. Ancak PHP sayfanzda bu parametre isimlerinin nlerine birer $ iareti koymay ihmal etmeyin. Zira PHPde deiken isimleri nnde $ iareti bulunmaldr. Sayfalarnz oluturduktan sonra bunlar PHPyi yorumlayabilen bir sunucuya koymanz gerekir. Bu FTP yoluyla gnderebileceiniz online web sunucu olabilecei gibi geen saylarda kurulumunu rendiimiz zere kendi bilgisayarnzdaki bir Apache sunucu da olabilir. Form sayfanz altrn ve formu dilediinizce doldurun ve Gnder tuuna basn. Formumuzda kaynak parametresi iin hidden tipli bir form elemannn yer aldna dikkat edin. Bu eleman, kullancnn girdii form bilgilerine ek olarak, ziyaretiye fark ettirmeden form bilgilerinin doldurulduu kaynak sayfa hakknda bilgi gnderilmesinde kullanabilirsiniz.

Basit bir uygulama: Hesap makinesi


Form uygulamalar sadece metin bilgilerini deil, saysal deerleri de alp ileyebilirler. Mesela mterilerin girmi olduu rakamsal deerler sunucuda ilendikten sonra sonular mteriye gsterilebilir ya da bir dosyaya kaydedilebilir. Deneyimlerimizi basit bir rnekle balatmak gerekirse hesap makinesi iyi bir seim olabilir. Bu

124 CHIP Workshop > >

>>
</table> <br> </form></body></html> Kod hesap.php <?

Web Programcl

<b>Sonu: <? echo "$sonuc"; ?></b>

<input type="submit" value="Hesapla">

Ortam deikenleri
Kullanc bilgisayar sunucudan istekte bulunduunda sunucu aplikasyonu kullanc bilgisayar hakknda eitli bilgileri de alabilir. stekte bulunan bilgisayarn IP numaras ya da istenen dosyann yol adresi gibi eitli olabilecek bu bilgiler, ortam deikenleri (environmental variables) olarak isimlendirilen bir grup deikende saklanrlar. PHP ile ortam daikenlerine ilgili deiken isimlerini kullanarak ulaabiliriz.
Mesela HTTP_USER_AGENT HTTP_HOST HTTP_REFERER REMOTE_ADDR Kullancnn tarayc modeli Kullancnn host adresi Kullancnn geldii sayfa Kullancnn IP numaras

Hesaplamay yapacak olan PHP uygulamas

if (($rakam1 == "") || ($rakam2 == "") || ($hesap =="")) { header("Location: form_hesap.html"); exit; } if ($hesap == "topla") { $sonuc = $rakam1 + $rakam2; } else if ($hesap == "cikar") { $sonuc = $rakam1 - $rakam2; } else if ($hesap == "carp") { $sonuc = $rakam1 * $rakam2; } else if ($hesap == "bol") { $sonuc = $rakam1 / $rakam2; } ?> <html><head><title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9"> </head> <body bgcolor="#ffffff"> <b>Sonu: <? echo "$sonuc"; ?></b> </body></html> Kod analiz.php <? $agent = getenv("HTTP_USER_AGENT"); if (preg_match("/MSIE/i", "$agent")) { $tarayici = "Internet Explorer"; } else if (preg_match("/Mozilla/i", "$agent")) { $tarayici = "Netscape"; if (($rakam1 == "") || ($rakam2 == "") || ($hesap =="")) { header("Location: form_hesap.html"); exit; } } ?> <html><head><title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9"> <script language="JavaScript"> if ($hesap == "topla") { $sonuc = $rakam1 + $rakam2; } else if ($hesap == "cikar") { $sonuc = $rakam1 - $rakam2; } else if ($hesap == "carp") { $sonuc = $rakam1 * $rakam2; } else if ($hesap == "bol") { $sonuc = $rakam1 / $rakam2; } } function pencereYuksekliginiOku() { if (document.all) { return document.body.offsetHeight; } } } else { return window.innerWidth var jsAnaliz; function pencereGenisliginiOku() { if (document.all) { return document.body.offsetWidth; t t } else { $tarayici = "$agent"; t t

Ortam deikenleriyle ilgili daha fazla bilgiyi phpinfo() fonksiyonunun oluturaca dokmandan elde edebilirsiniz. Ortam deikenleri ziyaretiler hakknda ok nemli bilgiler tadndan, bu bilgileri sitenizin ziyaretileri ile ilgili istatistik retmek zere kullanmak olduka mantkldr. Ziyaretilerinizin kullandklar ekran znrl, renk derinlii, pencere boyutlar gibi dier baz bilgileri ise sayfalarnza ekleyebileceiniz JavaScript kodlaryla elde edebilirsiniz. Bylece sitenizin ziyaretileri hakknda istatistik retebilecek olduka detayl ve bir o kadar da deerli bilgileri kullanma imkanna sahip olabilirsiniz. imdiki rneimiz hem JavaScript hem de PHPyi kullanarak baz kullanc bilgilerini elde edecek ve ekranda gsterecek.

Uygulamamzn hemen banda yer alan

Satrlar rakamlar girilmemise ya da yaplacak ilem seilmemise kullancy tekrardan form sayfasna ynlendiriyor. Bu satrlarn sayfanzdaki herhangi bir HTML kodundan nce olmas gerekir. Bu bakmdan, sayfann en banda yer alyor.

Satrlar hesab yapan kodlar. Yaplan hesabn sonucu $sonuc isimli deikene kaydediliyor. Sayfa iinde de bu deer gsteriliyor.

< CHIP Workshop 125 <

Web Programcl

<<

else { return window.innerHeight; } } function ekranGenisliginiOku() { return screen.width; } function ekranYuksekliginiOku() { return screen.height; } function renkDerinliginiOku() { return screen.colorDepth; } function okuBakiim(){ jsAnaliz = "" + "Ekran znrlgnz (piksel): " + ekranGenisliginiOku() +"x"+ ekranYuksekliginiOku() + "<br> " + pencereGenisliginiOku() + "x"+ pencereYuksekliginiOku() + "<br> Ekran Renk Derinligi (bit): " + renkDerinliginiOku() + "<br> Isletim Sisteminiz: " + navigator.platform + "<br> Taraycnz: <? echo "$tarayici"; ?>" + "<br> IP numaranz: <? echo "$REMOTE_ADDR"; ?>" + "<br>"; document.write(jsAnaliz) } </script> </head> <body onload="okuBakiim()" bgcolor="#ffffff"> </body></html> function pencereGenisliginiOku() { } function renkDerinliginiOku() { return screen.colorDepth; t Pencere Boyutunuz (piksel): t } function ekranYuksekliginiOku() { return screen.height;

ekranda 800x600 piksellik znrlk kullanlyorsa ekrann eninin tm 800 adet piksele blnm demektir. Bu da ekranda elemanlarn kocaman grnd anlamna gelir. Sonu olarak eer tasarmnz 800x600 pikselden daha bykse kullancnz fiziksel olarak ne denli byk bir ekran kullanrsa kullansn tasarmnz ekranna smayacaktr. Uzun lafn ksas, bir web tasarmcs iin ekran boyutu, znrl ifade eder.

Bu fonksiyon ziyaretinizin ekran yksekliini okuyup size getirecektir.

Bu fonksiyon ziyareti ekrannn renk derinliini yani gsterebildii renk adedini bit cinsinden verecektir. 2 rakamnn, renk derinliinin bit deerinden kuvveti renk saysn verir. Yani 8 bit renk derinlii= 28=256 renk demektir.

Sayfamzn en banda yer alan PHP kod blou ziyaretinizin kulland tarayc modelini belirliyor ve ismini sade olacak ekilde $tarayici deikenine kaydediyor. Burada kullanlan preg_match("", "") metodu ikinci parametresi iinde ilk parametresi olarak verilmi deeri byk harf / kk harf ayrm yapmadan aramaya yaryor. Bu durumda mesela
preg_match("/MSIE/i", "$agent") }

if (document.all) { return document.body.offsetWidth; } else { return window.innerWidth }

ifadesi $agent deikeninde kaytl deer iinde /MSIE/i benzeri bir ifade yer alp almadna bakyor. PHP tarafndan kullanc taraycs ve IP adresiyle ilgili iki deer JavaScript tarafndan okuBakiim() isimli fonksiyonda, kullancya bilgi vermek iin kullanlyor. Bu fonksiyon sadece bu iki deer hakknda bilgi vermekle kalmyor. Bunun yannda dier bir ka JavaScript fonksiyonuyla elde edilen bilgiler de burada kullanlyor. Bunlar nedir derseniz:
function ekranGenisliginiOku() { return screen.width; }

Bu fonksiyonumuz ise ziyaretimizin sayfamz am olduu tarayc penceresinin iten ie enini (piksel cinsinden) okur. Internet Explorer ve Netscape Navigator iin ayr bildiriler kullanldna dikkat edin ltfen.
function pencereYuksekliginiOku() { if (document.all) { return document.body.offsetHeight; } else { return window.innerHeight; } }

Adndan da anlalaca gibi bu fonksiyon ziyaretimizin ekran geniliini verir. Bu deer ekrann fiziksel boyutu deil, ekranda kullanlan znrln piksel cinsinden deeridir. Temelde de web gelitiricileri yakndan ilgilendiren bilgi zaten ekrann fiziksel boyutundan ziyade ekranda kullanlan znrlktr. Zira 19 inlik bir

Ve olarak tarayc penceresinin iten ie yksekliini veren pencereYuksekliginiOku() fonksiyonumuz. Son bir rnekle bu ayki atlyemize son verelim. rneimizde sayfamzn farkl tarayc modelleri iin farkl
126 CHIP Workshop > >

>>

Web Programcl

phpinfo() fonksiyonunun oluturduu dokmandan Environment ksmn inceleyin.

<?php } else if ($tarayici == "NS" ){?> <style type="text/css"> h2 { color:#0000ff; font-family: Times New Roman; font-weight:bold; font-size:25px; text-decoration:none; } .tekst {

CSS stilleri kullanabilmesini greceiz. Bu sayede farkl tarayc modelleri arasndaki grsel yorum farklarn gidermek mmkn olabilir.
Kod stil.php <? $agent = getenv("HTTP_USER_AGENT"); if (preg_match("/MSIE/i", "$agent")) { $tarayici = "IE"; } else if (preg_match("/Mozilla/i", "$agent")) { $tarayici = "NS"; } ?> <html><head><title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9"> <? if ($tarayici == "IE" ){?> <style type="text/css"> h2 { color:#ff0000; font-family: Verdana; font-weight:bold; font-size:20px; text-decoration:none; } .tekst { color:#000000; font-family: Verdana; font-weight:normal; font-size:12px; text-decoration:none; } a{ color:#ff0000; font-family: Verdana; font-weight:normal; font-size:12px; text-decoration:none; } a:hover { color:#00ff00; font-family: Verdana; font-weight:normal; font-size:12px; text-decoration:none; } </style> </head> <body bgcolor="#ffffff"> <h2>Ba_l_k</h2> <span class="tekst"> </style> <?php } ?> } t t a:hover { } a{ }

color:#000000; font-family: Times New Roman; font-weight:normal; font-size:15px; text-decoration:none;

color:#0000ff; font-family: Times New Roman; font-weight:normal; font-size:15px; text-decoration:none;

color:#00ff00; font-family: Times New Roman; font-weight:normal; font-size:15px; text-decoration:none;

Bu PHP sayfas nce ziyaretinin kulland tarayc modelini dedekte ediyor daha sonra <a href="http://www.microsoft.com">Internet Explorer</a>'sa farkl <a href="http://www.mozilla.org">Netscape</a> ise farkl CSS stilini kullan_yor. </span> </body></html>

Sayfamz altrdnzda sayfamzn bizler iin olduka nemli bilgileri elde ettiini greceksiniz

NOT: Bu ayki atlyemizde kullandmz rneklerin kaynak kodlarn CDdeki StudioWeb+ blmnde bulabilirsiniz. Numan Pekgz numanp@chip.com.tr

< CHIP Workshop 127 <

Linux

<<

Mandrake Linux kurulumu


Bu yaz dizimizde, bilgisayarmza bir Linux datm kuracak ve gnlk ilerimizi bu Linux datm ile nasl yapacamz greceiz.

inux uzun yllar insanlarn gzn korkutan, bilgisayar gnlk ilerini yapmak iin kullanan insanlarn yanna yaklamamaya zen gsterdikleri ama nn duyduklar bir iletim sistemi olarak biliniyordu. Trke dil desteine sahip srmleri kncaya kadar da birok kiinin kullanmaya yanamad bir iletim sistemi olarak kald. Linux'un yaygnlaamamasnn bir baka nedeni de, bilgisayarlara nykl onlarak gelmemesiydi. Gerekten de, bilgisayarn ald haliyle uzun yllar kullanan insanlar iin (bilgisayar kullananlarn byk ounluu), bu tarz bir kurulum zahmetli ve tehlikeli olarak nitelendirildi. Bu zorluklarn ou artk geride kalm durumda. Grafik ekranl masast ortamlar gelitike, kullanm zorluklar byk lde alm oldu. Dnyada Linux nykl olarak sata sunulan bilgisayarlar gittike yaygnlayor. zellikle Trkiye'deki kullanm asndan baktmzda, zamanndan fedakarlk ederek programlar Trke'ye evirenleri de unutmamak gerekiyor. Srf onlarn sayesinde, Trkiye'de bir ok irket ve organizasyon tm sistemlerini (gerek sunucu, gerek masast sistemler olsun) Linux'a geirmi durumda. Bu saymzda, bir Linux datm seerek adm adm kurulumu ile balayacak, daha sonraki saylarmzda ise gnlk hayatta dier iletim sistemlerini kullanarak zaten yapmakta olduumuz eylerin Linux'ta nasl yapldn inceleyeceiz.

ndan bahsetmitik. Setiimiz datm olan Mandrake'i kurmaya balamadan nce dikkat etmemiz gereken baz eyler var: 3 CDlerimizi hazrlayalm ve mmknse kontrol edelim. Zira bozuk bir CD'den dolay kurulumun yarda kalmasn istemeyiz. 3 Eer sabit diskimiz tamamen bir baka iletim sisteminin disk blmleri tarafndan kullanlmakta ise (rnein Windows), MandrakeLinux bu blmleri (iinde bo yer olmak artyla) kltebilir ve kendisine yer aabilir. Eer Windows blmnz klterek MandrakeLinux'a yer amak istiyorsanz, kuruluma balamadan nce bu blm birletirme (defrag) ileminden geirmeniz gerekmektedir. 3 Windows blmlerinizi kltecekseniz, nemli verilerinizi yedekleyin. Her ne kadar birok bilgisayarda bu ilem baaryla sonulansa da, diskin yapsn deitiren tm ilemler gibi bu ilem de risksiz deildir. 3 BIOS setupnza girin ve al sras ksmndan CD-ROM'unuza ncelik verin. Bu ilem hakknda daha detayl bilgi iin dergimizin nceki saylarndan faydalanabilirsiniz. MandrakeLinux CDsini CD-ROM'unuza takarak kuruluma balayalm. Eer CD'den ykleme baaryla tamamlandysa, ekrana mavi renkte, kuruluma gemek ya da daha detayl bir menye girmek isteyip istemediimizi soran bir ekran gelecektir. Burada [Enter] tuuna basarak kuruluma geebiliriz. Adm 1 Dil Seimi MandrakeLinux, bilgisayarmzda var olan donanmlar bularak kurulum ekranna gelecek ve bizden ilk olarak kurulum srasnda ve kurulum sonras sistemimizde kullanlacak dili sememizi isteyecektir. Trke, Asya dilleri arasnda bulunabilir. Adm 2 Gvenlik Sunulan lisans kabul ettikten sonra, kurulum program bize arzu ettiimiz gvenlik seviyesini soracaktr. Bir sunucu ile bir masast bilgisayarn gvenlik ihtiyalar tabii ki farkl olacaktr. Bir masast bilgisayardaki servis yazlmlarnn fazla olmadn dnrsek, al-

Linux Datm Seilmesi


Linux, dediimizde oumuzun aklna ok farkl eyler gelebilir. Linux, aslnda iletim sisteminin ekirdeinin (kernel) ismidir. letim sisteminin, bilgisayarn donanmsal kaynaklarn kontrol ederek alan yazlmlarn bu kaynaklar nasl kullanacan belirleyen ksmna ekirdek (kernel) denir. Bir CD (ya da baka bir ortam) iine, ekirdek ile birlikte birok yazlm (masast ortam, ofis paketi vb.) eklenmi bu paketlere Linux datm denmektedir. Bu yzden bir ok kii, yazlmlarn ekirdek etrafnda bizim iin toplanm olduu bu datmlara, 1984 ylnda Richard Stallman'n cretsiz bir UNIX iletim sistemi yaratmak iin balatt GNU projesinin genel yapsn takip ettiklerinden dolay GNU/Linux demektedir. Gnmzde sadece GNU sistemi ile deil, bir ok yazlm ile donatlm bu datmlara, ksaca ekirdein ismi ile (Linux diye) hitap etmekteyiz. u ana kadar kartlm Linux datm says ok fazladr. Bu yaz yazld srada, Linux datmlarn en yakndan takip edilebilecei site olan DistroWatch'a kaytl aktif (halen gncellenen) Linux datm says 283 idi. Bu datmlarn ou belli bal konulara adanm olduklarndan, genel amal ve yaygn olarak kullanlanlarnn says bir elin parmaklarn gememektedir. Genel olarak baklrsa: Mandrake, Red Hat/Fedora, SuSE, Slackware, Debian ve Gentoo pastann byk ksmn paylamaktadrlar. Biz, balang olarak bu datmlar arasndan en kullanc dostu olarak grdmz MandrakeLinux'u inceleyeceiz.

Kurulum
Linux datmlarn kurmak iin artk korkulacak bir neden kalmad-

17 CHIP Workshop > >

>>

Linux

d gibi sol stundaki tm kategorileri ve sa stundan sadece KDE istasyonu seeneini iaretleyerek kuruluma devam edebiliriz. Burada iaretlemediimiz gruplarn iinde yer alan paketleri kurulumdan sonra da eklemek mmkndr. Bu konular hakknda detayl bilgiyi ilerleyen yazlarmzda Yazlm Ykleme ve Gncelleme bal altnda inceleyeceiz. Onayladmzda kan sunucu ya da servis yazlmlaryla ilgili herhangi bir uyar karsa, bu uyary Evet diyerek kabul edeceiz. Burada, herhangi bir servis kurduumuzda, MandrakeLinux bu servisin sisteme giri yaplmak amacyla kullanlabilecei konusunda bizi uyarmaktadr. Kabul ettiimizde, kurulum aamasna geeceiz. Adm 5 Kurulum Yazlm kurulumu, MandrakeLinux'un iinde birok yazlmn bulunmasndan ve baya fazlaca paket semi olmamzdan dolay uzun srebilir. Burada kullancya den, istendike gerekli CDleri takmaktr.

lagelmi bir masast bilgisayar iin Standart seenei yeterli olacaktr. Adm 3 Disk Blmleme Tipik bir sistemde, MandrakeLinux bize drt adet seenek sunacaktr. Bunlar: 1. Mevcut disk blm kullanlsn 2. Tm disk silinsin 3. Windows'un bulunduu blmdeki bo alan kullanlsn 4. zel Disk Blmlendirme Burada, MandrakeLinux'un bizim iin var olan Windows blmn kltmesini istiyorsak, nc seenei kullanmalyz. Daha nceden bir Linux kurulumumuz var ise birinciyi, diskimizi tamamen MandrakeLinux'a ayrmak iin ikinciyi, disk blmlerini elle ayarlamak iin drdncy seebiliriz. Tipik bir Windows kullancsn ele aldmzda en uygun seenek ncsdr. nc seenei setiimizde, karmza hangi Windows blmnde ne kadar bo yer brakmak istediimizi soran bir seenek kacaktr. MandrakeLinux iin en azndan 2,5 GB kalacak ekilde ayarlarsak, varsaylan kurulum ile gelen yazlmlar sdracak ve almak iin bo alan salayacak bir kuruluma sahip olabiliriz. Adm 4 Paket Grubu Seimi MandrakeLinux, beraberinde ok sayda yazlmla geldiinden, bu yazlmlar belli kategorilere gre gruplanmtr. Kurulacak yazlmlar teker teker semek de mmkn olmakla beraber, bu gruplama ilemi kuruluma ok byk kolaylk getirmektedir. Resim 4'te grl-

Adm 6 Kullanc ve Parola Bu admda root (sistem yneticisi) parolas belirlemeli ve daha sonra kendimize bir kullanc eklemeliyiz. Dikkat etmek gereken ey, root ifresi ile sistemde tam kontrol salanlabileceinden, bu ifreyi gizli tutmak ve kolayca bulunmayacak bir ekilde semek gereklidir. Dikkat edilmesi gerek bir baka husus ise, root kullancs herhangi bir kullanc deildir. Sistemin tm kaynaklarna eriimi vardr, bu yzden Linux'da (ve dier UNIX ve trevi iletim sistemlerinde) gnlk hayatta kesinlikle root kullancs kullanlmaz. Sistem yneticisi, sistem dosyalarnda bir deiiklik yapmak istedii zaman root kullancsna geer, ii bitince kendi kullancsna geri dner.Bu yzden, gnlk ilerimizi yaparken kullanacamz bir kullanc hesab eklemeyi unutmamalyz. (Resim 5) Eer bize, sistem aldnda bir kullancnn otomatik olarak sisteme giri yapmasn salamak isteyip istemediimizi sorulursa, bu soruya olumsuz yant vermek daha iyi olacaktr. Bylece sistemin gvenliini artrm oluruz ve bilgisayarmzn bana geen herhangi bir kii sistemimize eriemez. Adm 7 nykleyici letim sistemini bellee aarak ykleyen programa nykleyici (bootloader) denir. Her iletim sisteminin bir nykleyicisi vardr. Bu nykleyicinin nereye ykleneceine dair seenek vardr: 1. Diskin ilk sektr (MBR) 2. Kk blmn ilk sektr 3. Al Disketinden

< CHIP Workshop 18 <

Linux

<<

Eer sisteminizin aln deitirmek istemeseydik ve Linux'u sadece bir al disketinden aarak otomatik olarak altrmak isteseydik, nc seenek bizim iin uygun olabilirdi. Hali hazrdaki iletim sistemimizin nykleyicisine (rnein Windows'un) Linux'u tantmak isteseydik (bu ilem zahmetli olabilir) ikinciyi seebilirdik. Biz, MandrakeLinux'un nykleyicisinin var olan iletim sistemlerimizi de (rnein Windows) otomatik olarak tanmasn alta bize bir men getirmesini ve o menden yaptmz seime gre istediimiz iletim sistemini yklemesini istediimiz iin, ilk seenei iaretleyeceiz. Bylece nykleyici sabit diskimizin en bana kendini yazacak ve bilgisayar her ata, bize hangi iletim sisteminden amak istediimizi soracak. Adm 8 Sistem Yaplandrmas Bu admda, sistemimizdeki donanmsal aygtlar ile ilgili baz dzenlemeler yapmalyz. Gelen ekrana baktmzda, donanmlarmzn alglanm olduunu gryoruz. Burada mutlaka ilk olarak bakmamz gereken blm, grafiksel arabirim ayarlar olmal. lk olarak, monitr seimini yaptktan sonra (eer bize ait olan monitr burada listelenmemise, benzer bir modeli ya da standart monitrlerden birini seebiliriz) grafik kartmz seerek devam edebiliriz. Eer bize ait olan grafik kart burada listelenmemise, standart VESA uyumlu srcy seebiliriz. Neredeyse tm grafik kartlaryla uyumlu VESA grafik srcsyle ise, boyutlu grafie ihtiya duyan uygulamalarda performans d yaayacamzdan, grafik kartmz burada listeleniyorsa onu semek daha uygun olacaktr. Bir sonraki ekranda ise ekran znrln ve renk derinliini

sememiz istenecektir. Gz zevkimize ve monitrmze uygun bir karar verdikten sonra, kurulum yazlm bize X Window sisteminin alta otomatik olarak balamasn isteyip istemediimizi soracaktr. X Window, Linux ve dier UNIX trevlerinin grafik arabirim ortamdr. Sistemimizin grafik arabirim ile almasn istediimiz iin, bu soruya olumlu yant vermemiz gerekmektedir. Eer bilgisayarmz bir aa bal ise, gerekli a donanmnn ayarlarn buradan yapabiliriz. Bylece sistemimiz ilk aldnda a balantsna sahip olacaktr. MandrakeLinux her trl a balantsn destekler. Burada, Ethernet araclyla yerel bir aa bal ve ayn zamanda evirmeli a ile de kullanlabilen bir sistemin rneini vereceiz. ncelikle a kurulumuna girmek iin A & Internet bal altnda A seeneinin yanndaki Yaplandr tuuna basarak gerekli a ayarlarn yapabiliriz. Karmza kan ekrandan (Resim 11) LAN Balantsn setiimizde, kurmak istediimiz a aygtmz sememizi isteyen bir seenek kacaktr. ou sistemde birden fazla Ethernet kart olmadndan dolay, eth0 (birinci ethernet) olarak listelenmi seenei seerek devam etmemiz yeterlidir. Bir sonraki ekranda a el ile mi yaplandracamz, yoksa ayarlarn otomatik mi alglanaca sorulmaktadr. Amzda otomatik alglamak iin gerekli sunucular mevcut ise (DHCP ya da BOOTP), Otomatik IP seeneini iaretleyebiliriz. Buradaki rneimizde Elle yaplandr seeneini tercih ediyoruz. A yneticimizden aldmz bilgiler dorultusunda verdiimiz adresler ile balantl gerekli ayarlar yaptmzda (Resim 12 ve 13), a balantmz hazr hale gelmi oluyor. Bir de evirmeli a balantsna sahip olduumuzdan dolay, A & Internet bal altnda A seeneinin yanndaki Yaplandr tuuna tekrar basarak bir de mo-

19 CHIP Workshop > >

>>

Linux

dem balants kurmamz gerekiyor. Bunun iin, gelen ekranda (Resim 11) Modem Balantsn semeliyiz. Burada dikkat etmemiz gereken ey, baz ucuz modemler (Winmodem diye de gemektedir) Windows iin tasarlanm ve Linux srcleri yazlmamtr. Bu tip modemleri Linux tanmayacandan, evirmeli balant kurmak istiyorsanz, Linux srcs bulunan modemleri tercih etmenizde yarar var. Bunun iin retici web sitesine danabilirsiniz. Kurmak istediimiz modemi setikten sonra kan evirmeli A: Hesap seenekleri ekrannda (Resim 14), servis salaycmzdan bize salanan gerekli ayarlar yapmalyz. Bu ekrandan sonra bize sorulan sorular servis salaycnz tarafndan aksi belirtilmedike Otomatik olarak brakmamz yeterlidir, ou servis salay-

c bu ayarlar bize otomatik olarak atamaktadr. Gerekli kurulumlar tamamladktan sonra, Sistem Yaplandrmas ekranna geri dneceiz. Burada Sonraki tuuna bastmz zaman, bize gncellenmi paketleri indirmeyi isteyip istemediimiz (Resim 15) sorulacaktr. Eer geni bant internet balantsna sahipsek, CD datm ktktan sonra hazrlanan bu gncellemeleri hemen indirebiliriz. Bu ilemden sonra, bilgisayarmz yeniden balatlacak (CD'yi CD-ROM'dan kartmay unutmuyoruz) ve (eer nykleyiciyi kurduysak) karmza al mens olarak MandrakeLinux'tan m, (varsa) mevcut dier iletim sistemlerinden mi amak istediimiz sorulacak. Yaz dizimizin bu ilk blmnde, adm adm bir Linux datmn nasl kuracamz grdk. Bir sonraki blmmzde ise, MandrakeLinux ile hali hazrda kurulu gelen internet uygulamalaryla gnlk yaantmzda srekli kullandmz uygulamalarn Linux'taki edeerlerini inceleyeceiz. Bu bir aylk sre ierisinde, kurduumuz bu datm inceleyerek bir sonraki sayya hazrlanmak size kalyor. Eer internet balantnz yeterince hzl ise, MandrakeLinux'u, http://www.mandrakelinux.com adresinden indirebilirsiniz. Yava bir balantya sahip iseniz, MandrakeLinux'u aadaki sitelerden czi bir cret karl sipari edebilirsiniz. http://linux.masterz.com (Yurt ii) http://cheapbytes.com (Yurt d) Bir sonraki saymza kadar bol Linux'lu gnler dileklerimizle. Doan enol dsenol@chip.com.tr

< CHIP Workshop 20 <

3D

<<

Volume light efekti


boyutlu grntlerin ve animasyonlarn nasl hazrlanacan, adm adm aklamalar ve iinizi kolaylatracak ipularn bulacaksnz.
dsMaxte uygulayabileceimiz birok k efekti vardr. Bu efektlerin en ok kullanlanlarndan birisi ise volumelighttr. Volumelight kullanlarak yaplan efektleri birok yerde gryoruz. Bunlarn en banda sinema fragmanlar geliyor, volumelight ile yaplan etkileyici yaz efektlerini hepimiz biliriz. Ik hzmeleri demetler halinde yaznn arkasndan yanstlr, k hzmeleri sayesinde yaz vurgulu bir hale gelir ve etkileyici bir atmosfer oluturulur. Ik karanlk ve sisli blgelerde hzmeler eklinde yaylarak ilerler. Bu tarz durumlarda n yaylmn grebiliriz. rnein sisli gecelerde sokak lambalarnn klarn koni eklinde yere doru yayldn, hatta n etrafnda uuan bceklerin kesmeleri sonucu oluan huzmeleri veya su altndan deniz yzeyine doru baktmzda gne nlarnn hzmeler halinde szldn grrz. Volume light efekti de bu prensiplere dayanr; dorultulu bir k kayna rnein bir spot lambas- ve souran bir sis tabakas... Bu tarz k olaylarn taklit etmek iin volumelight efektini kullanrz. 3dsMaxte kullanabileceimiz birok k efekti vardr fakat dier k efektleri daha ok k kaynann kendisiyle ilgilidir, rnein lensflare, glow vb. Fakat volume light k kaynann yayd etkileyen bir efekttir. Bu ay volume light ile kk bir uygulama gerekletirip daha sonra bunu video dosyas olarak kaydedeceiz ve volumelight biraz daha derinlemesine inceleyeceiz. Yapacamz uygulamay daha sonra kendinize uyarlayarak birok yerde kullanabilirsiniz; grnt dosyalarnzn ara geilerinde, grafik almalarnzda ve hatta web sitelerinizin grafiklerinde. Buna da deinmeden gemek istemiyorum; bu efekti After Effects veya benzeri bir video kompozit programnda da yapabiliriz, fakat niin 3ds max ile yapyoruz? Cevab ok basit: Bu efekti bir video kompozit programyla yapmak isteseydik fazladan birok materyale ihtiyacmz olacakt, snrl bir ekilde almak zorunda kalabilecektik ve tam olarak istediimiz etkiyi yakalamak iin daha fazla uramamz gerekecekti. rnein alpha (saydamlk) kanallaryla uramak zorunda deiliz ve

sahnemizde 3 boyutlu objelerle ve bir kamerayla altmz iin istediimiz adan grnt alabileceiz. Yaptmz dosyay istersek bir alpha kanal ile kaydedip sonra baka bir video dosyasna montajlayabiliriz. Bunun iin bir kompozit programna da ihtiyacmz yok, basit bir video montaj program bile iimizi grecektir. Bunlar belli bal ilk avantajlarmz. Uygulayacamz dosyada bir spot , bir kamera ve bir de spot nn nnde n yaylmasn engelleyen bir dzlemimiz bulunacak. Bu dzlemi istediimiz dorultuda ekillendirerek istediimiz efekti oluturacaz. Sahnemizde efektimizin merkezini spot oluturacak ve hareketli tek objemizde yine spot mz olacak. Uygulamamza 3ds Maxi resetleyerek balamanz tavsiye ediyoruz nk program daha nceki sahnenin ayarlaryla alabileceinden eitli zorluklarla karlaabiliriz.

1 CHIP Workshop > >

>>

3D

1) lk adm olarak Front gr penceresinde Length:225 Width:295 llerinde bir plane oluturun. Planei zellikle Front gr penceresinde oluturmaya dikkat edelim. 2)Planei x:0 y:0 z:0 konumuna, yani sahnemizin tam merkezine alyoruz. Bu dzlem bir sonraki admda oluturacamz spot nn nndeki szgecimizi oluturacak. Bylece k oluturduumuz dzleme taklacak, sadece istediimiz yerlerden geerek ilerleyecek ve efektimizin temelini oluturacak. 3) imdi bir nceki admda yaptmz gibi yine Front gr penceresinde bir spot oluturalm (Create / Lights / Freespotlight). Oluturduumuz spotu Rotate ile x:90 y:0 z:180 derece dndrelim. Bu ilemi, Rotate aracna sa tkladmzda alan Rotate Transform Type-in iletiim kutusundan da yapabiliriz. Bunun bizlere salad avantaj nesneleri nmerik olarak tamamzdr, bylece nesnelere girdiimiz deerler ile net olarak dnm uygulam oluruz. imdi de spotumuzu ayn ilemle bu sefer Move aracna sa tklayarakx:0 y:193 z:0 konumuna alyoruz. Bylece szgecimiz ve spotumuz arasndaki mesafeyi tam olarak ayarlam olduk. Volumelight efektinde n objelere gre konumu nemlidir, eer mz szgece daha uzak bir konuma alsaydk k szgecimizin kenarlarndan taabilir ve istemediimiz etkilere yol aard. 4) Bu admda mzn ierisinden geecei yazmz oluturacaz ve dzlemimizi bir k szgecine dnecek. Front gr penceresinde Create / Shapes /Texte tklayarak ekranmzn sa blmndeki Command panelinde kan Text blmne yazmz giriyoruz

< CHIP Workshop 2 <

3D

<<

ve boyutunu 30 olarak ayarlyoruz. Buradaki ayarlardan yazmzn fontunu ve dier zelliklerini istediimiz ekilde deitirebiliriz. Ben CHIP yazdm, siz istediiniz yazy yazabilirsiniz fakat imdilik siz de 5-6 harfi gemeyen bir kelime seerseniz daha iyi olur. nk yazmz dzlemimizin boyutlarn gememeli. 5) imdi yazmz x:0 y:0 z:-10 deerine tayoruz. Bu ilemi de az nce yaptmz gibi yapmaya dikkat edelim, nk yazmzn spotumuzla olan yatay konumu nemlidir. Bylece yazmz ve spotumuz front grte tam karlkl gelmi oldular. imdi yazmz seiyoruz ve yazmza Extrude modifiern uyguluyoruz, Amount deerini 25 olarak giriyoruz. Artk yazmz 3 boyutlu bir nesne halini ald. 6) Yazmz Top gr penceresine geerek, y ekseninde dzlemimizle tam kesiecek ekilde biraz geriye doru tayoruz (dzlem yazmzn tam ortasndan geecek ekilde). Yazmz dzlem ile tam kesimi olmal. imdi dzlemimizi seelim ve Command panelinde, Create sekmesinin geometri blmnden Compound object blmn aalm ve dzlemimiz seili durumdayken Booleana tklayalm. Alt ksmda alan menden Pick operand Bye tklayalm ve hibir parametreyi deitirmeden yazmz seelim. Bu ilemle dzlemimizi yazmzla delmi olduk. imdi spot nn iinden geecei bir yol olutu (ekil-2). Eer bu ilem sonrasnda dzlemimiz de baz bozukluklar meydana gelirse admlar geri alp dzlemimizin Length ve Width segs saylarn artrp boolean tekrar uygulamalyz. 7) imdi Material editr aalm (ksayol tuu [m]). lk materyali filtre olarak adlandralm. Shader Basic Parameters blm altndaki 2-sided onay kutusunu iaretleyerek seili materyali dzleme uygulayalm. 3ds Max balangta btn materyaller iin tek tarafl yzeyler oluturur, materyali uygulamadan nce biz dzleme n tarafndan baktmzda dzlemi grebiliriz, fakat arka tarafndan

3 CHIP Workshop > >

>>

3D

baktmzda dzlemi gremeyiz. Bunun sebebi 3ds Maxin gr pencerelerinde alrken nesnelere daha hzl bir ekilde dnm uygulayabilmesidir. imdi dzlemimiz kesinlikle geirmeyecektir. 8) Volumelight, glgeleri etkin olmayan klarn hibirisinde almaz. Spotumuzla ilgili ayarlar yapalm: Spotumuzu setikten sonra Modify panelden spotun glgelerini etkin klyoruz. Dier parametrelerin hibirisini deitirmeyelim. imdi mzn Modify panelinin en altn greceimiz ekilde paneli kaydralm. En altta bulunan Atmospheres and effects blmn bulup geniletin. Add butonuna tklayarak alan pencereden Volume light seip Ok butonuna tklayn. Volume light, Atmospheres and effects blmnde belirecektir. 9) Volume light seip panelin altnda bulunan Setup butonuna tklayn. Buradan volume light ile ilgili tm ayarlara ulaacaz. Volume light, Environment iletiim kutusundaki yerini alm olmaldr. 10) Burada ilk kontrol etmemiz gereken Lights blmnde spotumuzun gzkmesidir, eer spotumuz burada gzkmyorsa pick lighta tklayp spotumuzu sememiz gerekir. Exponential onay kutusunu iaretleyin, bu render sresini biraz uzatsa da k huzmelerinin daha doru gzkmesini salar. Density deerini 4,2 olarak girin. Density mzn younluk deeridir, ok yksek deerler mzn gereksiz younluklar oluturmasna ve istediimiz etkiden uzaklamamza sebep olabilir. Use attenuation color onay kutusunu iaretleyin. Bylece attenuation color denilen ikinci bir renk spotumuza eklenir. 11) Volume blmnde Fog colora tklayn. Ben renk paletinde R:90 G:255 B:0 deerlerini girdim, fakat siz istediiniz bir rengi seebilirsiniz. Burada unutmamamz gereken, ok koyu bir rengi veya bir rengin koyu tonununu semememizdir. Attenuation colorda yine Fog colora yakn bir rengi semelisiniz, rnein fog colorn biraz daha koyu bir tonu olabilir. Bu, mzn daha gereki bir grnme sahip olmasn salar. 12) Dier deerleri hi deitirmeyeceiz, fakat ben yine de buradaki parametreleri aklamak istiyorum: Noise onay kutusunu aktif hale getirdiimizde mzn sahip olduu sisli grnm du< CHIP Workshop 4 <

man benzeri bir grnme sahip olur. Buradaki Regular-fractal ve Turbulence onay kutular ise duman araln belirler. Fractal ve turbulence deerleri daha bulutumsu bir sis oluturur. sterseniz daha sonra bu parametreleri de aarak eitli denemeler yapabilirsiniz. En altta bulunan Wind deerleri ise sisin rzgardan etkilenmesini taklit ederek rzgarl bir atmosferi canlandrr. Unutmamamz gereken nokta u: Eklediimiz her bir yeni zellik render sresini uzatr. Volume light efekti zaten render ilemi uzun sren bir efekttir, eer iyi bir ilemciye sahipseniz bu zellikleri aktif hale getirerek denemeler yapp farkl sonular elde edebilirsiniz. 13) Front gr penceresinde bir free camera oluturun. Kameray x:0 y:-159 z:0 konumuna tayn. imdi sahnemiz top gr penceresinde ekil7deki gibi gzkmelidir. Perspektif gr penceresinde [c] tuuna basarak kamerann grne geelim. Eer imdi birka deneme render alrsak efektimizin son halini grebiliriz. imdi yapmamz gereken tek ey spotumuzu hareketlendirerek efektimizi bitirmek. 14) Spotumuzu sahnemizin sol tarafndan sa tarafna doru ilerleterek efektimizi tamamlayacaz. Bunun iin 100 frame yeterlidir. 0. framede spotumuzu x:-144 y:193 z:0 konumundan 100. karede de x:138 y:193 z:0 konumuna tayoruz. Bylelikle spot klar dzlemimiz arkasnda hareket ederken yazmzn ierisinden geerek etkileyici bir efekt elde etmi olacaz. Bu efekt genellikle szge kullanlmadan 3B bir yaz objesiyle yaplr, fakat szge kullanlarak yaz ve anlam daha ok vurgulanm olur ve k daha da etkileyici bir atmosfer oluturur. almamz .avi veya .mov formatnda render edip izlediimizde klarn szlerek deliklerden getiini ve alarnn batan sona doru deitiini grrz. Burada gerekletirdiimiz efekti biraz daha gelitirerek daha farkl sonular elde edebiliriz veya farkl ekiller kullanarak daha farkl almalar yapabiliriz. Spotumuza Photoshopta bir Projector map izerek kendi ierisinde huzmelere ayrabiliriz. Hatta daha da ileri gidip projector mapi de anime ederek nlar da hareket ediyormu gibi gsterebiliriz. Ya da basit geometrik ekilleri kullanarak grafik almalarmzda kullanabiliriz. rnein ben burada yaptmzdan ayr olarak bir yaz szgeci yerine dikdrtgen prizmalar kullanarak ve spotun asn da biraz deitirerek Photoshopta bir grafik almas yapmay denedim. Sizler de bu efekti web grafiklerinde veya tantm CDlerinde, kendi videolarnzda kullanabilirsiniz. yi almalar... Nebi YIKAROLU nykaroglu@chip.com.tr

You might also like