iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
自我挑戰組

用 C++ 實作簡易第一人稱視角遊戲:從入門到理解 Ray Casting 系列

本系列紀錄我這位 C++ 新手,如何一步步打造出簡易的第一人稱視角遊戲。透過拆解 ray casting 程式碼,我會分享從語法、邏輯、數學到畫面渲染的學習過程。希望讓也想學 C++ 或想做遊戲的朋友,看到即使是新手也能做出自己的小遊戲!

鐵人鍊成 | 共 30 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day21 | Ray Casting: 渲染牆壁 - Part 1

來了~這裡是鐵匠史密斯~我們既然已經讓玩家可以穩定地在不同的設備下進行方向的旋轉,那接下來我們來讓牆壁的顏色深淺變得更生動 -> 渲染牆壁!我們要做的目標...

DAY 22

Day22 | Ray Casting: 渲染牆壁 - Part 2

早上好~時間匆匆,又到了周末~周末這幾天自己的電腦不在身邊,老家的電腦真的只能查資料打打文章,所以~又是推論的時候了,對的,沒錯lol請大佬們鞭小力一點 :(...

DAY 23

Day 23 | 角色的前進與後退

大家好~ 這裡是鐵匠史密斯昨日我們已經完成了牆壁的渲染接下來,我們就直接完成角色的前進與後退吧 前進? 後退? 都是依靠 fPlayerA 前陣子,我們使用 Q...

DAY 24

Day 24 | Ray Casting 中場總結:從光線到角色的移動

大家好,這裡是鐵匠史密斯~時間過得真快,不知不覺我們已經來到鐵人賽的第 24 天!昨天角色的前進與後退剛完成,今天就讓我們停下來小小喘口氣,來回顧一下 Day...

DAY 25

Day 25 | Ray Casting 渲染地板 - Part 1

這裡是鐵匠史密斯(Bro fist)~既然我們已經渲染了牆壁,我們接下來也試試看渲染地板吧~ 地板的渲染 老樣子,直接上圖:由德軍總部3D的圖中我們也得知:...

DAY 26

Day 26 | Ray Casting 渲染地板 - Part 2

Hello, fella! 這裡是鐵匠史密斯我們今天就講述一下 C++ 大神 javidx9 是怎麼渲染地板的吧! 地板渲染的原理 讓我們來回顧 地板、牆壁、天...

DAY 27

Day 27 | Ray Casting 角色橫移 - Part 1

哈囉哈囉,這裡是鐵匠史密斯~我們已經完成地板的渲染了,接下來就是解決角色橫移的問題了 角色的橫移, fPlayerA 又上用場了~ 我們還是上個簡單的圖,讓大家...

DAY 28

Day 28 | Ray Casting 角色橫移 - Part 2

Hey~ 鐵匠史密斯又來了~我們今天就來小補充一下如何求得左/右方向的單位向量吧! 如何求得左/右方向的單位向量? 由順時針為負,逆時針為正的規則可知: 玩家...

DAY 29

Day 29 | Ray Casting: 碰撞檢測

Greetings~ 這裡是鐵匠史密斯!昨日確定了角色橫移、旋轉矩陣的功能接下來就是碰撞檢測的部分了 前情提要 還記得我們目前的功能嗎?當玩家超出界線外,會看到...

DAY 30

Day 30 | Ray Casting :30 天鐵人挑戰的完結篇

大家好~這裡是鐵匠史密斯!(Bro fist!)經過了這 30 天,我們從一開始什麼都沒有,只靠一個 wstring map,到現在能讓角色在迷宮中「走動、轉身...