08/28のツイートまとめ

Revetronique

Unity VR Expoで人気すぎて体験できなかったサークルオブセイバーズを体験してきた!28日限定、ドスパラ秋葉原でやってるよ。まだまだ整理券が余ってそうだし、今日だけだから体験すべき! #PDトウキョウ #ドスパラ #VR https://t.co/gmPQe4SM9J
08-28 13:04

08/27のツイートまとめ

Revetronique

https://t.co/61syou1DrT
08-27 18:02

デザフェスに来てます。#かわいい5円 #デザフェス https://t.co/Dy9kKTxCDT
08-27 18:00

Unity雑記(ちょっとしたバグ?)

ゲーム開発中でちょっとした問題を発見したので備忘録がてらに。
ちなみに、開発環境はUnity5.4(プログラム開発にC#)とWindows10搭載のPCです。

Unityでゲーム開発をする際は、C#などでプログラムを開発しますよね。
その際に、クラス内の全体で利用できる変数(フィールド)を宣言することがありますが、
アクセシビリティをpublicに、

public int TestField = 0;

あるいは属性(Attribute)としてSerializeFieldを付けると

[SerializeField]
int TestFieldSerialize = 0;

Unityインスペクタというプロパティ一覧を表示する場所にその変数が表示されるようになります。

ただ、当方はある変数をpublicにして利用していたのですが、インスペクタには表示させたくないと思い
System.NonSerializedという属性を適用させていました。
この属性を使うと、表示されるはずのpublicフィールドがインスペクタに表示されなくなります。

[System.NonSerialized]
public int TestField = 0;

で、ここから問題なのですが、この属性をint型のフィールドに適用して、画面の中にいる特定のキャラクター数のカウントに使っていたのですが、なぜか最初のキャラクターが登場したときだけカウントされないという憂き目にあいまして...。
更に問題なのがビルドしたゲーム上でのみ発生するというもので...(Unityエディタ上では正常に動きました汗)。

いろいろと原因を探ってみたのですが、どうもこの属性を外すと正常に動いたので、ここが原因っぽいです(ちゃんとした検証はまだできていませんが汗)
そのため、当方はSystem.NonSerializedをやめて、以下のようにプロパティを使うように修正しました。

int testField;
public int TestField { get{ return testField; } }

このプロパティというのは、クラス外部では変数のように、内部ではメソッドのようにふるまう性質を持つのですが、publicでもインスペクタには表示されないので、プログラム上でのみ利用したい時などに便利です。

ちなみに、値型(int, floatなど)に限れば以下のような書き方もできます。

public int TestField { get; private set; }

これは値を代入する場合はアクセシビリティをprivateにすることで、外部からの参照を不可能にしています。
値型は初期値が決まっているため、これで問題なく動きます。

というわけで、ちょっとはまった部分の対処法をメモしてみました。
では(・ω・)/

テーマ : ゲーム開発
ジャンル : コンピュータ

08/16のツイートまとめ

Revetronique

鋭意、Reveのwebサイト制作中!うーん、もっと仕掛けを試したい>_<
08-16 04:12

08/14のツイートまとめ

Revetronique

コミケ、楽しかったですw相方は初コミケだったそうで。#C90 https://t.co/1X2m9yNLmV
08-14 21:03

suumoスコープ、ゲットだぜ #スーモスコープ https://t.co/VHAQBZ9hxf
08-14 21:01

08/13のツイートまとめ

Revetronique

さっきのツイートの動画。動作テストをしてます。https://t.co/Eu8dRAaawc
08-13 16:40

Bluetooth LEでスマホから制御できるシステムも開発中。ようやくBLE通信も使えるようになった… https://t.co/brxyfpkY9c
08-13 12:15

マクロスΔのルンを製作中! ルンがピカッと光れば〜うぉーうおーうぉうぉっうぉー🎶 #マクロス #レジン #作ってみた https://t.co/4UrQsIOA2h
08-13 12:11

08/10のツイートまとめ

Revetronique

今回もニコ動版あるよhttps://t.co/CBTSqjWVi5
08-10 17:40

AR(っぽい)シューティングゲームの動画を公開しました。宇宙人の侵略から地球を防衛せよ(という設定)。よかったら見てやってください。https://t.co/IpL8d0s0Hl
08-10 17:39

08/05のツイートまとめ

Revetronique

Unityでゲームがめちゃめちゃ作りやすくなった。憧れだったARゲームも簡単でした。 #unity
08-05 05:41

イーサンが出てくるARシューティングゲームを作ってる最中 https://t.co/RUx94792we
08-05 05:38

08/04のツイートまとめ

Revetronique

バカ盛り丼 https://t.co/57O8uMDX9Y
08-04 19:33

プロフィール

Reveちゃん

Author:Reveちゃん
コンビでやってます。
夢担当と技術担当がいます。

大学院卒業 → ロボットベンチャー(漆黒)就職 → 1年で退職 → ベトナムで仕事中(今ここ) → メディアアーティスト(未来☆)

リンクフリーです。

最新記事
最新コメント
月別アーカイブ
カテゴリ
アクセス数
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR