วันเสาร์ที่ 29 พฤศจิกายน พ.ศ. 2551

Blender 2.48 released with real-time Bullet soft bodies

ความสามารถที่ว่านี้ของ Blender อยู่ในตัว Game Engine ครับ ลองดู video ประกอบจาก youtube





ความสามารถของ Blender เกี่ยวกับการทำเกมส์นั้นมีเยอะ ลองศึกษาดูครับ

http://www.bulletphysics.com/

วันพุธที่ 26 พฤศจิกายน พ.ศ. 2551

PyOgre Beginner Tutorial 2 – Part 2 Cameras&ViewPort

Creating the Camera
การสร้างกล้องเราจะสร้างแทนที่ default method ใน  ExampleApplication ที่ใช้สร้างกล้อง
โดยหาฟังก์ชั่นสมาชิก _createCamera สิ่งแรกที่ต้องทำ เราจะใช้  SceneManager สร้างกล้องขึ้น เพิ่มโค้ดตามนี้

self.camera =  self.sceneManager.createCamera ('PlayerCam')

นี่จะเป็นการสร้างกล้องโดยมีชื่อว่า "PlayerCam" จำไว้ว่าคุณสามารถที่จะใช้  getCamera ฟังก์ชั่นของ  SceneManager เพื่อเข้าถึงกล้องผ่านชื่อ ถ้าคุณตัดสินใจไม่เอาตัวชี้มาอ้างถึงมัน
สิ่งที่เราจะทำต่อไป ทำการตั้งค่าตำแหน่งและทิศการหันในกับ Camera ที่เราสร้างขึ้น โดยจะให้กล้องวางอยู่ห่างจากจุด กำเนิด และหันหน้าเข้าจุดกำเนิด

self.camera.position = (0, 10, 500)
self.camera.lookAt((0, 0, 0))

สำหรับ lookAt function เป็นฟังก์ชั่นที่เราจะใช้ในการบังคับให้ Camera หันหน้าไปในทิศทางที่เราต้องการ โดยที่เราไม่ต้องเข้าไปยุ่งกับการหมุนกล้อง หันกล้อง ทำให้เราสามารถที่จะตั้งค่าการหันกล้องไปในทิศทางที่เราต้องการง่ายมากขึ้น ในขั้นสุดท้าย ทำการตั้งค่าระยะใกล้ ในการแสดงภาพของกล้อง ที่มองออกไป(near clipping distance)

self.camera.nearClipDistance = 5

เรายังสามารถที่จะ ทำการตั้งค่าระยะไกล ในการแสดงภาพของกล้อง ที่มองออกไป(far clipping distance) ได้โดยใช้คุณสมบัติที่เรียกว่า "farClipDistance"

Viewports

Ogre Viewports

เมื่อคุณเริ่มมีการ ใช้กล้องหลายตัว เนื้อหาสำคัญเกี่ยวกับ  Viewport class นั้นจะเริ่มมีประโยชน์สำหรับคุณมากขึ้น หัวข้อที่เริ่มเกิดขึ้นขนาดนี้เพราะว่า มันเป็นสิ่งสำคัญสำหรับคุณที่ จะต้องเข้าใจว่า Ogre ตัดสินใจว่ากล้องอันไหนที่จะต้อง ทำการเรนเดอร์ภาพจากกล้องนั้นให้ปรากฎบนหน้าจอ และมันมีความเป็นไปได้สำหรับ Ogre ที่จะมี  SceneManagers หลายตัวในเวลาเดียวกัน ดังนั้นจึงสามารถที่จะแบ่งหน้าจอให้แสดงผลจากหลายกล้องได้ แต่ต้องเรียนรู้ในระดับที่สูงกว่านี้
ในการทำความเข้าใจเกี่ยวกับการ เรนเดอร์ภาพของ Ogre ซึ่งประกอบไปด้วยส่วนที่สำคัญ  Camera,  SceneManager, และ RenderWindow
RenderWindow มันคือหน้าต่างพื้นฐานที่ใช้ในการแสดงทุกสิ่งให้ปรากฏบนจอ
SceneManager ใช้สร้าง Camera เพื่อแสดง Scene

ในการที่จะเรนเดอร์ภาพจาก Camera ตัวไหนคุณต้องบอก  RenderWindow  ตามธรรมดาที่ใช้ใน Ogre คุณควรจะสร้าง Camera เพียงตัวเดียว และทำการเซต Camera ให้ใช้  RenderWindow และมี Viewport เดียว ซึ่งเราจะได้ศึกษาต่อไปนี้ และยังมีการตั้งค่าภาพพื้นหลังให้กับ Scene อีกด้วย


