Unity 開 發 實 務 ( 一 ) 雷 爵 網 絡 尤 治 凱
關 於 我 龍 華 科 技 大 學 多 媒 體 與 遊 戲 發 展 科 學 系 畢 業 4 年 遊 戲 業 資 歷 現 任 雷 爵 網 絡 遊 戲 開 發 工 程 師 1 款 單 機 遊 戲 開 發 1 款 MMO 遊 戲 維 護 1 款 MMO 遊 戲 開 發,1 款 APP 開 發
綱 要 小 遊 戲 展 示 小 遊 戲 發 想 需 求 分 析 技 術 確 認 與 實 作 Q&A
小 遊 戲 展 示
小 遊 戲 發 想
小 遊 戲 發 想 一 個 接 東 西 的 小 遊 戲 接 東 西 會 耗 體 力 頭 像 及 血 條 分 數 計 算 記 分 板 怪 物 丟 東 西 給 玩 家 接 接 到 好 東 西 加 分 加 體 力 接 到 壞 東 西 扣 分 扣 體 力
小 遊 戲 發 想 遊 戲 概 念 圖
需 求 分 析
需 求 分 析 一 個 接 東 西 的 主 角 能 左 右 移 動 移 動 時 有 動 作 轉 換 面 向 人 物 資 料 血 量 人 物 資 料 分 數
遊 戲 物 件 (Game Object) Game Object 是 場 景 中 物 件, 本 體 是 一 個 容 器, 只 包 含 transform Game Object 的 功 能, 由 元 件 (Component) 加 入
遊 戲 物 件 (Game Object) Game Object 透 過 unity 產 生, 手 動 產 生 元 件 可 以 附 加 多 種
遊 戲 物 件 (Game Object) 腳 本 語 法 如 何 移 動 物 件 transform.translate(1.0f * Time.deltaTime,0.0f,0.0f); 輸 入 控 制 float h = 0.0f; Input.GetAxisRaw ("Horizontal");
演 員 ( 角 色 )(Actor) 模 型 匯 入 由 3D Max 會 出 unity 的 格 式.FBX 檔 案 丟 進 unity 調 整 人 物 角 色 動 畫 控 制 模 型 撥 放 動 畫 Animation.Play 播 放 function Play (string, PlayMode = PlayMode.StopSameLayer) : bool
演 員 ( 角 色 )(Actor) 角 色 旋 轉 注 視 某 個 位 置 function UpdateLookat(val : float) { if(val == 0)return; var relativepos = Vector3(val,0,0); var rotation = Quaternion.LookRotation(relativePos); transform.rotation = rotation; }
演 員 ( 角 色 )(Actor) 鎖 定 角 色 Z 軸 function FixedUpdate () { transform.position = Vector3(transform.position.x, transform.position.y, 0); }
演 員 ( 角 色 )(Actor) 實 際 操 作 將 角 色 放 進 場 景 動 作 調 整 將 控 制 腳 本 放 到 角 色 身 上 加 入 移 動 時 變 換 動 作 加 入 人 物 轉 向
需 求 分 析 走 在 地 板 上 的 角 色 背 景 放 入 地 板 製 作
碰 撞 (Collider) Rigid body Mass 質 量, 單 位 為 KG Drag 空 氣 阻 力 Use Gravity 是 否 受 重 力 影 響
碰 撞 (Collider) Layer Collision Edit > Project Settings > Physics
碰 撞 (Collider) 實 際 操 作 利 用 panel 放 置 背 景 利 用 Colleder 製 作 一 個 假 地 板 利 用 Rigid body 使 角 色 行 走 於 地 板 利 用 Colleder 製 作 牆 壁
需 求 分 析 玩 家 介 面 人 物 頭 像 人 物 血 條 記 分 板
攝 影 機 (Camera) 功 能 簡 介 Clear Flags 清 除 方 式 Culling Mask 拍 攝 物 品 Projection Perspective - 透 視 投 影 Orthographic 正 交 投 影
攝 影 機 (Camera) 功 能 簡 介 Clipping Planes Depth Target Texture 將 所 見 的 內 容 算 成 一 張 圖
攝 影 機 (Camera) 實 際 操 作 攝 影 機 算 出 一 張 角 色 臉 圖 燈 光 調 整
使 用 者 介 面 (GUI Texture) Texture Color Pixel Inset
使 用 者 介 面 (GUI Texture) 實 際 操 作 將 render texture 貼 到 螢 幕 左 上 tex.guitexture.pixelinset.x = - Screen.width / 2 ; tex.guitexture.pixelinset.y = Screen.height / 2-64; 製 作 血 條 每 秒 會 扣 10 滴 血 製 作 分 數 tex.guitext.pixeloffset.x = Screen.width; tex.guitext.pixeloffset.x = Screen.height;
需 求 分 析 一 個 丟 東 西 的 怪 物 在 場 景 中 左 右 移 動 隨 機 丟 下 一 個 物 品 物 品 與 人 物 會 碰 撞 會 影 響 人 物 的 屬 性
碰 撞 (Collider) Is trigger OnTriggerEnter (other : Collider) : void OnTriggerExit (other : Collider) : void OnTriggerStay (other : Collider) : void
碰 撞 (Collider) 實 際 操 作 製 作 一 Item 使 角 色 碰 到 會 扣 血 製 作 一 Item 使 角 色 碰 到 會 加 血 製 作 一 Item 使 角 色 碰 到 會 加 分 並 加 血 碰 到 人 物 加 完 數 值 就 刪 除
碰 撞 (Collider) 實 際 操 作 建 立 一 個 會 亂 跑 的 鬼 魂 亂 數 建 造 物 品 下 墜 Instantiate(goItem[i],Vector3(x,80.0f,0.0f),Quater nion.identity); 下 墜 到 一 定 程 度 就 刪 除 沒 吃 到 就 刪 掉 ( 節 省 記 憶 體 )
需 求 分 析 放 入 音 樂 音 樂 放 置 音 效 放 置 丟 吃 被 擊 中
音 源 (Audio Source) 撥 放 音 源 var asrc : AudioSource; asrc.play(); 音 樂 片 斷 var Eat: AudioClip; var Hit: AudioClip; if(h > 0) asrc.clip = Eat; else asrc.clip = Hit;
音 源 (Audio Source) 實 際 操 作 音 樂 放 置 音 效 放 置
結 尾 自 我 練 習 加 入 死 亡 判 斷 當 HP 扣 為 0 時, 應 該 要 有 什 麼 動 作?
Q&A
下 課 了 各 位 同 學 辛 苦 了 課 程 到 此 結 束