發表文章

目前顯示的是有「Unity學習」標籤的文章

HTC Vive Unity VR遊戲開發_滿滿的大平台期末Demo

圖片
組員: 02090186 雷淳閔(數媒系) : 美術、Unity技術指導 (雲霄飛車掃射遊戲) 03396085 吳俊賢(生科系) : UI/UX Gallery平台構思建議 02160270 周冠羽(資訊傳播工程) : (桌球練習室)、專案整合測試 02162411 劉永健(資訊傳播工程) : (桌上曲棍球)、遊戲企劃撰寫 大四也是本學期最後一堂課 非常高興能跟組員一同創作  「滿滿的大平台」這項遊戲專案 很感謝我的組員們的協助 有熟悉Unity的外系組員 ,一直以來都帶給團隊十分多支援。 讓我們這學期有榮幸還能有獲得銅牌小獎的成果 十分高興!!! 也看到其他組作品的搞笑無俚頭發揮 還有許多創意都很令人大開眼界 原來Unity可以做這麼多有趣的生活應用 捏陶、煮菜、揮棒、切割等等 當中又有很多運用到複雜人工運算的技術組 都十分厲害 這也是大學最後一次能夠做自己喜歡的專案了 未來工作職場就比較不是那麼多機會能夠做自己喜歡的有趣Project 雖然我在這項專案中用到的Unity高階技術不多 但是卻也達成了  VR的初衷也就是 讓感官(視覺、聽覺、觸覺)能夠真實 遊戲的沉浸感體驗  是其他的延伸應用 在開發項目中,我也知道對於Unity當中有十分更多遊戲上可用到的技術 是我所還不熟悉的 因此則挑選了 比較 單純 的運動遊戲做期末主題發揮 主要牽涉到了 運動力學模擬(球體的反彈、碰撞時的聲音)感受 當然球網的波動 還有待加強(目前可穿透XDD) 不過很感謝 老師用心錄製影片讓我們能夠 迅速掌握VR遊戲開發上的程式技術 感謝研究室學長們每當我在做項目的時候 遇到環境架設定位  甚至是一些細微技術的探討問題 銘傳資傳的研究所學長們人都很Nice 非常樂意給予學弟妹幫助和SOS 在製作這項Project中,也讓我們組員有感受到 同時進行一個項目開發可讓單一項目變得更加精緻 但是若分開各自進行單一項目則又會人力不夠 無法達到盡善盡美。 我想當初在做  滿滿的大平台 這項專案的時候 其實最初遇到問題就是 我們都會想的很遠大、目光放到非常後期 但往往會忽略目前手頭上所擁有的籌碼(人力、進度、時間、掌握度、精熟度...

Unity貪吃蛇遊戲演算法研究_程式碼的設計構思_活用Tag做碰撞觸發

圖片
貪吃蛇遊戲規則: 一個蛇頭上下左右移動 碰到食物就多增加一節身體(碰撞偵測)--->RigidBody 碰到牆壁就GameOver 結果影片 控制Snake 頭部的 程式腳本 HeadController.cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 using UnityEngine; using System.Collections; public enum SnakeHeadDirection{ Up, Down, Left, Right, } public class HeadController : MonoBehaviour { public GameObject foodPref...

Unity常用的基本功能單元實踐統整_移動旋轉_時間紀錄_遊戲物件元件存取_存取其他遊戲物件

圖片
首先場景準備好 簡單 又 乾淨的 單純一個地面 及 一個Cube 建立四份C#腳本 各自類別名稱(檔案名) ================================================================ TranslateScript RotateScript TimeRecordRotate TimeRecordTranslate ================================================================ 觀察 TranslateScript 功能單元. Translate Tips: 預設是根據 每一個頁面更新1單位效果(每頁1單位--->超快一下子就超出畫面) 1 2 3 4 5 6 7 8 9 10 using UnityEngine; using System.Collections; public class TranslateScript : MonoBehaviour { // Update is called once per frame void Update () { this .transform.Translate ( 0 , 0 , 1 ); //沿著Z軸移動一個單位長 } } Tips:太快可用  this.transform.Translate (0,0,0.001f);//沿著Z軸移動一個單位長 觀察 TimeRecordTranslate 是根據 每一秒更新1單位效果(會有固定節奏運動較易控制) --->不使用 遊戲畫面撥放速率 1 2 3 4 5 6 7 8 9 10 using UnityEngine; using System.Collections; public class TimeRecordTranslate : MonoBehaviour { // Update is called once per frame void Update () { this .transform.Tran...

Unity抓取球拍向上法向量_給予該方向力

圖片
原先為了模擬球拍打中球後 反彈桌面和牆壁之間 因此在程式中我先寫了改速度 後來發現添加力比較有效果感覺 ver1. 程式碼 https://github.com/dryjoker/PingPongGame_KuanYu/blob/master/hitBottle/Assets/C%23Script/BallCollision.cs 後來 研究所學長 建議我可以在拍面上方生成一個empty命名為一個pos2代表後位置 之後就能指定依照拍面法向量施加力了 來一張很有感覺的圖 之後就能寫程式了 出錯了 這時候 God!! 喊一聲就對了 參考link: http://glimmerfish.blogspot.tw/2016/01/unity-gameobject-transform-2.html http://gn02214231.pixnet.net/blog/post/203622250-%E6%B1%82%E5%85%A9%E9%BB%9E%E4%B9%8B%E9%96%93%E7%9A%84%E6%96%B9%E5%90%91%E5%90%91%E9%87%8F

你所不知道的_Unity_BouncyBall性質包_使用

代嘗試 參考Link : How to Make a Bouncing Ball in Unity 3D — A Beginner's Tutorial for Unity 3D https://www.youtube.com/watch?v=BK8CARfLSVQ Mastering Collision - Unity Tutorial https://www.youtube.com/watch?v=STzGxHbdwgw

Unity_滑鼠左右移動_碰撞球反彈_功能測試_Flag正1過來_負1回去_結果變成擦板球

圖片
我們在上一篇文章中主要探討到 一些關於發射的物理射線  和  基本常用I/O操作 、 物件生成之外 我們還發現發射後碰撞地面的未反彈問題 只有擊中目標物功能 這次一樣用 心智圖去擴展解決 第一階段 是想要有一個會跟滑鼠移動的方塊 並且有一顆球體 這裡分享一下視角切換的方法 Step1. 先點選 MainCamera Step2. 到 GameObject  ---> Align With View 讓他可以左右移動的腳本 我們在上一篇文章分享到 Move.cs 我們讓Cube以 Z軸方向為中心  左右移動 取 10個point位移 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Move : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition); transform.position = new Vector3(ray.GetPoint(10f).x, 0.0f ,transform.position.z); } } 生出一個大牆壁 記得加 Tag 注意!!!! Step3.  GameObject ----> Align With View 這邊注意  心智圖  思維 我們場景布局 是需要依照 特定座標位置來設定的 緊接著有球產生(記得加鋼體) 讓球會移動腳本 BallMove.cs 程式 先讓球有移動的速度 寫法一、寫在 Update中 using System....

