Don’t miss your chance to get up to 60% off select top assets.
これは ドリコムAdvent Calendar 19日目の記事です。 18日目は ikkou さんの アドベントカレンダーでニコニコカレンダーの話を書きたかった です。 asiramと申します。 現在はサーバサイドエンジニアをやっております。 まだまだぺーぺーです。 最近Unity2Dを触っていますが、これだけ知っておければかなりの範囲の2Dゲームをカバー出来そう、という要素があるように感じています。 まだまだ触りたてなので、間違いがあったら指摘してください...! 今回はよく使うコンポーネントやクラスのメソッドなどを紹介します。 言語はC#です。 おそらくここに書かれているものをひと通り知っていればいろんな2Dゲームが作れると思います! コンポーネント編 Sprite Renderer 言わずもしれたスプライトを表示させるためのコンポーネントです。 とりあえず、「Sprite」に設定した
こんにちは! 前回に引き続き、nendのUnityプラグインリリースの初心者向け補足説明をお届けします。 今回は、実際にUnityで作成されたアプリと、nendの実装方法についてご紹介していきますよ。 ■実際にUnityで作られているアプリを見てみよう 【!】音ありにしていただくと、奮闘する女子二人の嬌声(?)と、ボールのぶつかる気持ちの良い音も体感いただけます(PCからご覧の方は動画にマウスオーバーし左上のスピーカーマークをON) 今回ご紹介するのは、App Storeで無料総合2位も獲得した「アスレチックボール」。 昔懐かしいボール転がしをアプリにしてしまったこのゲームも、3D感や重力をリアルに体感させてくれる、Unityの魅力を存分に活かしたアプリです。 ボールがふるっふる震えながらクレーンに運ばれる様や、ぽとりと落ちる際の自然な重みの感じ。 さりげないポイントですが、遊んでいてとて
今回はUnity始めたての人に向けて、他のオブジェクトとの連携を取る際の方法について書きます。Find系、GetComponent系、SendMessage系あたりで他オブジェクトの関数やメソッドを参照したり使いたいみたいな事です。オブジェクト指向のキモとなるところなので利便性のためいくつかの方法があり、それゆえ最初の頃に詰まる部分になってくる。自分がUnity触りはじめの頃にひとつの方法を調べたら他の方法も芋づるで出てきてどんどん調べ事が増えて困ったので、うまくまとめられれば過去の私のような方の時間短縮になるはず。 まず系統で分けつつ方法を書き出してみる。 public static Inspectorウインドゥでアサインする Find系 Find FindWithTag(複数ならFindGameObjectsWithTag) FindObjectOfType(複数ならFindObjec
SpriteRendererのメンバーspriteを変えることで変更できます Hierarchyにて画像AをもとにSpriteを作成 ※画像Bもインポートしておいてください 作成したSpriteにInspector→AddComponentでスクリプトを新規作成し追加します (スクリプトの名前はSpriteScriptで作成しています) 作成したスクリプトを開いて以下のコードをコピペしビルド public class SpriteScript : MonoBehaviour { SpriteRenderer renderer; public Sprite[] image; int idx; void Start () { renderer = GetComponent<SpriteRenderer>(); } void Update () { if(Input.GetKeyDown(Key
こんな風にスライスされたスプライト(enemy_0〜enemy_8)を動的に変更する方法を紹介します。 ■まずはSpriteの取得 Spriteを名前指定で取得するには以下のように記述します。 // スプライトの取得 // @param fileName ファイル名 // @param spriteName スプライト名 public Sprite GetSprite(string fileName, string spriteName) { Sprite[] sprites = Resources.LoadAll<Sprite>(fileName); return System.Array.Find<Sprite>(sprites, (sprite) => sprite.name.Equals(spriteName)); } この関数には第1引数にファイル名を指定し、第2引数にスプライト
Unityとは Unity は、Windows と OS X 上で動作する統合型のゲーム開発環境。様々なプラットフォームに対応しています。ゲームエンジンの1つです。 ゲームエンジンの種類 Unity Unreal Engine CryEngine cocos2d-x playground などいろいろあります。 Unityインストール方法 公式よりインストールしてください http://japan.unity3d.com/ プロジェクト作成方法 Fileタブより、New Projectをクリックして新しいプロジェクトを作成できます。 またSceneを作ることで場面を分けて作ることが出来ます。 アプリケーションの作り方 ここでは軽くしか説明しませんので、もっと詳しく説明しているサイトがネットにはいっぱいあるのでそちらを参考にしてください。 オブジェクトを配置 → コードをアタッチ という感じ
何かのボタンをおした時などアクションやトリガーなどを起こしたときに、ゲームオブジェクトに設定しているスプライト画像を切り替えたいときがあります。 ここではuguiを使ってスクリプトファイルでスプライト画像を切り替える方法について書いていきたいと思います。 ■環境 Mac OS Sierra 10.12.6 Unity 2017.1 ■更新 2017-08-02 Unity 2017.1版を追記 スクリプトファイルからスプライト画像を切り替える方法 適当な画像ファイルを「変更前」「変更後」で2つ用意。 変更前:1.jpg 変更後:2.jpg Projectビューに2つのファイルをドラッグしインポート。 2つの画像ファイルを選択後、InspectorビューでTexture typeを『Sprite(2D and UI』に変えてApplyを押します。 HierarchyへCanvasを作って、I
Unity備忘録 UnityのC#で現在時刻を取得するには、 System.DateTime.Now 頭にSystemをつけないとはまるところに注意。 3D Textで文字を変更するには3D TextのTextMeshを変更する。 これがJavaScriptだと割とやり方が出てきたけど C#で何となく書き換えると上手くできなかったので一苦労。 結論としては TextMesh tm = (TextMesh)gameObject.GetComponent(typeof(TextMesh)); string now = System.DateTime.Now.ToString("HH:mm"); tm.text = now; こんな感じで、色々とキャストしてあげないと上手くいかなかった。 ついつい TextMeshにGetComponentをそのまま投げてしまい、ドツボにはまるのでご注意。
Unityで特定のGameObjectをアクティブにしたい場合、SetActiveを使うがGameObject.Findで取得しようとするとnullが返ってくる。 これはGameObjectクラスのGameObjectを取得するstaticメソッド(GameObject.Find、FindWithTag)がアクティブなGameObjectしか対象にしないため。 http://docs-jp.unity3d.com/Documentation/ScriptReference/GameObject.html アクティブでないGameObjectを取得するには以下の様な方法が考えられる。 publicなメンバー変数にGameObjectをエディタから登録しておく。 親のGameObjectからTransform.Findを使う。 最初はアクティブにしておいてGameObject.Findで探して
ゲームの時間を管理しているTimeクラスと コルーチンを実行するStartCoroutine関数を使ってゲームの時間を管理する。 Timeクラスについて Unityには時間を管理しているTimeクラスというものが用意されています。 Timeクラスを利用することでゲームが開始されてからの時間やゲームの実行スピードを管理することができます。 レースゲームなどでゴールまでの時間を計ったり、スローモーションを実装するのに便利です。 リファレンス Timeクラスの公式リファレンスは以下のページです。 http://docs-jp.unity3d.com/Documentation/ScriptReference/Time.html Timeクラスには変数のみが実装されており、ユーザーが実行可能な関数は実装されていないようです。 よく使う変数 Time.time変数Time.time変数にはゲームが開
2015/04/18 トップページ 2015/03/15 プログレス1 2015/03/14 プログレス2 数学 2015/03/11 sin,cos三角関数の微分 2015/03/10 数学用語 比較的小さな数字の素数の数列を得る ピタゴラスの定理(三平方の定理) 2015/03/09 計算の基本 メニュー サンプルスクリプト 幾何 微分 三角比と三角関数 フーリエ級数、フーリエ展開 同位角、対頂角、錯角、相似、合同 2015/03/08 数式メモ 2015/03/05 平方数2、接線の公式 2015/03/03 漸化式、総和、等差、等比数列 比 状態遷移やゲームに必要なアルゴリズムの紹介等、実践的な内容が多く良い本だと思います。 プログラムをする上で数学を道具としてどう扱うか?その原理を知る事が出来ます。 もし数学に興味が出て入門用に最初に一冊買うならこの本を強くお勧めします。 数式を
1.表示する場合 gameObject.SetActive(true); 2.非表示にする場合 gameObject.SetActive(false); ※ただし、Update ()は常に実施されるので注意が必要です。
http://japan.unity3d.com/unity/ はじめに !注意! この記事郡が最初に投稿されたのは、2014/01/02です。 Unity4時に作成されたものですから、情報が古い場合があります! 14/12/18記 リンク先アドレスを更新しました。 ゲームの作り方についてはまずこちらをご覧ください! 「ゲーム 作り方」テラシュールウェア http://tsubakit1.hateblo.jp/entry/20140218/1392651856 全体的に編集中箇所多いです。 ご指摘いただけると助かります。 参照サイト この記事群は公式リファレンスと 以下のサイトを参考にさせて頂いております。 どれもとても参考になる素晴らしいUnity及びC#コンテンツです。 まずはこちらをご訪問ください。 ・ActionScript入門Wiki@rsakane氏 Unity http://
今回は前回に引き続き、物理エンジン関連のコンポーネントの解説を行います。前回の解説で出てきたプロパティについての説明は省略しますのでその部分については前回の記事を参照して下さい。 今回も実際に動かした時の動作を確認しながら解説を進めます。こちらのプロジェクトを事前にダウンロードして開いておいて下さい。 Spring Joint 2D Spring Joint 2D は名前の通り、バネのような動作を行います。 シーンファイル Spring を開いて色々と操作してみて下さい。 Spring Joint 2D のプロパティ Damping Ratio ではバネの硬さを指定します。 0 の時に最大の反発力となり、 1 に近いほど硬いバネになります。数値を変更してみて、跳ね具合の違いを確認して下さい。 Frequency は他の Rigid Body とぶつかった時にバネが振動する(厳密には指定され
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く