Creating the Viewport
เพิ่มโค้ดในส่วนของ TutorialApplication._createViewports เพิ่ม Viewport

viewport = self.renderWindow.addViewport (self.camera)

ตั้งค่าสีพื้นหลังเป็นสีดำ

viewport.backGroundColor = (0, 0, 0)

และสิ่งสำคัญคือการตั้งค่า อัตราส่วนการแสดงผลของ Viewport ซึ่งค่าโดยมาตรฐานแล้วคือแสดงเต็มจอ

self.camera.aspectRatio = float (viewport.actualWidth) / float (viewport.actualHeight)

และนี้ก็คือการใช้ Class Viewport อย่างง่ายๆ

วันพฤหัสบดีที่ 20 พฤศจิกายน พ.ศ. 2551

PyOgre Beginner Tutorial 2 – Part 1 Cameras

From Ogre Wiki แก้ไข 22/10/2551

Cameras


Introduction
ในบทนี้จะได้เรียนรู้เกี่ยวกับ แนวความคิดเกี่ยวกับ Light objects และการสร้างเงาใน Ogre และครอบคลุมถึงพื้นฐานของ Cameras
ทำความเข้าใจกับบทนี้ คุณควรเขียนเพิ่มโค้ดช้าๆ และดูผลลัพธ์ที่ได้เป็นระยะ

Getting Started
หลังจากที่ได้เริ่มต้นกับโค้ดเริ่มต้นมาแล้ว จากนี้เราจะเพิ่ม methods อีกสองอันเข้าใน  TutorialApplication class ได้แก่ _createViewport และ _createCamera ซึ่งฟั่งก์ชั่นทั้งสองได้ถูกกำหนดไว้แล้วใน class หลัก  SampleFramework.Application แต่ในบทนี้เราจะมาดูว่า  Cameras และ  Viewports ซึ่งมีอยู่ในเวลานี้ถูกสร้างและใช้ยังไง
เริ่มสร้างไฟล์ "basic_2.py" เพิ่มโค้ดตามนี้

import ogre.renderer.OGRE as ogre
import SampleFramework as sf

class TutorialApplication (sf.Application):

def _createScene (self):
pass

def _createCamera (self):
pass

def _createViewports (self):
pass 

if __name__ == '__main__':
ta = TutorialApplication ()
ta.go ()

เราสามารถที่จะให้เมาส์ หรือกดปุ่ม WASD เพื่อที่จะเคลื่อนฉาก(Scene)ในแนวระนาบได้ และสามารถที่จะออกจากโปรแกรมโดยกดปุ่ม ESC



Ogre Cameras
กล้อง (Camera) คือ สิ่งที่เราใช้ในการมองเข้าไปในฉาก(Scene)เพื่อแสดงสิ่งที่เราได้ทำการสร้าง ขึ้นในฉาก กล้องเป็นวัตถุพิเศษที่มีการทำงานบางอย่างคล้าย SceneNode มันมีคุณสมบัติ "positon" และ yaw function, roll function, pitch function คุณสามารถที่จะนำมันผูกติด SceneNode ใดก็ได้เหมือนที่อธิบายผ่านมากล้อง มีตำแหน่งที่สัมพันธ์กับโหนดหลักที่ผูกติดอยู่ สำหรับการเคลื่อนที่และหมุน คุณสามารถคิดว่ากล้อง นั้นเหมือน SceneNode
สิ่งหนึ่งเกี่ยวกับกล้องใน Ogre เราไม่สามารถกล้องสองอันเพื่อมองไปในฉากพร้อมกันและ เปิดใช้(enabling) หรือ ปิดใช้(disabling) กล้องในส่วนของScene ที่ต้องการแสดงได้ แต่สามารถที่จะทำให้เกิดผลแบบนี้ได้โดยใช้ วิธีอื่นแทน โดยการสร้าง SceneNode ที่ให้เป็น "camera holders" และตั้งค่าจุดที่ต้องการมองให้กล้อง ที่ต้องการมองในตำแหน่งต่างๆ ดูวิธีการนี้ได้ใน

Basic Tutorial 4.

List of Free Numerical Analysis Software

รายชื่อของซอฟท์แวร์ที่ให้วิเคราะห์งานต่างๆ โดยใช้คณิตศาสตร์ แบบฟรีแวร์ มีมากมายหลากหลาย ถ้าได้เรียนสายเฉพาะด้านอย่างวิศวกรรม คงจะมีโอกาสได้ใช้กันบ้าง เอาไว้ช่วยทำโปรเจค ตามลิงค์ครับ มีคนรวบรวมลิงค์ไว้แล้ว เยอะมาก

http://www.ann.jussieu.fr/~lehyaric/freesoft/free.htm