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

PyOgre Beginner Tutorial 1 - Part 2

Ogre Engine ทำงานได้อย่างไร



เราเริ่มต้นด้วย SceneManagers ซึ่งเป็นการนำเราเข้าสู่การควบคุมและใช้งาน MovableObjects และ SceneNodes มีสาม classes ที่เป็นพื้นฐานสำคัญในการสร้าง Ogre applications


1. SceneManager Basics

                   ทุกอย่างที่ปรากฏในหน้าจอถูกจัดการด้วย SceneManager เมื่อคุณทำการวาง objects เข้าไปใน Scene ตัว SceneManager คือ class ที่จะคอยติดตาม ตำแหน่งของพวกมัน เช่นเมื่อคุณสร้าง Cameras เพื่อจะมองเข้าไปใน Scene SceneManager คอยติดตาม ตำแหน่งของพวกมัน ไม่ว่าคุณจะสร้าง planes, billboards, lights หรืออื่นๆก็เช่นเดียวกัน

                มี SceneManager อยู่หลายประเภท

                1 Selecting a Scene Manager

                2 Octree Scene Manager

                3 Terrain Scene Manager

                4 Nature Scene Manager (ogreaddons)

                5 Paging Scene Manager (ogreaddons)

                6 BSP Scene Manager

                7 DotSceneOctree SceneManager (ogreaddons)

               

2.MovableObject Basics

                MovableObject    คือทุกสิ่งที่สามารถวางลงไปใน Scene และทำให้เคลื่อนที่ได้ ซึ่งโดยที่จริงแล้วมี object ประเภทเดียวที่สามารถเรนเดอร์ให้เห็นใน Scene ได้ซึ่งเรียกว่า 3D mesh เช่น หุ่นยนต์ ปลา หรือ พื้นดินที่ตัวละครคุณสามารถที่เดิน ล้วนเป็น Entity สำหรับ Lights, Billboards, Particles, Cameras,อื่นๆ ไม่เป็น Entity แต่ก็เป็น MovableObjects

                 สิ่งหนึ่งที่ต้องจดจำเกี่ยวกับ Ogre คือมันแยกการเรนเดอร์ objects จากตำแหน่งและทิศการ หัน หมายความว่าคุณไม่สามารถที่จะวาง สิ่งที่มีอยู่ลง Scene โดยตรง คุณต้องผูกติด Entity เข้ากับ SceneNode ซึ่งมันจะเก็บข้อมูลเกี่ยวกับตำแหน่งและทิศการหันไว้นั้นเอง

                *Entity =สิ่งที่มีจริงมองเห็นได้

  

3.SceneNode Basics

                SceneNode   จะเป็นตัวเก็บข้อมูลเกี่ยวกับตำแหน่งและทิศการหันไว้สำหรับ Entity ที่ผูกติดกลับตัวของมันไว้ทั้งหมด เมื่อคุณสร้างวัตถุที่จะแสดง มันจะไม่มีการเรนเดอร์ให้เห็นในบนจอ จนกระทั่งคุณจะผูกติดมันกับ SceneNode ถึงจะมีการเรนเดอร์ให้เห็นบนหน้าจอ

                SceneNode สามารถมีจำนวนวัตถุที่ผูกติดกับมันเท่าไหร่ก็ได้ เช่น ต้องสร้างตัวละคร

บนหน้าจอและต้องการสร้างแสงรอบๆตัวละคร สิ่งที่ต้องทำเป็นอย่างแรกคือ สร้าง SceneNode มาอันหนึ่ง สร้าง ตัวละครผูกกับ SceneNode จากนั้นก็สร้าง Light object ผูกกับ SceneNode สำหรับ SceneNode นั้นเราสามารถที่จะผูกติดกับ SceneNode อันอื่นได้ ซึ่งจะทำให้เกิดลำดับขั้นของ SceneNodes

                   หนึ่งเนื้อหาสำคัญที่ต้องจดจำไว้เกี่ยวกับ SceneNodes ตำแหน่งของ SceneNode  จะสัมพันธ์กับ SceneNode ที่เป็นต้นที่มันผูกติดด้วยเสมอ และแต่ละ SceneManager จะประกอบด้วยจุดต่อรวม หลักหนึ่งอันที่สามารถที่จะให้ SceneNodes อื่นผูกติด

ไม่มีความคิดเห็น:

แสดงความคิดเห็น