明けましておめでとうございます。 滋賀への帰省ついでに、ちょっと前に話題になった琵琶湖の「奥の州」というスポットに足を運んできました。
続きを読む【C103】サークル「albatrus」にお越しいただきありがとうございました!
本日、東京ビッグサイトで開催されたコミックマーケット102、ブース「東-U44a albatrus」にてサークル参加いたしました。 朝からの雨にもかかわらず、多くの方にスペースへお越しいただき、ありがとうございました。
東サークル
今回は久しぶりの東館でした。 おそらく2018年ぐらいまで遡るのではないかと思います(それまでは南館や西館でした) ちょうどホールの真ん中ぐらいの位置で(画像参考)、通称お誕生席でした。
サークルスペースは特に前回から変わりないのですが、2点改善したい点があり、 一つはお品書きを用意すること。もう一つは見本誌のカバーをもっと透明度の高いものを用意することです。
本
「UnityAnimationBook」を書きました。
配布結果
今回は20部を印刷しましたが、なぜか22部入ってました。 開場は10:30でしたが、平均的に掃けて12:20には全て配布しおわりました。 今回は東で人通りも開幕からある程度人の流れがあったのが原因だと思いますので、この配置はとても良かったのではと思っています。
感想
隣のスペースでは、UnityのGithub Copilotに関する本が出展されており、そちらは目を引くほどの売れ行きを見せていました。 このことから、生成AIに対する需要が高まっていると感じずにはいられませんでした。 自分の場合、Unityを少し深く掘り下げた内容のため、ニーズが限られてしまったように思います。本を手に取ってくださった方との会話で気づいたのは、Unityに手を出したことがないけれど興味があるという方が多かったことです。そうした方々には内容が合わなかったかもしれません。コミケでは初心者向けのコンテンツの方が受けがいいみたいですね。今後はこの点を踏まえ、コンテンツを考えていかなければと思います。
【DOTween】DOPath系の初期値と目的地が同じだとエラーが出る
DOTweenのPath系の関数を使うときに次のようなエラーが出ました。
IndexOutOfRangeException: Index was outside the bounds of the array. DG.Tweening.Plugins.Core.PathCore.CubicBezierDecoder.GetPoint (System.Single perc, UnityEngine.Vector3[] wps, DG.Tweening.Plugins.Core.PathCore.Path p, DG.Tweening.Plugins.Core.PathCore.ControlPoint[] controlPoints) (at <00000000000000000000000000000000>:0)
このエラーが発生する原因は、オブジェクトの現在の位置(transformのPositionプロパティ)と、DOTweenのDOPathメソッドで設定された目的地が同じであるためです。 例えば、目的地を(200, 0, 0)と指定している場合、オブジェクトのtransformの初期値のいずれかの軸に同じ値が設定されていると、エラーが発生します。
transform.DOLocalPath(new Vector3[] { new Vector3(200, 0, 0), new Vector3(0, 100, 0), new Vector3(100, 0, 0) }, 1.0f, PathType.CubicBezier);
解決方法
初期値を変更するか、目的地を増やすなどする。
【Unity】UniTaskで直列処理をする場合
複雑な非同期処理を行うときに色々考えたことをメモ代わりに書いていきたいと思います。
直接処理
単純にawaitを処理順に並べると、順番に対象の処理を行います。
private async UniTaskVoid Start() { await Method1Async(); await Method2Async(); } private async UniTask Method1Async() { // ここにtask1の処理を書く await UniTask.Delay(1000); // 例として1秒待つ処理を書く } private async UniTask Method2Async() { // ここにtask2の処理を書く await UniTask.Delay(2000); // 例として2秒待つ処理を書く }
Concatwithを使う
await Method1Async().ContinueWith(async _ => await Method2Async());
UniTask
OpenUPMを使ってみる
ネットで検索すればOpenUPMについていくつか記事が出ているのですが、 最近、自分でもOpenUPMを使って設定する機会があったので、ブログにまとめていきたいと思います。
続きを読む