詳談Unity物理射線發射子物打中實體化物件_心智圖擴展_反彈功能單元測試

圖片
我們要結合前面幾張心智圖 要實踐用物理射線打中 牆壁,牆壁碎裂(牆壁用兩層for loop生成) 添加RigidBody在牆壁Cube上 Unity中的 輸入部分: 物件屬性/方法 第一階段 .  生成一堵牆 前置動作 腳本添加至   MainCamera 調整地面 針對 做好的  Brick 預置物添加  鋼體 Ver1. using System.Collections; using System.Collections.Generic; using UnityEngine; public class RayHit : MonoBehaviour { //牆壁的 寬 、 高 private int x=10;//寬 10 Cube private int y=5;//高 5 Cube public GameObject prefabBrick; // Use this for initialization void Start () { for (int i = 0; i < x; i++) for (int j = 0; j < y; j++) { GameObject.Instantiate(prefabBrick,new Vector3(i,j,0),Quaternion.identity); } } // Update is called once per frame void Update () { } } 改至中央位置(牆壁至中) 第二階段 .  將 生成一堵牆  程式 從 start()生命週期方法中額外封裝提出成一個函數 第三階段.  增加輸入互動 創建子彈 prefab 針對攝影機畫面位置發射球體 Ver2. using System.Collections; using System.Col...