Skip to content

Instantly share code, notes, and snippets.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DrawLine : MonoBehaviour
{
private Queue<Vector3> queue;
private Vector3[] positions;
private Camera cachedCamera;
@tsubaki
tsubaki / ClickToEndBehaviour.cs
Last active May 12, 2021 10:41
UnityのTimel inで、クリックしたらクリップの末まで移動する
using UnityEngine;
using UnityEngine.Playables;
public class ClickToEndBehaviour : PlayableBehaviour
{
private PlayableDirector director { get; set; }
public override void OnPlayableCreate(Playable playable)
{
director = (playable.GetGraph().GetResolver() as PlayableDirector);
using UnityEditor;
using UnityEngine;
public class AssetBundleChecker
{
[MenuItem("Assets/CreateLink.xml")]
static void Create()
{
var generator = new LinkXmlGenerator();
// UnityEditor.Animations.AnimatorControllerを取得してしまうので、RuntimeAnimatorControllerに変更
@tsubaki
tsubaki / NotchPadding.cs
Created October 30, 2019 14:34
縦のノッチ一つ前提、ノッチの位置で安全マージンを設定する
using UnityEngine;
[ExecuteAlways]
public class NotchPadding : MonoBehaviour
{
[SerializeField] RectTransform left, right;
void Update()
{
if (Screen.cutouts == null || Screen.cutouts[0] == null || left == null || right == null)
using UnityEngine;
[RequireComponent(typeof(RectTransform))]
[ExecuteAlways]
public class SafeAreaPadding : MonoBehaviour
{
private DeviceOrientation postOrientation;
void Update()
{
using System.Collections.Generic;
using UnityEngine;
public class MyComponent : MonoBehaviour
{
[SerializeReference] List<IMyInterface> dataarray = new List<IMyInterface>();
void Start()
{
foreach( var item in dataarray)
@tsubaki
tsubaki / LookAtCleanupSystem.cs
Last active October 22, 2019 17:38
ISystemStateComponentData及びISystemStateBufferElementDataの使用例
using Unity.Collections;
using Unity.Entities;
using Unity.Transforms;
using static Unity.Entities.ComponentType;
public struct LookAtInitialized : ISystemStateComponentData
{
public Entity Value;
}
@tsubaki
tsubaki / SyncGameObjectWithEntity.cs
Last active April 20, 2022 04:46
GameObjectを破棄するとEntityも破棄される。もしくはその逆
using Unity.Entities;
using Unity.Transforms;
using UnityEngine;
/// <summary>
/// GameObjectを破棄する時、紐付いているEntityを破棄する。
/// </summary>
[RequireComponent(typeof(ConvertToEntity))]
[DisallowMultipleComponent]
[RequiresEntityConversion]
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AddressableAssets;
public class SpawnerWithAssetReference : MonoBehaviour
{
[SerializeField] AssetReferenceGameObject obj;
void Awake()
@tsubaki
tsubaki / ItemGetSystem.cs
Created April 25, 2019 13:30
Unity Physicsの使用例
using Unity.Entities;
using Unity.Physics.Systems;
[UpdateAfter(typeof(StepPhysicsWorld))]
public class ItemGetSystem: ComponentSystem
{
private BuildPhysicsWorld buildPhysicsWorldSystem;
private StepPhysicsWorld stepPhysicsWorldSystem;
protected override void OnCreate()