public static NFTShapeHQImageHandler Create(NFTShapeHQImageConfig config)
        {
            if (config.asset == null || config.controller == null)
            {
                return(null);
            }

            return(new NFTShapeHQImageHandler(config));
        }
        private NFTShapeHQImageHandler(NFTShapeHQImageConfig config)
        {
            this.config = config;
            this.asset  = config.asset;

            camera         = Camera.main;
            nftControllerT = config.controller.transform;

            CommonScriptableObjects.playerUnityPosition.OnChange += OnPlayerPositionChanged;
            OnPlayerPositionChanged(CommonScriptableObjects.playerUnityPosition, Vector3.zero);
        }