2021-07-01から1ヶ月間の記事一覧

【Unity】TimelineのTrackの見た目を変える

TimelineのTrackの見た目を変える場合にはTrackEditorクラスを使います。 [CustomTimelineEditor(typeof(HogeTrack))] public class HogeTrackEditor : TrackEditor { } CustomTimelineEditor Attributeに指定したTrackが拡張されます。 TrackDrawOptions Tr…

【Unity】TimelineのClipの見た目拡張

Timelineで利用するClipの拡張をする場合、ClipEditorクラスを継承をして実装を行います。 [CustomTimelineEditor(typeof(HogeClip))] public class HogeClipEditor : ClipEditor { } CustomTimelineEditor Attributeは拡張対象になるClipのクラスをしていし…

【Unity】TimelineのTrackAsset周りを調べてみる

TimelineのTrackを自作するときにTrackAssetクラスを使います。 このクラスでは何ができるのかを調べてみました。 TimelineのTrack TrackAsset 自作のTrackを作る場合にはTrackAssetクラスを継承します。 public class TestTrack : TrackAsset { } Clip指定…

【Unity】ExecuteAlwaysについて

Unityで使うc#のクラスでは色々なAttributeを定義することができます。 その中で「ExecuteAlways」というAttributeがあります。 docs.unity3d.com ExecuteAlways 簡単な例は次のようになります。 [ExecuteAlways] public class ExecuteAlwaysTest : MonoBeha…

【Unity】自作のPlayableを作成しTimelineで再生できるようにする

Playable API周りについての概要がなんとなくわかってきたので、次にScriptablePlayableを自作してみたいと思い調査をしてみました。 最終目標は独自のTrackをTimelineで再生をすることです。 ScriptPlayable を自作する ScriptPlayableを作るにはPlayableBe…

【Unity】Playable と Timelineについて

これまで触ってなかったUnityの「TimeLine」について調べる機会がありました。 その中で「Playable」についてブログに書いていきたいと思います。 Playable API 調べるとUnityには「Playable API」と呼ばれるものがあるのがわかりました。 これは、アニメー…

【C#】クラスをDeep Copyする

ローカルに保存したデータクラスを変更した場合、その参照先のデータも変更されます。 例えば、Saveボタンがあり、ボタンを押したときだけデータクラスを変更したい場合には、変更前の値をどこかに保持しなくてはいけません。 単純に次のように別の変数を用…

【Unity】クラス同士の比較を行いたいときに IEquatableを使う

とあるデータクラスを作ったときに、その中身が同じかどうかを比較をしたい場合にIEquatableを使って比較するのが良いと教わったので、実装をしてみました。 IEquatable このインターフェイスは等価かどうかを判断するEqualsが定義されています。 継承したク…