ความสามารถที่ว่านี้ของ Blender อยู่ในตัว Game Engine ครับ ลองดู video ประกอบจาก youtube
ความสามารถของ Blender เกี่ยวกับการทำเกมส์นั้นมีเยอะ ลองศึกษาดูครับ
http://www.bulletphysics.com/
วันเสาร์ที่ 29 พฤศจิกายน พ.ศ. 2551
Blender 2.48 released with real-time Bullet soft bodies
ป้ายกำกับ:
Blender,
Blender News,
Bullet,
Game Engine
วันพุธที่ 26 พฤศจิกายน พ.ศ. 2551
PyOgre Beginner Tutorial 2 – Part 2 Cameras&ViewPort
Creating the Camera
การสร้างกล้องเราจะสร้างแทนที่ default method ใน ExampleApplication ที่ใช้สร้างกล้อง
โดยหาฟังก์ชั่นสมาชิก _createCamera สิ่งแรกที่ต้องทำ เราจะใช้ SceneManager สร้างกล้องขึ้น เพิ่มโค้ดตามนี้
นี่จะเป็นการสร้างกล้องโดยมีชื่อว่า "PlayerCam" จำไว้ว่าคุณสามารถที่จะใช้ getCamera ฟังก์ชั่นของ SceneManager เพื่อเข้าถึงกล้องผ่านชื่อ ถ้าคุณตัดสินใจไม่เอาตัวชี้มาอ้างถึงมัน
สิ่งที่เราจะทำต่อไป ทำการตั้งค่าตำแหน่งและทิศการหันในกับ Camera ที่เราสร้างขึ้น โดยจะให้กล้องวางอยู่ห่างจากจุด กำเนิด และหันหน้าเข้าจุดกำเนิด
สำหรับ lookAt function เป็นฟังก์ชั่นที่เราจะใช้ในการบังคับให้ Camera หันหน้าไปในทิศทางที่เราต้องการ โดยที่เราไม่ต้องเข้าไปยุ่งกับการหมุนกล้อง หันกล้อง ทำให้เราสามารถที่จะตั้งค่าการหันกล้องไปในทิศทางที่เราต้องการง่ายมากขึ้น ในขั้นสุดท้าย ทำการตั้งค่าระยะใกล้ ในการแสดงภาพของกล้อง ที่มองออกไป(near clipping distance)
เรายังสามารถที่จะ ทำการตั้งค่าระยะไกล ในการแสดงภาพของกล้อง ที่มองออกไป(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 ซึ่งค่าโดยมาตรฐานแล้วคือแสดงเต็มจอ
และนี้ก็คือการใช้ Class Viewport อย่างง่ายๆ
การสร้างกล้องเราจะสร้างแทนที่ 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 อย่างง่ายๆ
ป้ายกำกับ:
3D Game Engine,
Ogre 3d
วันพฤหัสบดีที่ 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.
ป้ายกำกับ:
3D Game Engine,
Ogre 3d
List of Free Numerical Analysis Software
รายชื่อของซอฟท์แวร์ที่ให้วิเคราะห์งานต่างๆ โดยใช้คณิตศาสตร์ แบบฟรีแวร์ มีมากมายหลากหลาย ถ้าได้เรียนสายเฉพาะด้านอย่างวิศวกรรม คงจะมีโอกาสได้ใช้กันบ้าง เอาไว้ช่วยทำโปรเจค ตามลิงค์ครับ มีคนรวบรวมลิงค์ไว้แล้ว เยอะมาก
http://www.ann.jussieu.fr/~lehyaric/freesoft/free.htm
http://www.ann.jussieu.fr/~lehyaric/freesoft/free.htm
สมัครสมาชิก:
บทความ (Atom)