読者です 読者をやめる 読者になる 読者になる

えんの付箋紙と小さなダンボールの中

LOLとかスマホゲームとかたまに開発も サモナーネーム: enpel

サバクのネズミ団

FTL系ゲームらしい

時間を忘れてというか寝るのを忘れるほどずっとやってた。

Shaderを学ぶ

これを見ている人のうちどれだけがUnityのマニュアルを見たのだろう

Unity - マニュアル: シェーダーリファレンス

C91 Day1 お疲れさまでした。Unibook7と総集編を頒布してきた。

当初予定していた内容ではない内容をUnibook7には載せてます。

ライト周りとかは次回かなぁ・・・

最近元気になってきたので個人でも何か出したいなって思いつつ来年頑張る感じで…!

👇らへんを気にしてる。(栄光さんはUnibook7で使ってるところ

コンカ | ダウンロードカード・ミュージックカード製作サービス

同人誌 印刷|株式会社 栄光|栄光情報最前線

Unibookはどうしても福袋感があるので自分で作るとしたらEditor拡張のやつとかかなー

とりまそんな感じで1日目お疲れさまでした!!

2日目は西の-16aで売り子してます。 もしお近くを通ったらぜひお声がけください!

あと技術書典も気になってる techbookfest.org

InvalidOperationException: The operation is not possible when moved past all properties (Next returned false)

というわけで表題のエラーの話

今回はEditorGUI.PropertyFieldでVector3型を表示しようとしてできなかったので対応した話。

// ここで表題のエラーが出る
EditorGUI.PropertyField(rect, action.FindPropertyRelative("targetPosition"));

action.FindPropertyRelative("targetPosition")はVector3型が格納されている action.FindPropertyRelative("targetPosition").vector3value等を見ると正常に取れている事がわかる

EditorGUI.PropertyField(rect, action.FindPropertyRelative("targetPosition")); を使いたいけど表題のエラーが出てうまくいかない場合は以下のように直す事で解決ができる。

action.FindPropertyRelative("targetPosition").vector3Value = EditorGUI.Vector3Field(rect, "hoge", action.FindPropertyRelative("targetPosition").vector3Value);

しかし厳密な解決じゃないというか 例えば

var properties = new string[] { "hoge", "fuga", "targetPosition" };
foreach (var p in properties)
{
    EditorGUI.PropertyField(rect, action.FindPropertyRelative(p));
}

のようにしたい場合にこまるかもしれない。 1つ2つの例外ならいいかもしれないけどそうもいかないとおもう。

そこについては解決したらまたなんか描きます

追記

var properties = new string[]{"hoge", "fuga", "targetPosition"};

foreach (var p in properties)
{
    var property = action.FindPropertyRelative(p);
    switch(property.propertyType)
    {
        case SerializedPropertyType.Vector3:
            property.vector3Value = EditorGUI.Vector3Field(rect, property.displayName, property.vector3Value);
            break;
        default:
            EditorGUI.PropertyField(rect, property);
            break;
    }
}

これで良さそう

5人組を期待するなら

public List<Character> Party = new List<Character>();

ではなく

private Character[5] party = new Character[5] {null,null,null,null,null};
public  Character[5] Party { get { return party; }

がいいんじゃねって話。

これがListであって且つpublicであることで他の実装者が混乱してしまう場合があるのでそうならないためにも意図的に制限をする事って大事だよね。 バグらないためにみたいな話

今日のメモ

近況とTOSとグラブルとLOL

近況三行

  • 精神的な疲弊が回復しつつある
  • TOSで疲弊してる
  • 自炊頻度増えた

Tree of Savior

  • アチャC2レンジャーC3 151 (シュヴァ予定
  • クレC1プリC3 100 (パードナー予定
  • ソードマンC1 ペルタC1 40 (馬場フェンサー予定

ぼちぼち知人達と遊びながら毎日IDでゆっくりレベリングしてる。これくらいがちょうど良い

グラブル

やっと四天刃を闇属性つけた。 でもシス欲しいから次の古戦場は拳集めする。 闇はキャラは揃ったのであとは武器次第かなー背水多め予定

LoL

アーケードアーリかわいいし楽しい

技術者としてのはなし

チームをうつって1ヶ月が経った感じなんだけど直さなきゃいけない部分がたくさんあるし、今まで脳死してた部分を使って実装考えるのは楽しく疲れる。 新しい環境はUniRxとかLinqとかガンガン使おうぜって感じなのとUnityらしく作ろうという感じで新鮮

自分の技術力についてはもう最近は自信は無いんだけどやれることをやるしか出来ないのでやる感じ。

そんなかんじ