Suche senden
Hochladen
Unity遊戲程式設計(05) 2D移動與碰撞處理II
•
1 gefällt mir
•
6,989 views
吳錫修 (ShyiShiou Wu)
Folgen
介紹使用剛體物件及碰撞器進行遊戲物件移動及碰撞處理
Weniger lesen
Mehr lesen
Software
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 31
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計(01) Unity簡介
Unity遊戲程式設計(01) Unity簡介
吳錫修 (ShyiShiou Wu)
Unity遊戲設計- 應用Sprite物件
Unity遊戲設計- 應用Sprite物件
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I
吳錫修 (ShyiShiou Wu)
【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス
【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス
Unite2017Tokyo
Unity遊戲設計- 2D動畫製作及應用
Unity遊戲設計- 2D動畫製作及應用
吳錫修 (ShyiShiou Wu)
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity Technologies Japan K.K.
Empfohlen
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計(01) Unity簡介
Unity遊戲程式設計(01) Unity簡介
吳錫修 (ShyiShiou Wu)
Unity遊戲設計- 應用Sprite物件
Unity遊戲設計- 應用Sprite物件
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I
吳錫修 (ShyiShiou Wu)
【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス
【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス
Unite2017Tokyo
Unity遊戲設計- 2D動畫製作及應用
Unity遊戲設計- 2D動畫製作及應用
吳錫修 (ShyiShiou Wu)
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity Technologies Japan K.K.
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
小林 信行
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
UnityTechnologiesJapan002
Unity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jp
小林 信行
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
Atsushi Tadokoro
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
ProjectAsura
Editor スクリプティング 入門
Editor スクリプティング 入門
Keigo Ando
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Atsushi Tadokoro
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
KLab Inc. / Tech
MRTK3を調べてみた
MRTK3を調べてみた
Takahiro Miyaura
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
小林 信行
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう
nico0927
Decorators | TypeScript | Angular2 Decorators
Decorators | TypeScript | Angular2 Decorators
pcnmtutorials
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
DeNA
SQLite の暗号化
SQLite の暗号化
Akihiro Matsuura
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編
Unity Technologies Japan K.K.
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
UnityTechnologiesJapan002
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~
KLab Inc. / Tech
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
UnityTechnologiesJapan002
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
torisoup
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計(09) 3D物件與光源設定
Unity遊戲程式設計(09) 3D物件與光源設定
吳錫修 (ShyiShiou Wu)
Weitere ähnliche Inhalte
Was ist angesagt?
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
小林 信行
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
UnityTechnologiesJapan002
Unity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jp
小林 信行
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
Atsushi Tadokoro
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
ProjectAsura
Editor スクリプティング 入門
Editor スクリプティング 入門
Keigo Ando
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Atsushi Tadokoro
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
KLab Inc. / Tech
MRTK3を調べてみた
MRTK3を調べてみた
Takahiro Miyaura
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
小林 信行
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう
nico0927
Decorators | TypeScript | Angular2 Decorators
Decorators | TypeScript | Angular2 Decorators
pcnmtutorials
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
DeNA
SQLite の暗号化
SQLite の暗号化
Akihiro Matsuura
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編
Unity Technologies Japan K.K.
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
UnityTechnologiesJapan002
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~
KLab Inc. / Tech
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
UnityTechnologiesJapan002
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
torisoup
Was ist angesagt?
(20)
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
Unity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jp
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
Editor スクリプティング 入門
Editor スクリプティング 入門
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
MRTK3を調べてみた
MRTK3を調べてみた
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう
Decorators | TypeScript | Angular2 Decorators
Decorators | TypeScript | Angular2 Decorators
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
SQLite の暗号化
SQLite の暗号化
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
Ähnlich wie Unity遊戲程式設計(05) 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計(09) 3D物件與光源設定
Unity遊戲程式設計(09) 3D物件與光源設定
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計(04) 2D運動與碰撞處理I
Unity遊戲程式設計(04) 2D運動與碰撞處理I
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計 - 3D物件與光源設定
Unity遊戲程式設計 - 3D物件與光源設定
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I
吳錫修 (ShyiShiou Wu)
component based html5 game engine
component based html5 game engine
hbbalfred
Unity遊戲程式設計 - Roll a ball遊戲
Unity遊戲程式設計 - Roll a ball遊戲
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計(02) 應用2D圖片物件
Unity遊戲程式設計(02) 應用2D圖片物件
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計 - 應用Sprite物件
Unity遊戲程式設計 - 應用Sprite物件
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計 - 2D粒子特效應用
Unity遊戲程式設計 - 2D粒子特效應用
吳錫修 (ShyiShiou Wu)
Yui3 初探
Yui3 初探
isnull
Object-Oriented Programming Design with Greenfoot 01
Object-Oriented Programming Design with Greenfoot 01
imacat .
Unity遊戲程式設計 - 2D Game Kit遊戲設計
Unity遊戲程式設計 - 2D Game Kit遊戲設計
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計 - 2D 物理關節應用
Unity遊戲程式設計 - 2D 物理關節應用
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計(03) 2D動畫製作及應用
Unity遊戲程式設計(03) 2D動畫製作及應用
吳錫修 (ShyiShiou Wu)
Roll a ball遊戲專案
Roll a ball遊戲專案
吳錫修 (ShyiShiou Wu)
Chinese hans
Chinese hans
firstnameEQBg0ks1W lastnameEQBg0ks1W
Chinese hans
Chinese hans
firstnamefgA7dbVGT lastnamefgA7dbVGT
testing leads fix for ppt2
testing leads fix for ppt2
dummyuser1analytics
Chinese hans
Chinese hans
gr0Jmmd7Q_qarobo gr0Jmmd7Q_qarobo
Ähnlich wie Unity遊戲程式設計(05) 2D移動與碰撞處理II
(20)
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計(09) 3D物件與光源設定
Unity遊戲程式設計(09) 3D物件與光源設定
Unity遊戲程式設計(04) 2D運動與碰撞處理I
Unity遊戲程式設計(04) 2D運動與碰撞處理I
Unity遊戲程式設計 - 3D物件與光源設定
Unity遊戲程式設計 - 3D物件與光源設定
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I
component based html5 game engine
component based html5 game engine
Unity遊戲程式設計 - Roll a ball遊戲
Unity遊戲程式設計 - Roll a ball遊戲
Unity遊戲程式設計(02) 應用2D圖片物件
Unity遊戲程式設計(02) 應用2D圖片物件
Unity遊戲程式設計 - 應用Sprite物件
Unity遊戲程式設計 - 應用Sprite物件
Unity遊戲程式設計 - 2D粒子特效應用
Unity遊戲程式設計 - 2D粒子特效應用
Yui3 初探
Yui3 初探
Object-Oriented Programming Design with Greenfoot 01
Object-Oriented Programming Design with Greenfoot 01
Unity遊戲程式設計 - 2D Game Kit遊戲設計
Unity遊戲程式設計 - 2D Game Kit遊戲設計
Unity遊戲程式設計 - 2D 物理關節應用
Unity遊戲程式設計 - 2D 物理關節應用
Unity遊戲程式設計(03) 2D動畫製作及應用
Unity遊戲程式設計(03) 2D動畫製作及應用
Roll a ball遊戲專案
Roll a ball遊戲專案
Chinese hans
Chinese hans
Chinese hans
Chinese hans
testing leads fix for ppt2
testing leads fix for ppt2
Chinese hans
Chinese hans
Mehr von 吳錫修 (ShyiShiou Wu)
Vuforia AR影片程式設計
Vuforia AR影片程式設計
吳錫修 (ShyiShiou Wu)
micro:bit亮度感測應用
micro:bit亮度感測應用
吳錫修 (ShyiShiou Wu)
Vuforia AR同時追踨多張辨識圖
Vuforia AR同時追踨多張辨識圖
吳錫修 (ShyiShiou Wu)
micro:bit開關控制應用
micro:bit開關控制應用
吳錫修 (ShyiShiou Wu)
Vuforia AR應用程式設計入門
Vuforia AR應用程式設計入門
吳錫修 (ShyiShiou Wu)
Vuforia AR應用程式準備作業
Vuforia AR應用程式準備作業
吳錫修 (ShyiShiou Wu)
micro:bit LED顯示控制
micro:bit LED顯示控制
吳錫修 (ShyiShiou Wu)
IDE for micro:bit
IDE for micro:bit
吳錫修 (ShyiShiou Wu)
Microbit 1 introduction
Microbit 1 introduction
吳錫修 (ShyiShiou Wu)
Arduino overview
Arduino overview
吳錫修 (ShyiShiou Wu)
使用Makeblock App學習mBot程式設計
使用Makeblock App學習mBot程式設計
吳錫修 (ShyiShiou Wu)
使用M部落App學習mBot程式設計
使用M部落App學習mBot程式設計
吳錫修 (ShyiShiou Wu)
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論
吳錫修 (ShyiShiou Wu)
nodeMCU IOT教學02 - Lua語言
nodeMCU IOT教學02 - Lua語言
吳錫修 (ShyiShiou Wu)
Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲
吳錫修 (ShyiShiou Wu)
Python與Ardinio整合應用
Python與Ardinio整合應用
吳錫修 (ShyiShiou Wu)
mBlock積木式設計程式
mBlock積木式設計程式
吳錫修 (ShyiShiou Wu)
Arduino程式除錯
Arduino程式除錯
吳錫修 (ShyiShiou Wu)
Arduino程式開發工具
Arduino程式開發工具
吳錫修 (ShyiShiou Wu)
Arduino程式快速入門
Arduino程式快速入門
吳錫修 (ShyiShiou Wu)
Mehr von 吳錫修 (ShyiShiou Wu)
(20)
Vuforia AR影片程式設計
Vuforia AR影片程式設計
micro:bit亮度感測應用
micro:bit亮度感測應用
Vuforia AR同時追踨多張辨識圖
Vuforia AR同時追踨多張辨識圖
micro:bit開關控制應用
micro:bit開關控制應用
Vuforia AR應用程式設計入門
Vuforia AR應用程式設計入門
Vuforia AR應用程式準備作業
Vuforia AR應用程式準備作業
micro:bit LED顯示控制
micro:bit LED顯示控制
IDE for micro:bit
IDE for micro:bit
Microbit 1 introduction
Microbit 1 introduction
Arduino overview
Arduino overview
使用Makeblock App學習mBot程式設計
使用Makeblock App學習mBot程式設計
使用M部落App學習mBot程式設計
使用M部落App學習mBot程式設計
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學02 - Lua語言
nodeMCU IOT教學02 - Lua語言
Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲
Python與Ardinio整合應用
Python與Ardinio整合應用
mBlock積木式設計程式
mBlock積木式設計程式
Arduino程式除錯
Arduino程式除錯
Arduino程式開發工具
Arduino程式開發工具
Arduino程式快速入門
Arduino程式快速入門
Unity遊戲程式設計(05) 2D移動與碰撞處理II
1.
電子工程系應 用 電
子 組 電 腦 遊 戲 設 計 組 Unity遊戲程式設計(05) 2D移動與碰撞處理II 吳錫修 Oct 24, 2016
2.
shapethefuture 遊戲世界裡必須透過碰撞器來模擬現實世界的物體碰撞情形 碰撞器是在元件加入⼀層透明的偵測層,代表元件物理效應發⽣的 範圍
選單命令Component>Physics 2D內可找到所有碰撞器 Rigidbody 2D (剛體) 具備物理性質:摩擦力 (Mass)、線性阻力 ( Linear Drag)、旋轉阻力 (Angular Drag)、重力 (Gravity Scale) 剛體會被碰撞器阻擋 IsKinematic屬性 設定為運動物件,本身不受重力影響 埸景中的活動物件都應使用剛體來實現 剛體、碰撞器與觸發器 1/3 2 Wu, ShyiShiou Dept. of E.E., NKUT
3.
shapethefuture 碰撞器 Box
Collider 2D (方框碰撞器) 適用於矩形物件上 Circle Collider 2D (圓形碰撞器) 適用於球形物件上 Edge Collider 2D (邊緣碰撞器) 適用於邊界、地板或天花板 可編輯/調整線段節點 Polygon Collider 2D (多邊形碰撞器) 能較精準貼近不規則物件,但會耗用較多運算資源 剛體、碰撞器與觸發器 2/3 3 Wu, ShyiShiou Dept. of E.E., NKUT
4.
shapethefuture 觸發器 當碰撞器被設定Is
Trigger屬性,即成為觸發器 剛體物件可以穿透觸發器物件,但支援碰撞偵測 剛體物件之程式腳本必須實作OnTriggerXXX2D函式來處理碰撞作業 void OnTriggerEnter2D(Collider2D other) { //進入碰撞時 } void OnTriggerStay2D(Collider2D other) { //在碰撞物上時 } void OnTriggerExit2D(Collider2D other) { //結束碰撞時 } 剛體、碰撞器與觸發器 3/3 4 Wu, ShyiShiou Dept. of E.E., NKUT
5.
shapethefuture 在Update()中控制物件移動 更新座標方式
(自行計算位移,物體移動⽣硬不自然) transform.Translate(Vector3.up * 0.1f); transform.Translate(Vector3.down * 0.1f); transform.Translate(Vector3.right * 0.1f); transform.Translate(Vector3.left * 0.1f); 對剛體物件施力,由物理引擎處理剛體物件移動 _rigidbody2D = this.GetComponent<Rigidbody2D>(); Vector2 force2D = Vector2.zero; force2D.y += forceValue; // force2D.x += forceValue; _rigidbody2D.AddForce(force2D); 物件移動控制 5 Wu, ShyiShiou Dept. of E.E., NKUT
6.
shapethefuture 預設場景上的物件都是放置在Default圖層 Layer屬性是用來做碰撞管理
Sorting Layer是2D遊戲物體前後層次管理 同圖層物件則依Order in Layer值,數值較 大者在上層, 若Order in Layer值相同時依 Position Z值 (與Main Camera遠近) 遊戲圖層及碰撞管理 1/4 Wu, ShyiShiou Dept. of E.E., NKUT6
7.
shapethefuture 管理圖層 選單命令Edit>Project
Settings>Tags and Layers來管理圖層 在Sorting Layers增加Background、Interactive、Player圖層 遊戲圖層及碰撞管理 2/4 下層 上層 Wu, ShyiShiou Dept. of E.E., NKUT7 新增圖層
8.
shapethefuture 將在Sorting Layers中加入的圖層,同步更新到Layers中 遊戲圖層及碰撞管理
3/4 8 Wu, ShyiShiou Dept. of E.E., NKUT
9.
shapethefuture 碰撞管理 選單命令Edit>Project
Settings>Physics 2D進行碰撞管理 設定Layer Collision Matrix 預設全部圖層間都會進行碰撞檢測處理 依據遊戲設計需求,設定圖層碰撞檢核 遊戲圖層及碰撞管理 4/4 9 Wu, ShyiShiou Dept. of E.E., NKUT
10.
shapethefuture 冒險家可左、右移動及跳躍 冒險家接觸到毒霧會受傷
冒險家靠近寶箱時會顯示提示箭頭,此時按空白鍵可開啟寶箱 探險遊戲設計 1/2 10 Wu, ShyiShiou Dept. of E.E., NKUT
11.
shapethefuture 新增2D遊戲專案 將預設場景以adventure名稱存檔
將floor.png、trap0.png、trap1.png、trap2.png、tresure0.png、 treasure1.png、up.png及主角分鏡素材滙入到專案AssetsSprite 資料夾 Main Camera Size設定為16 Background設定為深藍色 探險遊戲設計 2/2 11 Wu, ShyiShiou Dept. of E.E., NKUT
12.
shapethefuture 選單命令Edit>Project Settings>Tags
and Layers 在Sorting Layers增加Background、Interactive、Player圖層 在Layers加入Background、Interactive、Player圖層 建立遊戲圖層 12 Wu, ShyiShiou Dept. of E.E., NKUT
13.
shapethefuture 將floor拖曳到場景 Position設定為
(x, y, z) = (0, -8, 0) Scale設定為 (x, y, z) = (2.5, 0.2, 1) Sorting Layer設定為"Interactive" Layer設定為"Interactive" 設定碰撞器 在floor加入 Edge Collider 20邊緣碰撞器 選單命令Component>Physics 2D>Edge Collider 2D 建造地板 13 Wu, ShyiShiou Dept. of E.E., NKUT
14.
shapethefuture 下載主角素材 http://gameart.eu.org/files/adventure_girl.zip
將AssetsSpriteidle1拖曳到場景 命名為girl Position設定為 (x, y, z) = (-16, -5, 0) Sorting Layer設定為"Player" Layer設定為"Player" 加入剛體性質 選單命令Component>Physics 2D>Rigidbody 2D 加入圓形碰撞器 選單命令Component>Physics 2D>Circle Collider 2D Radius = 2.5,Offset X = -0.5 建立主角 14 Wu, ShyiShiou Dept. of E.E., NKUT
15.
shapethefuture 選取girl物件 選單命令Window>Animation開啟動畫編輯器,使用girl分鏡素材建立 以下動畫
建立girl_idle動畫 建立girl_walk動畫 建立girl_jump動畫 建立主角動畫 15 Wu, ShyiShiou Dept. of E.E., NKUT
16.
shapethefuture 選取girl物件 選單命令Window>Animator開啟Animator編輯器
建立⼀個名為act的Int參數 設定girl_idlegirl_walk動作狀態切換條件 取消Has Exit Time Settings/Transtion Duration設為0 在Consitions中新增act Equals 1 設定girl_idlegirl_jump動作狀態切換條件 取消Has Exit Time Settings/Transtion Duration設為0 在Consitions中新增act Equals 2 設定主角動畫狀態切換控制 1/2 16 Wu, ShyiShiou Dept. of E.E., NKUT
17.
shapethefuture 設定其它狀態girl_idle動作狀態切換條件 勾選Has
Exit Time Settings/Exit Time設定為1 Settings/Transtion Duration設為0 設定主角動畫狀態切換控制 2/2 17 Wu, ShyiShiou Dept. of E.E., NKUT
18.
shapethefuture 將AssetsSpritetrap0拖曳到場景 命名為trap
Position設定為 (x, y, z) = (6, -6, 0) Scale設定為 (x, y, z) = (0.8, 0.8, 1) Sorting Layer設定為"Interactive" Layer設定為"Interactive" 在Tag欄新增"trap"標籤 製作陷阱道具 1/2 18 Wu, ShyiShiou Dept. of E.E., NKUT
19.
shapethefuture 在trap物件加入方框碰撞器 選取trap物件
選單命令Component>Physics 2D>Circle Collider 2D 勾選「Is Trigger」屬性 (會偵測物體碰接,但允許剛體物件穿過) Offset Y=-2.2,讓碰撞邊界比貼近陷阱外緣 製作陷阱道具 2/2 19 Wu, ShyiShiou Dept. of E.E., NKUT
20.
shapethefuture 選取trap物件 選單命令Window>Animation開啟動畫編輯器,使用trap分鏡素材建立 以下動畫
建立trap動畫 製作陷阱道具動畫 20 Wu, ShyiShiou Dept. of E.E., NKUT
21.
shapethefuture 將AssetsSpritetreasures0拖曳到場景 命名為treasure
Position設定為 (x, y, z) = (21, -6, 0) Scale設定為 (x, y, z) = (0.6, 0.6, 1) Sorting Layer設定為"Interactive" Layer設定為"Interactive" 在Tag欄新增"treasure"標籤 製作寶箱道具 1/6 21 Wu, ShyiShiou Dept. of E.E., NKUT
22.
shapethefuture 在treasure物件加入方框碰撞器 選取treasure物件
Component->Physics 2D->Box Collider 2D 勾選「Is Trigger」屬性 將up素材拖曳到treasure物件上,做為treasure的子物件 命名為up Position設定為 (x, y, z) = (0, 6.5, 0) 製作寶箱道具 2/6 22 Wu, ShyiShiou Dept. of E.E., NKUT
23.
shapethefuture 在treasure物件加入TreasureControl程式腳本 public class
TreasureControl : MonoBehaviour { public Sprite open; //寶箱已開啟之Sprite圖片 public bool isOpen; //寶箱狀態 private bool _isShow = false; //指示箭頭顯示旗號 private float _alpha = 0.0f; private float _da = -0.01f; private GameObject _prompt; private SpriteRenderer _upSprite; void Awake () { _prompt=GameObject.Find("up"); //指示箭頭物件參照 _prompt.gameObject.SetActive (_isShow); //隱藏指示箭頭 } void Start () { _upSprite = _prompt.GetComponent<SpriteRenderer> (); } 製作寶箱道具 3/6 23 Wu, ShyiShiou Dept. of E.E., NKUT
24.
shapethefuture // Update is
called once per frame void Update () { if (isOpen) { //寶箱已被開啟 this.GetComponent<SpriteRenderer> ().sprite = open; _prompt.gameObject.SetActive (false); //隱藏指示箭頭 } else { if (_isShow) { _alpha += _da; //使指示箭頭淡入淡出動態顯示 _upSprite.material.color = new Color (1f, 1f, 1f, _alpha); if (_alpha>1.0f || _alpha<0.0f) _da = -_da; } } } 製作寶箱道具 4/6 24 Wu, ShyiShiou Dept. of E.E., NKUT
25.
shapethefuture //玩家到達寶箱位置 void OnTriggerEnter2D(Collider2D c)
{ if (c.gameObject.name == "girl") { _isShow = true; _prompt.gameObject.SetActive (_isShow); //顯示指示箭頭 } } //玩家離開寶箱位置 void OnTriggerExit2D(Collider2D c) { if (c.gameObject.name == "girl") { _isShow = false; _prompt.gameObject.SetActive (_isShow); //隱藏指示箭頭 _alpha = 0.0f; } } } 製作寶箱道具 5/6 25 Wu, ShyiShiou Dept. of E.E., NKUT
26.
shapethefuture 將AssetsSpritetreasures1素材(寶箱開啟圖片)拖曳到寶箱之 Treasure Control下的Open屬性 製作寶箱道具
6/6 26 Wu, ShyiShiou Dept. of E.E., NKUT
27.
shapethefuture 在girl物件加入GirlControl程式腳本 public class
GirlControl : MonoBehaviour { private Animator _animator; //主角動畫控制器 public float speed = 10f; //主角移動速度 private float _alpha = 0.0f; private float _da = -0.1f; private SpriteRenderer _playerSprite; private bool _isInjure = false; //主角跳躍旗號 private bool _isJump = false; //主角跳躍旗號 // Use this for initialization void Start () { _animator = this.GetComponent<Animator> (); _playerSprite = this.GetComponent<SpriteRenderer> (); } 設計主角程式腳本 1/5 27 Wu, ShyiShiou Dept. of E.E., NKUT
28.
shapethefuture //動畫撥放副程式 private void PlayAnimation(int
action){ _animator.SetInteger ("act", action); } // Update is called once per frame void Update () { if (Input.GetKey (KeyCode.RightArrow)) { this.transform.eulerAngles = Vector3.zero; //使主角面向右 this.transform.Translate (speed * Time.deltaTime, 0, 0); //主角向右移動 if (!_isJump) PlayAnimation (2); //跑步動畫 } else if (Input.GetKey (KeyCode.LeftArrow)) { this.transform.eulerAngles = new Vector3 (0, 180, 0); //使主角面向左 this.transform.Translate (speed * Time.deltaTime, 0, 0); //主角向左移動 if (!_isJump) PlayAnimation (2); //跑步動畫 } 設計主角程式腳本 2/5 28 Wu, ShyiShiou Dept. of E.E., NKUT
29.
shapethefuture else if (Input.GetKey
(KeyCode.UpArrow)) { if (!_isJump) { this.GetComponent<Rigidbody2D> ().AddForce (Vector2.up * 500); _isJump = true; //主角為跳躍狀態 PlayAnimation (1); //跳躍動畫 } } else if (!_isJump) { PlayAnimation (0); } if (_isInjure) { //顯示主角受傷效果 _alpha += _da; _playerSprite.material.color = new Color (1f, 1f, 1f, _alpha); if (_alpha > 1.0f || _alpha < 0.0f) _da = -_da; } } 設計主角程式腳本 3/5 29 Wu, ShyiShiou Dept. of E.E., NKUT
30.
shapethefuture void OnTriggerEnter2D(Collider2D c)
{ if (c.gameObject.tag == "trap") { //主角碰到陷阱 _isInjure = true; //主角為受傷狀態 } } void OnTriggerExit2D(Collider2D c) { if (c.gameObject.name == "trap") { //主角脫離陷阱 _isInjure = false; //主角為正常狀態 _playerSprite.material.color = new Color (1f, 1f, 1f, 1f); } } 設計主角程式腳本 4/5 30 Wu, ShyiShiou Dept. of E.E., NKUT
31.
shapethefuture void OnTriggerStay2D (Collider2D
c) { if (c.gameObject.tag == "treasure") { //主角在寶箱處 if (Input.GetKeyDown (KeyCode.Space)) { //按空白鍵取得寶藏 c.gameObject.GetComponent<TreasureControl>().isOpen=true; } } } void OnCollisionEnter2D(Collision2D c) { if (c.gameObject.name == "floor") { //主角接觸地板 _isJump = false; } } } 設計主角程式腳本 5/5 31 Wu, ShyiShiou Dept. of E.E., NKUT
Jetzt herunterladen