Friday, October 30, 2020
Saturday, October 24, 2020
Blender Sinhala Tutorial - View Ports
අපි ත්රිමාණ තලයක වැඩ කරන නිසා බොහෝ විට 3D window එකකට වඩා අවශ්ය වෙනවා . බොහෝ Rendering සහ Animations වැඩසටහන් විවිධ data representation සමඟ multiple viewport සඳහා ඉඩ ලබා දෙනවා. බ්ලෙන්ඩර් software එකද එසේමයි.
මතක ද බ්ලෙන්ඩර් ආරම්භ වන්නේ 3D දර්ශන කවුළුවකින් බව? මේ පහතින් දක්වල තියෙන්නේ ඒ viewport එක.
මේ viewports අතර රේඛාව ඇදගෙන යාමෙන් මෙම ඕනෑම කවුළුවක ප්රමාණය වෙනස් කරන්න පුළුවන්. viewport එකක් බෙදීමට 3D View එකේ ඉහළ දකුණු කෙළවරේ ඇති කුඩා ත්රිකෝණයට ඔබේ කර්සරය ගෙන යන්න. කර්සරය “+” බවට පත් වූ විට LMB සමඟ drag කරන්න.එවිට ඔබේ screen එක viewports 2 කට වෙන් වේ.
viewports එකට එකක් සම්බන්ධ වීම ද මේ ආකාරයම වේ. ත්රිකෝණය මත ක්ලික් කර ඔබ ඉවත් කිරීමට අවශ්ය viewport එක හරහා ඇදගෙන යන්න.
ඔබගේ windows ඔබට කැමති ප්රමාණයකට split කරන්න පුළුවන්. එත් windows 2 ක් සමඟ වැඩ කරන එක පහසු වෙයි කියල මට හිතෙනවා. ඒ වම් window එක top, front, side යන ප්රධාන views සදහා ද දකුණු window එක කැමරා view එක සඳහා ද වශයෙන්.
objects ස්ථානගත කිරීමේදී අවම වශයෙන් views 2 ක් වත් තුළ කර්සරයේ පිහිටීම බලන්න ඕනේ.
view එකේ ඉහළ වම් කෙළවරේ view එකේ නම දර්ශනය වෙනවා.
Camera view - 0 key
Front view - 1 key
Right view - 3 key
Top view - 7 key
User ortho - Orthographic view (free rotation)
Perspective view - Key 5. (Key 5 toggle between ortho and perspective view)
Back - CTRL + 1 key
Left - CTRL + 3 key
Bottom - CTRL + 7 key
මම හිතනවා අද ඔයාල viewports ගැන යමක් ඉගෙන ගන්න ඇති කියල. ඉතින් ආයෙත් පොස්ට් එකකින් හම්බ වෙමු.
LMB = Left mouse button
-Hasini Senanayaka-
Game Development-JMonkeyEngine - Part2
මං අද කරන්න යන්නේ මගේ netbeans IDE එක jMonkeyEngine එකත් එක්ක වැඩ කරන්න setup කරගන්න
එක. අපි බලමු කොහොමද කරන්නේ කියල. ඉස්සෙල්ලම අපි download කර ගත්තු zip file එක unzip කරගන්න ඕනි.
එතකොට මෙන්න මේ ආකාරයෙන් තමයි දිස් වෙන්නේ.
දැන් ඒක පැත්තකින් තියලා අපි යමු netbeans IDE දිහාවට.
මේ පහලින් තියෙන්නේ netbeans IDE එක. අපි ඉස්සෙල්ලම අලුත් project එකක් හදන්න ඕන.
File => new project මගීන් අලුත් project එකක් හදන්න පුළුවන්
Java Application තෝරන්න.
මේ ආකාරයෙන් project එකට නමක් සහ save වන ලොකේෂන් එක ලබාදෙන්න
Project එක create උනාට පස්සේ මේ ආකාරයෙන් බලාගන්න පුළුවන්. දැන් අපි jmonkey engine
run කරන්න ඕන JAR File ටික add කරගන්න ඕන.
ඒකට ්රොජෙක්ට් එකේ LIbrary folder එකමත right click කරලා Add JAR/Folder select කරන්න.
ඊට පස්සේ unzip කරගත්ත folder එකේ lib එකට ගිහින් ඒක ඇතුළෙ තියෙන ඔක්කොම JAR ෆයිල්
ටික select කරලා ඕපන් දෙන්න
ඊට පස්සේ project එක උඩ right click කරලා project properties යන්න.
ඒකෙ තියෙන run tab එකට යන්න. දැන් අපි run වෙන්න ඕන configuration ලබා දෙන්න ඕන.
ඊට පස්සේ අපි අලුතෙන් පැකේජ් එකක් හදා ගන්න ඕනේ.
ඊට පස්සේ ඒ පැකේජ් එකට අලුත් java class එකක් එකතු කර ගන්න ඕන.
එතකොට මෙන්න මේ ආකාරයෙන් තමයි java class එක පේන්නේ.
දැන් මේ පහල code එක copy කරලා paste කරන්න. මතක ඇතුව මේ code එකේ තියෙන class name එක
ඔයාගේ class name එක විදිහට වෙනස් කරන්න.
package hello3D.test;
import com.jme3.app.SimpleApplication;
import com.jme3.material.Material;
import com.jme3.scene.Geometry;
import com.jme3.scene.shape.Box;
import com.jme3.math.ColorRGBA;
/** Sample 1 - how to get started with the most simple JME 3 application.
* Display a blue 3D cube and view from all sides by
* moving the mouse and pressing the WASD keys. */
public class HelloWorld extends SimpleApplication {
public static void main(String[] args){
HelloWorld app = new HelloWorld();
app.start(); // start the game
}
@Override
public void simpleInitApp() {
Box b = new Box(1, 1, 1); // create cube shape
Geometry geom = new Geometry("Box", b); // create cube geometry from the shape
Material mat = new Material(assetManager,
"Common/MatDefs/Misc/Unshaded.j3md"); // create a simple material
mat.setColor("Color", ColorRGBA.Blue); // set color of material to blue
geom.setMaterial(mat); // set the cube's material
rootNode.attachChild(geom); // make the cube appear in the scene
}
}
දැන් ඔක්කොම හරි. අපි දැන් අපේ project එක run කරල බලමු.
Run කරද්දි මුලින්ම වෙන්න මේ වගේ screen එකක් එයි. එක continue දෙන්න.
අපි ඇත්තටම මේ code එකෙන් කරේ නිල් පාට box එකක් හදන එක. අපි අනිත් 3d modeling software ගත්තොත්
අපිට ඕනේ object drag and drop කරන්න පුළුවන්. ඒත් මේකෙ ඒ හැම object එකක්ම හදන්න වෙන්නේ
කෝඩ් කරලා.
සුදු පාටින් සදහන් කරලා තියෙන keys පාවිච්චි කරල object එක rotate කරන්න පුළුවන්.
මම ඊළඟ පෝස්ට් එකෙන් code එක explain කරන්නම්.
ස්තුතියි
-Hasini Senanayaka-
Wednesday, October 21, 2020
Game Development-JMonkeyEngine - Part1
JMonkeyEngine යනු විශේෂයෙන් 3D game development සඳහා සාදන ලද game engine එකක්. එය shader technology පුළුල් ලෙස භාවිතා කරනවා. මෙම එන්ජිම භාවිතා කරමින් ඇන්ඩ්රොයිඩ් සහ ඩෙස්ක්ටොප් උපාංග සඳහා ත්රිමාණ ක්රීඩා ලියන්න පුළුවන්. jMonkeyEngine එක Java වලින් ලියා ඇති අතර එහි default renderer ලෙස LWJGL භාවිතා වනවා. ඒ වගේම මෙය OpenGL 2 සඳහා පූර්ණ සහය දක්වනු ලබනවා.
මේ තියන්නේ jMonkey engine එක පාවිච්චි කරලා හදපු ගේම් ටිකක්. පේනවා ඇතිනේ කොච්චර ලස්සනද කියලා.
දැන් අපි බලමු කොහොමද jmonkey engine එකෙන් වැඩ ගන්නේ කියලා.
JMonkeyEngine භාවිතා කිරීමට විවිධ ක්රම තියෙනවා:
- Download the SDK
- Download the engine
- Add the libraries to a build script
repositories {
jcenter()
}
dependencies {
implementation "org.jmonkeyengine:jme3-core:3.3.2-stable"
implementation "org.jmonkeyengine:jme3-desktop:3.3.2-stable"
implementation "org.jmonkeyengine:jme3-lwjgl:3.3.2-stable"
}
මං කලින් කිව්වා වගේ SDK එක පාවිච්චි නොකර තමන්ට කැමති IDE එකක් පාවිච්චි කරන්න පුළුවන්. එතකොට IDE එකට අදාල Engine එක සහ එහි dependencies බාගත කරගන්න ඕන. මේවා ඔබේ ජාවා ව්යාපෘතියට වෙනත් library එක මෙන් ඇතුළත් කරන්න පුළුවන්.
මේ ලින්ක් එකින් Engine එක බාගන්න පුළුවන්.
https://github.com/jMonkeyEngine/jmonkeyengine/releases
මේ පොස්ට් එකෙන් අපි JmonkeyEngine සඳහා අවශ්ය වන tools ටික ඩවුන්ලෝඩ් කරගත්තා නේ. ඊළඟ පෝස්ට් එකෙන් බලමු කොහොමද setup කරගන්නේ කියලා.
Tuesday, October 20, 2020
Java Programming sinhala tutorial - Switch - Part 15
Java Flow Control " Switch"
- switch control හි multi selection හැකියාව පවතී. එනම් එක් case එකක් true වූ විට ඊට පහලින් ඇති case 1 ක් හෝ කිහිපයක command ක්රියාත්මක වීමට සැලැස්විය හැක. ඒ සදහා අවශ්ය තැන්හි break keyword එක නොලිවිය යුතුය.
- switch control හි case label සංඛ්යා අනුපිළිවෙලින් ලිවිය යුතු නොවේ.
- switch control හි default case එක ලිවිම අත්යවශ්ය නොවේ.
- switch control එකෙහි default keyword එක එහි scope එක තුල ඕනෑම තැනක ලිවිය හැක.
- switch control එකෙහි එකම case label එක දෙවාරයක් භාවිතා කල නොහැක.
- switch control එකෙහි case label අනිවාර්යෙන්ම literal විය යුතුය. Compiler ට case label එකෙහි value එකක් පවතින බවට තහවුරු විය යුතුය. Run time variable වල value වෙනස් කල හැකි නම් එවිට compiler error ලැබේ.
- case label වල literals ලෙස byte, char, string, enum භාවිතා කල හැකි අතර float, double, boolean භාවිතා කල නොහැක.