Release Note

Release Note 1.6.0 - Notice

Release Note 1.6.0 - Notice

업데이트 되는 💥새로운 기능들을 확인해 보세요.

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)가 되어 있습니다. 🤗

자세한 내용은 아래 Updates 내용을 확인해주세요!!

  • 🎉 JumpingGo 월드가 추가되었어요!

    점핑고는 최대 32명의 플레이어가 경쟁하는 🕶️멀티플레이 파티 게임으로,

    다양한 장애물과 상대방의 방해를 피해 마지막까지 살아남아야 해요! 📍 점핑고에서 펼쳐지는 예측 불가능한 모험 속으로 뛰어들어 보세요! 🏃

  • 🎶 노래방 월드가 추가되었어요!

    이제 디토랜드에서 🎤마이크를 잡고 👯‍♀️사람들과 함께 노래를 즐겨보세요!

  • 🎉 Easy_JumpingGo 템플릿이 추가되었어요!

    JumpingGo의 캐릭터 상태(더블 점프, 다이빙 등)를 사용할 수 있는 맵이에요.

    다양한 토이들을 활용해서 멋진 경주 맵을 만들어보세요. 💨

  • 🍯 위젯에 채우기 타입이 추가되었어요!

    가로 채우기나 세로 채우기를 이용하면 일관된 레이아웃📐을 표현할 수 있어요.

    💡예를 들어 화면 상단의 재화 영역을 가로 채우기로 배치할 수 있어요!

  • 🍯 UI 에디터에 보기 모드🕶️가 추가되었어요!

    보기 모드 상태에서는 여러 UI를 한번에 볼 수 있고, 추가한 트윈을 재생▶️해서 미리볼 수 있어요.

  • 🍯 UI의 위치나 회전, 크기, 투명도의 변화를 쉽게 연출할 수 있는 🎉트윈 기능이 추가되었어요! 트윈은 위젯을 선택한 상태에서 프로퍼티창의 Add Tween 버튼을 눌러 추가할 수 있어요.

    • 트윈은 스크립트에서도 제어할 수 있어요.

      -- 클라 스크립트에서
      local UI = Workspace.ScreenUI
      
      ------------------------------------------------------------------------
      -- 프로퍼티창에서 추가한 트윈을 가져오기
      local tween = UI.Frame:GetTweenByIndex(1) -- 인덱스로 트윈을 가져와요
      local tween = UI.Frame:GetTweenByName("Alpha") -- 이름으로 트윈을 가져와요
      local tweenList = widget:GetAllTweens() -- 모든 트윈 가져오기
      
      -- 트윈이 끝났을때 호출되는 함수 연결하기
      local function EndCallback(widget)
          print("End!")
      end
      local isSuccess = tween:SetCompleteEvent(EndCallback) -- 재생이 끝났거나 유효하지 않은 트윈에는 사용할 수 없어요.)
      print("SetCompleteEvent isSuccess", isSuccess)
      
      -- 트윈 재생
      tween:Play()
      
      -- 트윈 일시정지 (Play로 다시 재생할 수 있어요)
      tween:Pause()
      
      -- 트윈 정지
      tween:Stop()
      
      ------------------------------------------------------------------------
      -- 트윈 상태 가져오기
      print("isPlaying : ", tween:IsPlaying()) -- 트윈이 재생중인지
      print("isValid : ", tween:IsValid()) -- 트윈이 유효한지
      print("isComplete : ", tween:IsComplete()) -- 트윈이 끝났는지
      
      ------------------------------------------------------------------------
      -- 스크립트에서 트윈 추가하기
      local delay = 0
      local duration = 1
      local loopCount = 2 
      local isYoyo = true
      local ResetAtEnd = false
      local easingType = Enum.UIEasingType.EaseInSine
      local CompleteEvent = EndCallback
      
      --TweenName, from, to, delay, duration, loopCount, isYoyo, ResetAtEnd, easingType, CompleteEvent
      local tween1 = UI.Frame:TweenFromToPosition("MoveTween", Vector.new(0, 0, 0), Vector.new(200, 0, 0), delay, duration, loopCount, isYoyo, ResetAtEnd, easingType, CompleteEvent)
      local tween2 = UI.Frame:TweenFromToRotation("RotTween", 0, 90, delay, duration, loopCount, isYoyo, ResetAtEnd, easingType, CompleteEvent)
      local tween3 = UI.Frame:TweenFromToScale("ScaleTween", 0.5, 1, delay, duration, loopCount, isYoyo, ResetAtEnd, easingType, CompleteEvent)
      local tween4 = UI.Frame:TweenFromToOpacity("AlphaTween", 0.5, 1, delay, duration, loopCount, isYoyo, ResetAtEnd, easingType, CompleteEvent)
      
      tween1:Play()
      tween2:Play()
      tween3:Play()
      tween4:Play()
      
      ------------------------------------------------------------------------
      --Enum.UIEasingType는 아래와 같이 구성되어 있어요.
      --[[
          Linear
          EaseInQuad
          EaseOutQuad
          EaseInOutQuad
          EaseOutInQuad
          EaseInCubic
          EaseOutCubic
          EaseInOutCubic
          EaseOutInCubic
          EaseInQuart
          EaseOutQuart
          EaseInOutQuart
          EaseOutInQuart
          EaseInQuint
          EaseOutQuint
          EaseInOutQuint
          EaseOutInQuint
          EaseInSine
          EaseOutSine
          EaseInOutSine
          EaseOutInSine
          EaseInExpo
          EaseOutExpo
          EaseInOutExpo
          EaseOutInExpo
          EaseInCirc
          EaseOutCirc
          EaseInOutCirc
          EaseOutInCirc
          EaseInElastic
          EaseOutElastic
          EaseInOutElastic
          EaseutInElastic
          EaseInBack
          EaseOutBack
          EaseInOutBack
          EaseOutInBack
          EaseInBounce
          EaseOutBounce
          EaseInOutBounce
          EaseOutInBounce
      ]]--

  • 🍯 글자에서 특정 부분을 바꿀 수 있는 RichText 위젯🔤이 추가되었어요!

    RichTextCategory에서 사용할 글자 서식을 추가한 다음,

    텍스트 내용 중에서 서식을 적용할 부분에 <Red>내용</>와 같이 입력하면

    해당 내용에만 서식이 적용돼요!

    RichText 위젯의 내용을 아래와 같이 📝스크립트에서 제어할 수 있어요.

    local RichText = Workspace.ScreenUI.RichText
    
    print(RichText:GetText())
    
    RichText:SetText("<Green>3</>의 회복력으로 <Blue>아군 1명</>을 치유합니다.")

  • 🍯 스프라이트 시트를 사용할 수 있는 새로운 이펙트 타입🎊이 추가되었어요!

  • 🍯 툴박스에 토이 / 매쉬 / 데칼 / 사운드가 가지고 있는 ID를 검색할 수 있는 ID 검색🔍이 추가되었어요.

    단, 정확히 일치하는 ID만 검색 할 수 있으니 참고 부탁드려요.

  • 🍯 BaseSetting에 캐릭터간 카메라 충돌📹을 제어하는 Collide With Cam 프로퍼티가 추가되었어요!

  • 🏢기업용 계정의 경우, 📸셀카모드에 사용될 기업용 로고를 넣을 수 있어요.

    • 월드 설정 > 개발자 설정 > 메타버스 설정 > Deveplper Logo에 모드킷으로 업로드한 ID를 넣어야해요

  • 이제부터 스크립트에 다음 Key Enum 을 사용하면, 에러 메시지가 출력되며 동작하지 않아요!

    👉 해당 메뉴얼을 참고하여, 동작하도록 변경해주세요.

    Enum.Key.Touch_DpadX
    Enum.Key.Touch_DpadY
    Enum.Key.GamePad_Button1
    Enum.Key.GamePad_Button2
    Enum.Key.GamePad_Button3
    Enum.Key.GamePad_Button4
    Enum.Key.GamePad_Button5
    Enum.Key.GamePad_Button6
    Enum.Key.GamePad_Button7

  • 기존 TouchPad, TouchButton 위젯에 있던 Enum 프로퍼티가 삭제되었어요.

    Enum 을 직접 설정하지 않아도 TouchUI 를 사용할 수 있게 되었어요. 🥰

    TouchUI 에 대한 자세한 내용은 👉 해당 메뉴얼을 참고해주세요.

    • 기존 TouchPad 의 Enum 프로퍼티

    • 기존 TouchButton 의 Enum 프로퍼티

  • 🍯 캐릭터간 충돌 사용의 기본값이 false로 변경되었어요. (이제 따로 설정하지 않는 한 캐릭터끼리 충돌이 무시돼요.) 만약 캐릭터끼리 💥충돌이 되게 설정하려면 SetEnableCollisionBetweenCharacter 함수를 사용해야 해요.

    -- 서버 스크립트에서
    player:SetEnableCollisionBetweenCharacters(true) --특정 플레이어가 다른 캐릭터와 충돌되게 설정해요.

  • 🍯 ProgressBar 위젯에서 📊게이지의 변화를 서서히 연출할 수 있는 Burst 기능이 추가되었어요. (Burst 게이지를 이용하려면 ProgressBar의 BackGround 게이지 영역이 투명해야 해요.)

    -- 클라 스크립트에서
    local InPrevValue = 0
    local InTargetValue = 0.8
    local InDuration = 2
    local InTweenType = Enum.UIEasingType.Linear
    ProgressBar:BurstStart(InPrevValue, InTargetValue, InDuration, InTweenType) -- 버스트 게이지를 표현해요 (BurstEnable이 켜져있어야 해요)
    
    ProgressBar:BurstStop() -- 버스트 게이지를 멈춰요 (마지막 값으로 즉시 변화해요)

  • 🍯 Text 위젯에서 🔢숫자의 변화를 서서히 연출할 수 있는 Rolling 기능이 추가되었어요.

    -- 클라 스크립트에서
    local InPrevValue = 1
    local InTargetValue = 100
    local InDuration = 2
    local InTweenType = Enum.UIEasingType.Linear
    text:StartRolling(InPrevValue, InTargetValue, InDuration, InTweenType) -- 텍스트 롤링을 표현해요
    
    text:StopRolling() -- 텍스트 롤링을 멈춰요 (마지막 값으로 즉시 변화해요)

  • 캐릭터의 🏃‍♀️물리 속도를 가져오는 기능과 초기화하는 기능이 추가되었어요.

    -- 서버 스크립트에서
    local velocity = character.Velocity -- 물리 속도를 가져와요 (Vector3)
    
    if velocity .Y >= 1000 then 
        character:ZeroVelocity() -- 캐릭터의 물리 속도를 0으로 만들어요.
    end

  • 🍯 일부 토이에서 힘을 가할 때 사용하고 있던 AddForce 함수를, AddImpulse 혹은 LaunchCharacter 로 변경했어요.

    툴박스 혹은 ObstacleRun / VS_ObstacleRun 템플릿에서, 다음 토이들의 Server 스크립트를 참고해주세요.

    • ClockWeight

    • HitRoad

    • LaunchBall

    • RotClock

    • RotHammer / RotHammer_Type2

    • RotWindmil

    AddImpulse, LaunchCharacter 의 사용 방법은, 1.5.0 패치노트를 참고해주세요.

  • 🕊️🐟🐿️스켈레탈 메쉬를 제어하는 기능이 추가되었어요! 현재는 🔒 유관 기업만 사용할 수 있어요. 🙏 (🚩 이번 패치에서 트랙 기능까지는 제공되지만 콜리전 기능은 제공하지 않아요.)

    -- 클라 스크립트에서
    local SkeletalMesh = Script.Parent
    
    -- 스켈레탈 메쉬의 모든 애니메이션 이름들을 가져와요
    local aniNameList = SkeletalMesh:GetAnimAssetNameList()
    for i = 1, #aniNameList do
        print(SkeletalMesh, "GetAnimAssetNameList", i, aniNameList[i])
    end
    
    print("GetAnimAssetNameCount", SkeletalMesh:GetAnimAssetNameCount()) -- 스켈레탈 메쉬의 애니메이션 갯수를 가져와요
    print("GetCurrentAnimName", SkeletalMesh:GetCurrentAnimName())       -- 재생중인 현재 애니메이션의 이름을 가져와요
    print("GetCurrentAnimIndex", SkeletalMesh:GetCurrentAnimIndex())     -- 재생중인 현재 애니메이션의 인덱스를 가져와요
    
    local isSuccess = SkeletalMesh:SetAnimName("Attack") -- 이름에 해당하는 애니메이션을 변경해요 (재생 실패시 false가 반환돼요)
    local isLoop = true
    SkeletalMesh:PlayAnim(isLoop) -- 애니메이션을 재생해요
    
    local isSuccess = SkeletalMesh:SetAnimIndex(2) -- 인덱스에 해당하는 애니메이션을 변경해요 (재생 실패시 false가 반환돼요)
    local isLoop = true
    SkeletalMesh:PlayAnim(isLoop) -- 애니메이션을 재생해요
    
    print(SkeletalMesh:IsPlayingAnim()) -- 애니메이션의 재생 여부를 반환해요
    
    SkeletalMesh:PauseAnim() -- 애니메이션의 일시정지해요 (PlayAnim 함수를 호출해서 다시 재생할 수 있어요)
    
    SkeletalMesh:StopAnim()  -- 애니메이션을 정지해요
    
    ---------------------------------------------------------------------------
    -- 서버 / 클라 스크립트에서
    local SkeletalMesh = Script.Parent
    
    -- 객체가 스켈레탈 메쉬인지 확인하는 기능이 추가되었어요.
    print(SkeletalMesh:IsSkeletalMesh())
    
    -- 기본 속성, 함수들을 사용할 수 있어요.
    print(SkeletalMesh.Name)
    print(SkeletalMesh.Parent)
    print(SkeletalMesh:GetKey())
    print(SkeletalMesh:IsValid())
    print(SkeletalMesh:IsValidValue("SomeValue"))
    
    -- 스켈레탈 메쉬도 위치나 회전, 크기를 변경할 수 있어요.
    SkeletalMesh.Location = SkeletalMesh.Location + Vector.new(200, 0, 0) 
    SkeletalMesh.Rotation = SkeletalMesh.Rotation + Vector.new(0, 0, 60)
    SkeletalMesh.Scale = SkeletalMesh.Scale + Vector.new(0.8, 0.8, 0.8)
    
    -- 스켈레탈 메쉬에도 트랙을 사용할 수 있어요
    SkeletalMesh.Track:AddLocalMove("Move", Vector.new(300, 0, 0), 2, false)
    SkeletalMesh.Track:AddEmpty("Move", 1)
    SkeletalMesh.Track:PlayTransformTrack("Move", Enum.TransformPlayType.Repeat, InfinityPlay)
    
    -- OnCollisionEvent, OnBeginOverlapEvent 등 콜리전 기능은 아직 사용할 수 없어요!

  • 📱디바이스의 언어🔤를 가져오는 기능이 추가되었어요.

    -- 클라 스크립트에서
    local currentLanguage = LocalPlayer:GetDefaultLanguage() -- 현재 기기의 언어를 가져올 수 있어요.
    
    print("currentLanguage", currentLanguage)
    
    if     currentLanguage == Enum.Language.Korean             then print("Korean")             -- 한국어
    elseif currentLanguage == Enum.Language.English            then print("English")            -- 영어
    elseif currentLanguage == Enum.Language.Japanese           then print("Japanese")           -- 일본어
    elseif currentLanguage == Enum.Language.SimplifiedChinese  then print("Chinese")            -- 중국어 간체
    elseif currentLanguage == Enum.Language.TraditionalChinese then print("TraditionalChinese") -- 중국어 번체
    elseif currentLanguage == Enum.Language.French             then print("French")             -- 프랑스어
    elseif currentLanguage == Enum.Language.Spanish            then print("Spanish")            -- 스페인어
    elseif currentLanguage == Enum.Language.German             then print("German")             -- 독일어
    end

  • 클라이언트 스크립트에 NPC의 특정 본에 이펙트💫를 생성하는 함수가 추가되었어요.

    NPC:CreateFX(Workspace.Effect, Enum.Bone.Body)

  • 🍯 캐릭터나 NPC가 특정 위치를 🕶️바라보게 하는 LookAt 함수가 추가되었어요.

    local lookPos = Workspace.DungeonGate
    
    NPC:LookAt(lookPos)
    Character:LookAt(lookPos)

  • 🍯 LibTable 모듈에 테이블을 복사하는 👯‍♀️clone 함수가 추가되었어요.

    require(ScriptModule.DefaultModules.LibTable)
    
    local t1 = { 1, 2, 4}
    local t2 = table.clone(t1)
    t2[1] = 55
    
    print(t1[1]) -- 1
    print(t2[1]) -- 55

  • 🍯 ClientScript 에서 사용할 수 있는, 🏃애니메이션 속도 및 시간 길이 관련 함수가 추가되었어요.

    -- GetAnimLength
    
    -- 현재 캐릭터 애니메이션 상태 머신에 추가한 애니메이션의 길이를 얻어올 수 있어요. (얻어올 애니메이션 이름)
    -- AddBlendAnimState 함수로 추가한 블렌드 애니메이션에는 해당 함수를 사용할 수 없어요.
    
    local aniName = "Sit"
    local curAniLength = character:GetAnimLength(aniName)
    print("curAniLength = ".. curAniLength)
    -- SetAnimSpeedRate
    
    -- 현재 캐릭터 애니메이션 상태 머신에 추가한 애니메이션의 속도 비율을 설정할 수 있어요.
    -- 애니메이션 속도 비율 변경 시, 다른 애니메이션 상태 머신에는 반영되지 않아요.
    -- 속도 비율을 변경했던 애니메이션 상태 머신이 다시 캐릭터에 적용된 경우, 이전에 설정한 속도 비율이 그대로 반영돼요.			
    
    local aniName = "Sit"				
    local speedRate = 0.3
    character:SetAnimSpeedRate(aniName, speedRate) 
    -- GetAnimSpeedRate
    
    -- 현재 캐릭터 애니메이션 상태 머신에 추가한 애니메이션의 속도 비율을 얻어올 수 있어요.
    
    local aniName = "Sit"
    local curSpeed = character:GetAnimSpeedRate(aniName)
    print("curSpeed = "..curSpeed)

  • 애니메이션의 StateSetting⚙️에 연결되는 OnEnter / OnUpdate / OnExit 이벤트의 동작이 ❗모든 플레이어를 대상으로 호출되도록 변경되었어요.

    아래 샘플 코드를 참고해주세요.

    --[ OnEnter ]
    --JumpLoop
    AnimState = AnimStateMachineSetting:AddAnimState("JumpLoop", Object.Fall, InfinityPlay)
    
    --직전에 AnimState에 정의한 애니(JumpLoop)에 이벤트 할당
    local function EnterJumpLoop(animStateMachine)
        local character = animStateMachine:GetOwnerCharacter()
    	
        if not character:IsMyCharacter() then
            return
        end
    end
    AnimState.OnEnter:Connect(EnterJumpLoop)
    ------------------------------------------------------------------------------------------------------
    --[ OnUpdate ]
    --JumpLoop
    AnimState = AnimStateMachineSetting:AddAnimState("JumpLoop", Object.Fall, InfinityPlay)
    
    --직전에 AnimState에 정의한 애니(JumpLoop)에 이벤트 할당
    local function UpdateJumpLoop(animStateMachine, updateTime)
        local character = animStateMachine:GetOwnerCharacter()
        
        if not character:IsMyCharacter() then
        	return
        end
    end
    AnimState.OnUpdate:Connect(UpdateJumpLoop)
    ------------------------------------------------------------------------------------------------------
    --[ OnExit ]
    --JumpLoop
    AnimState = AnimStateMachineSetting:AddAnimState("JumpLoop", Object.Fall, InfinityPlay)
    
    --직전에 AnimState에 정의한 애니(JumpLoop)에 이벤트 할당
    local function ExitJumpLoop(animStateMachine)
        local character = animStateMachine:GetOwnerCharacter()
    
        if not character:IsMyCharacter() then
            return
        end
    end
    AnimState.OnExit:Connect(ExitJumpLoop)

  • 월드 관리 페이지에 📫월드 이벤트가 추가되었어요! 월드 이벤트를 이용해서 원하는 시간에 설정한 숫자, 문자열, 불리언 같은 ⚙️데이터나 공지사항 같은 📢메시지를 월드로 보낼 수 있어요. 👉 해당 메뉴얼을 참고해주세요.

    • 월드 이벤트에 추가한 데이터에 일정을 등록하면, 해당 일정의 날짜, 시간, 요일이 됐을 때 값이 전송돼요.

    • 월드 이벤트는 스크립트에서 아래와 같이 처리할 수 있어요.

      -- 월드 이벤트 정보를 요청하는 함수예요.
      -- 이 함수를 호출해서 OnGetWorldEventListEvent를 받아야 월드 이벤트를 사용할 수 있어요.
      Game:RequestWorldEventList() 
      
      ------------------------------------------------------------------------
      -- 월드 이벤트 정보가 갱신될 때 호출되는 이벤트예요.
      -- 이 이벤트를 사용하려면 RequestWorldEventList를 호출해야 하며, 월드 이벤트에 대한 내부 설정이 모두 끝나면 이벤트가 호출돼요.
      -- (월드 이벤트의 데이터를 추가하거나, 수정하면 다시 호출될 수 있어요.)
      local function GetWorldEventListEvent()
         print("OnGetWorldEventListEvent - 월드이벤트 세팅 완료됨!!")
      end
      Game.OnGetWorldEventListEvent:Connect(GetWorldEventListEvent)
      
      ------------------------------------------------------------------------
      -- 현재 시간이 월드 이벤트에 등록한 문자열 데이터의 일정이 되면 호출되는 이벤트에요.
      -- keyName으로 어떤 월드 이벤트인지 구분할 수 있어요.
      local function OnWorldEventString(keyName, keyValue)
          print(keyName, ":", keyValue) 
      end
      Game.OnGetWorldEventString:Connect(OnWorldEventString)
      
      -- 현재 시간이 월드 이벤트에 등록한 숫자 데이터의 일정이 되면 호출되는 이벤트에요.
      -- keyName으로 어떤 월드 이벤트인지 구분할 수 있어요.
      local function OnWorldEventNumber(keyName, keyValue)
          print(keyName, ":", keyValue) 
      end
      Game.OnGetWorldEventNumber:Connect(OnWorldEventNumber)
      
      -- 현재 시간이 월드 이벤트에 등록한 불리언 데이터의 일정이 되면 호출되는 이벤트에요.
      -- keyName으로 어떤 월드 이벤트인지 구분할 수 있어요.
      local function OnWorldEventBool(keyName, keyValue)
          print(keyName, ":", keyValue) 
      end
      Game.OnGetWorldEventBool:Connect(OnWorldEventBool)
      
      ------------------------------------------------------------------------
      local function RequestGetValue(player)
          -- 공지사항 타입이 아닌 데이터 타입은 일정이 되지 않았더라도 현재 값을 가져올 수 있어요.
          local expRate           = Game:RequestWorldEventNumber("ExpRate")
          local findNPCName       = Game:RequestWorldEventString("FindNPCName")
          local isOpenRaidDungeon = Game:RequestWorldEventBool("IsOpenRaidDungeon")
           
          -- 월드 이벤트에 대한 내부 설정이 끝나지 않았으면 nil이 반환될 수 있어요.
          if expRate ~= nil and expRate ~= "nil" then
              print("ExpRate : ", expRate)
          end
          
          if findNPCName ~= nil and findNPCName ~= "nil" then
              print("FindNPCName : ", findNPCName)
          end
          
          if isOpenRaidDungeon ~= nil and isOpenRaidDungeon ~= "nil" then
              print("IsOpenRaidDungeon : ", isOpenRaidDungeon)
          end     
      end

  • 같은 월드 안에서 다른 데디서버에 있는 유저들을 모아 연결랜드로 이동시킬 수 있는 🧑‍🤝‍🧑매치메이킹 기능이 추가되었어요. 레이팅 점수 같은 특정 데이터를 기준으로 범위🔍에 해당 유저들을 따로 처리하는것도 가능해요! 👉 해당 메뉴얼을 참고해주세요.

    -- 매칭 대기열에 유저를 등록하는 함수예요.
    -- 유저는 FilterType, RangeMin, RangeMax, MaxPlayer, WaitTime가 같은 매칭 대기열에 등록돼요. (데디서버가 다르더라도 같은 대기열에 등록돼요.)
    -- 유저의 필터 값(FilterValue)이 필터 범위(RangeMin~RangeMax) 이내여야 대기열에 등록돼요.
    -- 매칭 대기열에 등록된 유저 수가 MaxPlayer가 되거나, WaitTime가 경과하면 매칭 이동을 시작해요.
    -- MaxPlayer는 이동할 랜드의 인원 수보다 크지 않아야 해요.
    local function RequestAddMatch(player)
        local landOrder   = 1          -- 이동할 랜드
        local filterType  = "Raiting"  -- 필터타입 (ex : 레이팅, 점수, 클래스 종류 등)
        local filterValue = player.MMR -- 필터범위에서 사용할 플레이어별 값 (ex : 레이팅, 점수, 클래스 종류 등)
        local minMMR      = 5          -- 필터범위 (최소값)
        local maxMMR      = 20         -- 필터범위 (최대값)
        local maxPlayer   = 2          -- 이동에 필요한 인원
        local waitTime    = 20         -- 기다릴 시간       
        
        -- 매칭으로 이동할 랜드의 연결 순서를 할당해요.
        player.MatchLandOrder = landOrder 
        
        Game:AddMatchQueue(player, landOrder, filterType, filterValue, minMMR, maxMMR, maxPlayer, waitTime)
    end
    
    ------------------------------------------------------------------------------------------------------
    -- 매칭 대기열에 유저 등록이 완료되면 호출되는 이벤트에요.
    -- 대기열 등록에 실패하면 matchID가 반환되지 않습니다.
    local function MatchCallback(player, matchID, playerCount)
       -- playerCount는 등록한 시점 기준으로 반환돼요.
       print(player.Name, "MatchCallback", matchID, "에 등록된 유저 수 : ", playerCount)
       
       if matchID == nil or matchID == "" then
           return
       end
       
       -- 등록된 매칭 대기열 서버의 ID를 할당해요.
       player.MatchID = matchID
    end
    Game.OnAddMatchQueueEvent:Connect(MatchCallback)
    
    ------------------------------------------------------------------------------------------------------
    -- 대기열 인원/시간 충족하여 이동 가능 상황이 되면 이동 처리해요.
    local function MatchTeleportCallback(player)
       local playerID = player:GetPlayerID()
    
       -- 매칭 서버로 이동 처리
       Game:TeleportToMatchServer(playerID, player.MatchLandOrder, player.MatchID)
    end
    Game.OnMatchTeleportEvent:Connect(MatchTeleportCallback)
    
    ------------------------------------------------------------------------------------------------------
    -- 매칭 대기열에 등록된 유저를 제거하는 함수예요.
    function RequestRemoveMatch(player)        
        if not player:IsValidValue("MatchID") or player.MatchID == nil then
            print(player, "에게 MatchID가 없습니다.")
            
        else
    	-- 매칭 대기열에서 유저 제거
            Game:RemoveMatchQueue(player.MatchID, player)
        end
        
        player.MatchID = nil
        player.MatchLandOrder = nil
        print("------------------------------------")
    end

  • 외부 아바타 사용 방법 메뉴얼이 추가되었어요.

External Avatar

  • 메치메이킹 메뉴얼이 추가되었어요.

Matchmaking

  • 월드 이벤트 메뉴얼이 추가되었어요.

World Event

  • 웹에서유저데이터 & 리더보드를 관리하는 방법 메뉴얼이 추가되었어요.

Management UserData & Leaderboard

  • 채널 기능 메뉴얼이 추가되었어요.

Channel

  • 로그 기능 메뉴얼이 추가되었어요.

Collecting Game Logs

  • 대시보드 상점에 신규 아바타 의상이 추가되었어요!

    • 👩신규 헤어 8종, 👕신규 상의 23종, 👖신규 하의 18종, 🧤신규 장갑 7종, 👟신규 신발 11종, 🕶️신규 악세서리 16종, 👗신규 코스튬 7종이 추가 되었어요.

👩 헤어 

● 배트맨 헤어, 삼각김밥 헤어(빨강), 공용(남)(연금발), 공용(여)(검정), 뉴트로1(남)1(갈색), 양갈래머리(연갈색), 꽁지머리(그레이), 보헤미안 헤어2(애쉬+보라꽃)
👕 상의

● 여자 폴라티(레드), 일반복(여)셔츠1(연보라), 힙합3(블루&화이트), 맨투맨1(보라), 맨투맨3(연두), 뉴트로1(남성)(군청), 뉴트로1(남)(검정), 뉴트로1(남)(황토), 뉴트로1(남)(다크올리브그린), 노비복 상의(청록)
노비복 상의(오렌지), 하와이안(여)1 셔츠탑(파랑), 하와이안(여)1 셔츠탑(살몬핑크), 하와이안(여)2 볼레로(브라운), 하와이안(여)2 볼레로(오렌지), 하와이안(남)1 셔츠(레드), 하와이안(남)1 셔츠(화이트+스카이블루)
클래식 죄수복 상의, 모던 죄수복 상의, 하와이안(남)2 구명조끼(블랙), 하와이안(남)2 구명조끼(딥블루), 하와이안(남)2 구명조끼(옐로우), 하와이안(남)2 구명조끼(그린)
👖 하의

● 배트맨 타이즈(노랑), 힙합2 바지(여), 일자바지(갈색), 정장바지(빨강), 츄리닝바지(검정), 뉴트로1(남)면카고(연갈색), 뉴트로1(남)면카고(네이비),노비복 하의(검정), 하와이안(여)1 팬츠(회색), 하와이안(여)1 팬츠(아이보리), 하와이안(여)2 랩스커트(노랑)
하와이안(여)2 랩스커(하늘), 하와이안(남)1 스윔쇼츠(브라운), 하와이안(남)1 스윔쇼츠(스카이블루), 클래식 죄수복 바지, 모던 죄수복 바지, 하와이안(남)2 플라워쇼츠(블루), 하와이안(남)2 플라워쇼츠(오로라)
🧤 장갑

● 라지 패딩복 장갑(검정), 라지 패딩복 장갑(빨강), 배트맨 손(빨강 고무장갑), 일반 장갑2(블루&블랙), 하와이안(여)3 스마트워치(살몬), 하와이안(여)3 스마트워치(그린), 하와이안(여)3 스마트워치(퍼플)
👟 신발

● 배트맨 신발(파란 장화), FPS복 - 코트 신발1(황토), FPS복 - 코트 신발2(검정), 정장 구두(와인), 에어로빅 운동화(핑크), 에어로빅 운동화(보라), 일반 구두(남)(노랑), 뉴트로1(남) 스니커즈(멀티레드), 뉴트로1(남) 스니커즈(멀티퍼플)
뉴트로1(남) 스니커즈(화이트&블랙), 뉴트로1(남) 스니커즈(블랙&화이트) 
🕶️ 악세서리

● 벙거지모자, 노비 머리끈(검정), SF 헬멧(일반)(화이트), SF 헬멧(일반)(옐로우), 안경(레드), 원형 안경(화이트), 뿔테 안경(옐로우), 뱅글 선글라스, 방자고 선글라스, 뉴트로3(남) 선글라스(파랑), 뉴트로3(남) 선글라스(빨강), 병원 뱃지, 배트맨 망토, 바클1
뉴트로3(남) 자물쇠목걸이(실버), 뉴트로3(남) 자물쇠목걸이(골드)
👗 코스튬

● 곤룡포(군청), 곤룡포(초록), 곤룡포(파랑), 하와이안(여)3 전신 레쉬가드(블랙), 하와이안(여)3 전신 레쉬가드(핑크), 하와이안(남)3 전신 수영복(스카이블루), 하와이안(남)3 전신 수영복(오렌지)

  • 월드 내 ✳️환경 설정에서 화면을 💻[FullScreen]으로 변경 시 🖱️마우스 포인터가 정확한 위치 🎯에 위치하도록 수정되었어요.

  • 📲아이폰으로 월드 진입시 디토랜드 로고 및 로딩화면이 정상적으로 노출되도록 변경 되었어요.

  • 아이템 샵 🏬무료 아이템 하단에 “FREE” 표시가 잘 보이도록 수정되었어요.

  • 컨텐츠 리워드 팝업이 출력된 상태에서 채팅을 입력하고 종료하면 키보드🔠가 등장하지 않는 이슈가 수정되었어요.

  • 디토그룹 소통하기 답글 등록 시간(년/월/일) 📆이 반복 출력되지 않도록 수정 되었어요.

  • 클라이언트 스크립트에서 character:IsDie() 호출시 반환값이 사망 여부에 맞게 반환되도록 수정되었어요.

  • 네이버 & 카카오톡 ID를 통한 로그인 방식이 추가되었어요!

  • 이제 일반 계정으로도 채널을 만들 수 있어요!

    채널 기능을 사용해서 친구들과 함께 월드를 즐겨보세요. 👨🏼‍🤝‍👨🏻

  • 이제 디토룸의 체형 커스텀에서 슬라이더를 아래⬇️로 내리면 🥰귀여운 SD 체형으로 설정할 수 있어요.

  • 내 얼굴이나 AI가 생성한 이미지로 생성할 수 있는 외부 아바타🧑‍💼 기능이 추가되었어요. 친구들과 함께 자신의 얼굴로 생성한 외부아바타를 등록해서 월드를 더 재미있게 플레이해보세요! 아직 초기 단계이지만 차차 개선할 예정이니 기대해주세요! 👏 외부 아바타 등록 방법은 아래 메뉴얼을 참고해주세요.

    👉 메뉴얼 바로가기

  • 모바일에서 미니게임 3종을 할 수 있어요.

    • 디토랜드 앱에서 상단의 게임존 버튼을 통해, 게임존으로 이동해서 3종 게임을 할 수 있어요.

    • 스크레치 게임

      • 복권 처럼 스크레치를 긁어, 게임 당 동일한 그림이 2개가 나온다면 당첨입니다.

      • 아래에 있는 보너스 게임으로도 골드를 획득할 수 있어요.

    • 주사위 게임

      • 아래 주사위를 클릭해, 제시되는 숫자보다 주사위 합이 높은 숫자가 나온다면 당청입니다.

      • 라운드를 이길때마다 획득 가능한 골드가 증가합니다.

        단, 졌을 경우 골드를 모두 잃으니 주의해주세요.

    • 행운의 카드 게임

      • 아래 카드를 클릭하며 아래로 내려 카드를 오픈했을때, 제시된 카드와 동일하면 당첨입니다.

      • 낮은 확률로 전설의 카드가 나오며, 더 많은 골드를 얻을 수 있어요.

  • 🍯 랜드 로딩 화면의 배경 이미지를 변경 할 수 있는 기능이 추가되었어요.

    랜드 설정 페이지에서 이미지 등록 할수 있으며, png 형식과 4 MB 이하의 파일만 등록이 가능해요.

  • 월드 관리 페이지에 🕶️클라이언트 스크립트로 작성한 로그를 확인할 수 있는 기능이 추가되었어요!

    ① Player 로그 사용 여부를 활성화하면 월드 제작자에게 클라이언트 로그가 표시되요.

    1번이 활성화 된 상태에서 각 그룹별로 Player 로그 사용 여부를 활성하면 해당 그룹의 그룹원에게도 클라이언트 로그가 표시되요.

    Player 로그 사용 여부가 활성화된 월드에 접속하면 로그 표시 버튼이 노출돼요!

  • 월드 설정 페이지에 있던, 월드 데이터 관리 페이지의 위치가 변경되었어요.


Release Note 1.5.0 - Notice

업데이트 되는 💥새로운 기능들을 확인해 보세요.

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)가 되어 있어요 🤗

자세한 내용은 아래 Updates 내용을 확인해주세요!!

스크립트 변경점으로 인해, 기존 맵이 동작하려면 일부 내용이 수정되어야 해요 🙏

수정 방법은 아래 링크⏬를 참고해주세요!

1.5.0 Map Changes

  • 🍯 모바일 위젯을 추가할 수 있는 TouchUI 가 추가되었어요.

    👉 TouchUI 사용 방법은 해당 링크를 참고해주세요.

  • 이제 모바일 테스트 플레이에서 TouchUI 를 확인할 수 있어요. 📱

  • 🍯 테마 템플릿에 Farm이 추가되었어요.

  • 🍯 Text 위젯에 ‘외곽선’ 및 ‘그림자’를 설정할 수 있는 기능이 추가되었어요.

  • 스크립트에서 관련 속성에 접근할 수 있어요.

    local Text = Workspace.ScreenUI.Text 
    
    Text.IsEnableOutline = true                       -- 윤곽선 사용 여부를 설정해요.
    Text.OutlineColor = Color.new(255, 255, 255, 255) -- 윤곽선 색상을 변경해요.
    Text.OutlineThickness = 10                        -- 윤곽선 두께를 설정해요.
    Text.OutlineFillAlpha = false                     -- 윤곽선 안쪽을 색상으로 채울지 여부를 설정해요.
    ---------------------------------------------------------     
    Text.IsEnableShadow = true                        -- 그림자 사용 여부를 설정해요.
    Text.ShadowOffset = Vector.new(30, 30, 0)         -- 그림자 Offset 을 설정해요.
    Text.ShadowColor = Color.new(255, 255, 255, 255)  -- 그림자 색상을 변경해요.

  • 🍯 오브젝트를 스튜디오 카메라 앞으로 이동 시키는 기능이 추가되었어요. (단축키 : P)

  • 🍯 메쉬의 모양대로 콜리전을 생성하는 기능이 추가되었어요.

  • 🍯 테마 애니메이션 번들도 개별 애니메이션으로 사용할 수 있게 추가되었어요.

  • 새로운 액션 애니메이션이 추가되었어요!

  • CharacterSetting에 Cull Distance 설정 기능이 추가되었어요. (기본값은 false 입니다.)

  • 🍯 Environment에 하늘, 구름, 별의 텍스쳐를 바꿀 수 있는 기능이 추가되었어요!

  • 일정 거리 밖에서 생성된 이펙트가 가까이 접근했을 때 보이지 않던 현상이 수정되었어요

  • 🍯 이펙트 타입 5종 추가되었어요. (폭발(카툰), 버블, 라이트닝, 구체, 홀로그램)

  • 🍯 신규 재질(반투명 물, 커스텀, 반투명 커스텀)이 추가되었어요. 부하가 많이 걸리는 재질의 경우 (고부하) 표시가 생겼어요.

  • 선택한 오브젝트의 이름이 프로퍼티 창에 출력되도록 사용성이 개선되었어요.

  • 상품 구매 시 보유 재화가 부족하면, 바로 충전될 수 있도록 개선되었어요.

    • 부족한 재화가 골드와 마이크일 때는 크레딧으로 바로 충전할 수 있어요.

    • 부족한 재화가 크레딧일 때는 현금 결제 팝업이 표시됩니다.

  • 🍯 캐릭터의 점프, 이동 관련 프로퍼티가 변경 및 추가되었어요

    이와 관련된 기본값들이 CharacgerSetting > BaseSetting에 파라미터로 추가되었어요.

    • 점프의 횟수와 관련된 세부 수치를 조절할 수 있어요

      -- Server Script
      local function InitJumpCount(character)
          local player = character:GetPlayer()
           
          -- 총 점프 단계 설정
          character.JumpMaxCount = 3 --3단 점프 설정
           
          -- 점프 단계별 속도 설정
          local jumpSpeed = character:GetMaxJumpByStep(2) -- 2단계 속도 가져오기
          character:SetMaxJumpByStep(2, 1000)             -- 2단계 속도 설정
           
          -- 점프 단계별 공중 제어 정도 설정
          local flyControl = character:GetFlyControlByStep(2) -- 2단계 공중 제어값 가져오기
          character:SetFlyControlByStep(2, 0.5)               -- 2단계 공중 제어값 설정
      end
      Game.OnSpawnCharacter:Connect(InitJumpCount)
      
      ------------------------------------------------------------------------------------
      -- Client Script
      local function InitJumpCondition(character)
         local jumpStep = 2
      
         character:AddJumpStepCondition(jumpStep, function()
             local isCanJump = true
                    
             -- 2단계(jumpStep) 점프 사용 가능 조건 (ex : 점프 후 0.5초 이후라면)
             --     if someCondition then
             --         isCanJump = true
             --     end
              
             return isCanJump 
         end)
      end
      Game.OnSpawnCharacter:Connect(InitJumpCondition)

    • 이동 관련해서 세부적인 수치를 설정할 수 있어요.

      -- Server Script
      local function InitMove(character)
          local player = character:GetPlayer()
            
          -- 출발 가속도    
          character.Acceleration = 400                  -- 출발 가속도 값 설정
          local acceleration = character.Acceleration   -- 출발 가속도 값 반환
          print("Acceleration", acceleration)
            
          -- 정지 가속도    
          character.BrakingDecelerationWalking = 200                                -- 정지 가속도값 설정 
          local brakingDecelerationWalking = character.BrakingDecelerationWalking   -- 정지 가속도값 반환
          print("BrakingDecelerationWalking", brakingDecelerationWalking)
            
          -- 마찰력
          character.GroundFriction = 4                       -- 마찰력 설정값 설정
          local groundFriction = character.GroundFriction    -- 마찰력 설정값 반환
          print("GroundFriction", groundFriction)
            
          -- 회전 속도
          character.RotationSpeed = Vector.new(0, 0, 180)    -- 회전 속도값 설정
          local rotationSpeed = character.RotationSpeed      -- 회전 속도값 반환
          print("RotationSpeed", rotationSpeed)
          
          -- 중력 크기
          character.GravityScale = 0.3                    -- 캐릭터 중력 크기 설정
          local gravityScale = character.GravityScale     -- 캐릭터 중력 크기 반환
          print("gravityScale", gravityScale)
      end
      Game.OnSpawnCharacter:Connect(InitMove)

    • 캐릭터가 받을 중력 크기를 설정할 수 있어요.

      -- Server Script
      local function Change_GravityScale(self, character)
          if character == nil or not character:IsCharacter() then 
          	  return 
          end 
      	  
          character.GravityScale = 0.3                    -- 캐릭터 중력 크기 설정
          local gravityScale = character.GravityScale     -- 캐릭터 중력 크기 반환
          print("gravityScale", gravityScale)
      end
      Trigger.Collision.OnBeginOverlapEvent:Connect(Change_GravityScale)

    • 이동, 점프 관련된 함수들 중 변경되거나 추가된 함수들이 있어요.

      -- Server Script
      local function InitJump(character)
          local player = character:GetPlayer()
            
          local isEnableJump = true      -- 점프 활성화 여부
          local jumpStep = 3             -- 점프 단계
          local jumpSpeed = 600          -- 점프력
          local jumpFlyControl = 0.5     -- 공중 제어력
            
          --점프 여부 제어
          --character:JumpEnable(isEnableJump)  -- 변경 전 : 점프 기능 정지
          character:JumpEnable(isEnableJump)    -- 변경 후 : 모든 단계 점프 기능 정지    
      
          
          --점프력 설정
          --character:SetMaxJump(jumpSpeed)                 -- 변경 전 : 점프력 설정
          character:SetMaxJump(jumpSpeed)                   -- 변경 후 : 모든 단계 점프력 설정
          character:SetMaxJumpByStep(jumpStep, jumpSpeed)   -- 추가    : 특정 단계 점프력 설정
          
          --점프력 가져오기
          --local maxJump = character:GetMaxJump()          -- 변경 전 : 점프력 반환
          local maxJump = character:GetMaxJump()            -- 변경 후 : 1단계 점프력 반환
          print("maxJump", maxJump)
          local maxJump = character:GetMaxJump(jumpStep)    -- 추가    : 특정 단계 점프력 반환
          print(jumpStep, "maxJump", maxJump)
          
          
          --공중 제어력 설정
          --character:SetFlyControl(jumpFlyControl)                -- 변경 전 : 공중 제어력 설정
          character:SetFlyControl(jumpFlyControl)                  -- 변경 후 : 모든 단계 공중 제어력 설정
          character:SetFlyControlByStep(jumpStep, jumpFlyControl)  -- 추가    : 특정 단계 공중 제어력 설정  
          
          --공중 제어력 가져오기
          --local flyControl = character:GetFlyControl()           -- 변경 전 : 공중 제어력 반환 
          local flyControl = character:GetFlyControl()             -- 변경 후 : 1단계 공중 제어력 반환
          print("flyControl", flyControl)
          local flyControl = character:GetFlyControl(jumpStep)     -- 추가    : 특정 단계 공중 제어력 반환
          print(jumpStep, "flyControl", flyControl)               
      end
      Game.OnSpawnCharacter:Connect(InitJump)

  • 🍯 Swim ControlMode 가 추가되었어요. 🏊‍♀️

    카메라가 바라보는 방향으로 캐릭터가 이동하는 모드에요.

    --Server Script
    local function SpawnCharacter(character)
    		-- 캐릭터의 ControlMode 를 Swim 으로 변경해요.
        character:SetControlMode(Enum.ControlMode.Swim)
    end     
    Game.OnSpawnCharacter:Connect(SpawnCharacter)

    • BaseSetting 에 추가된 수영 관련 프로퍼티를 참고해주세요.

    • 바다 혹은 우주 월드 제작에 이용해보세요.

  • NPC의 ControlMode를 수정할 수 있게 기능이 추가되었어요.

    --서버 스크립트
    NPC:SetControlMode(Enum.ControlMode.Climb)
    print(NPC, "Current Control Mode : ", NPC:GetControlMode())

  • NPC의 캐릭터세팅, Base 세팅, 외형 세팅, 애니메이션 세팅을 변경하는 함수가 추가되었어요.

    --모두 서버 스크립트에서 사용해야 합니다.
    
    -- NPC 캐릭터 세팅 변경
    local settingObj = Workspace.CharacterSetting
    npc:ChangeCharacterSetting(settingObj) --해당 NPC의 캐릭터가 바로 변경돼요
    
    local settingObj = Workspace.CharacterSetting
    local useMyBody = true
    local isResetWhenRespawn = true
    npc:ChangeCharacterSetting(settingObj, useMyBody, isResetWhenRespawn) --해당 NPC의 캐릭터가 바로 변경돼요
    
    ------------------------------------------------------------------------------------------------------------------------
    -- NPC 캐릭터 Base 세팅 변경
    local settingObj = Workspace.CharacterSetting.BaseSetting
    npc:ChangeCharacterBaseSetting(settingObj) --해당 NPC의 캐릭터가 바로 변경돼요
    
    local settingObj = Workspace.CharacterSetting.BaseSetting
    local isResetWhenRespawn = true
    npc:ChangeCharacterBaseSetting(settingObj, isResetWhenRespawn) --해당 NPC의 캐릭터가 바로 변경돼요
    
    ------------------------------------------------------------------------------------------------------------------------
    -- NPC 캐릭터 외형 세팅 변경
    local settingObj = Workspace.CharacterSetting.AppearanceSetting
    npc:ChangeCharacterAppearanceSetting(settingObj) --해당 NPC의 캐릭터가 바로 변경돼요
    
    local settingObj = Workspace.CharacterSetting.AppearanceSetting
    local useMyBody = true
    local overwriteParts = true
    local isResetWhenRespawn = true
    npc:ChangeCharacterAppearanceSetting(settingObj, useMyBody, overwriteParts, isResetWhenRespawn) --해당 NPC의 캐릭터가 바로 변경돼요
    
    ------------------------------------------------------------------------------------------------------------------------
    -- NPC 캐릭터 애니메이션 세팅 변경
    local settingObj = Workspace.CharacterSetting.AnimationSetting
    npc:ChangeCharacterAnimationSetting(settingObj) --해당 NPC의 캐릭터가 바로 변경돼요  
    
    local settingObj = Workspace.CharacterSetting.AnimationSetting
    local isResetWhenRespawn = true
    npc:ChangeCharacterAnimationSetting(settingObj, isResetWhenRespawn) --해당 NPC의 캐릭터가 바로 변경돼요

  • NPC를 제어하는 함수가 추가되었어요.

    --모두 서버 스크립트에서 사용해야 해
    
    ------------------------------------------------------------------------------------------------------------------------
    -- 킬 & 리스폰
    npc:KillCharacter()    -- NPC 킬
    npc:RespawnCharacter() -- NPC 리스폰
    
    ------------------------------------------------------------------------------------------------------------------------
    -- 체크포인트
    npc:SetCheckPoint(checkPoint)          -- NPC 체크포인트 설정
    local checkPoint = npc:GetCheckPoint() -- 설정된 NPC 체크포인트 가져오기
    npc:RemoveCheckPoint()                 -- NPC 체크포인트 삭제
    
    ------------------------------------------------------------------------------------------------------------------------
    -- 특정 방향으로 value만큼 이동
    local dir = Vector.new(1, 1, 0)
    local value = 100
    npc:MoveDir(dir, value)
    
    ------------------------------------------------------------------------------------------------------------------------
    -- 이동 제어
    npc:SetEnableMovementControl(false)          -- NPC 이동 가능 여부 제어
    local state = npc:GetEnableMovementControl() -- NPC 이동 가능 여부 가져오기
    print(state)
    
    ------------------------------------------------------------------------------------------------------------------------
    -- NPC 기준으로 LineTrace
    local npc = Workspace.NPC
    local startPos = npc.Location
    local dir = npc.Transform:GetForward()
    local distance = 10000    
        
    local hitList = npc:LineTraceList(startPos, dir, distance)
    for i = 1, #hitList do
        print("name", hitList[i].HitObject.Name, "hit location", hitList[i].HitLocation) 
    end
    
    ------------------------------------------------------------------------------------------------------------------------
    -- NPC 기준으로 LineTrace (특정 충돌타입 대상)
    local ColTag = "CollisionTag1"
    Game:AddUserCollisionType(ColTag)
    Workspace.Cube.Collision:SetCollisionType(ColTag)
    
    local startPos = npc.Location
    local dir = npc.Transform:GetForward()
    local distance = 10000
    
    local hitList = npc:LineTraceList(startPos, dir, distance, ColTag)
    for i = 1, #hitList do
        print("name", hitList[i].HitObject.Name, "hit location", hitList[i].HitLocation) 
    end

  • 캐릭터 신체 부위 별로 물리 적용 여부를 설정할 수 있는, 랙돌 함수가 추가되었어요

--Server Script
local function SpawnCharacter(character)
    if character == nil then
          return
    end

    -- 캐릭터 특정 Bone 의 Ragdoll 을 On 할 수 있어요.
    -- Bone 중 Pelvis, Root 부위를 설정하면, 캐릭터 이동 조작을 할 수 없어요.
    character:SetCharacterRagdoll(Enum.Bone.Body)
    wait(3)

    -- Bone 인자 없이 사용하는 경우, 캐릭터 전체의 Ragdoll 을 On 할 수 있어요.
    character:SetCharacterRagdoll()
    wait(3)

    -- Ragdoll 이 된 캐릭터를 원래대로 되돌릴 수 있어요.
    character:ResetCharacterRagdoll()
end
Game.OnSpawnCharacter:Connect(SpawnCharacter)

  • 🍯 오브젝트에 순간적인 물리 충격을 가하는 AddImpulse 함수가 추가되었어요. (기존 함수 AddForce는 지속적인 물리 충격을 가할때 사용하세요.)

    local force = Vector.new(50000, 0, 0)
    toy.Physics:AddImpulse(force)

  • 캐릭터 진행 방향에 상관없이 힘을 가할 수 있는, LaunchCharacter 함수가 추가되었어요.

    • 아래 내용을 참고해서, 상황에 맞게 사용해주세요.

    • Character 객체에 사용된 AddForce 함수는, 캐릭터의 진행 방향에 따라 계산된 힘이 적용돼요.

      local force = Vector.new(0, 0, 10000)
      Character:AddForce(force)

    • LaunchCharacter 함수는, 캐릭터 진행 방향에 상관 없이 정해진 힘만큼 캐릭터에 적용돼요.

      local force = Vector.new(0, 0, 10000)
      Character:LaunchCharacter(force)

  • 캐릭터의 표정을 바꾸는 함수가 추가되었어요.

    local player = LocalPlayer:GetRemotePlayer()
    local character = player:GetCharacter()
    
    local faceDuration = 5 --표정 출력 시간
    character:PlayFaceExpression("Wink", faceDuration) --표정을 실행해요.
    wait(2)
    
    character:StopFaceExpression() --실행한 표정을 취소해요.
    wait(2)
    
    local faceDuration = 20 --표정 출력 시간
    local inFaceLoop = false --표정 무한 실행 여부
    character:ChangeAnimStateWithFace("Sit", "Wink", faceDuration, inFaceLoop) --캐릭터 애니메이션(Sit)과 표정을 동시에 변경해요.
    
    -- 사용할 수 있는 표정 목록 
    --[[
    	SimplyCloseBothEyes 눈 감기
    	Wink                윙크
    	StickOutTongue      메롱
    	Curious             의심
    	Fearless            겁없는
    	Kiss                키스
    	Interested          관심있는
    	BigSmile            큰 웃음
    	Laugh               눈물 나게 웃긴
    	Excited             신이 난
    	JoyfulSmile         즐거운
    	SimpleSmile         옅은 미소
    	Confident           당당한
    	Relief              안도
    	Melancholy          우울한
    	Cry                 울음
    	Angry               화난
    	Discomfort          불편한
    	Rage                분노
    	Scared              두려운
    	Panic               패닉
    	SimplySurprised     약간 놀란
    	Amazed              놀라운
    	Frightened          겁먹은
    	Pain                고통
    	Ache                아픈
    	Distress            슬픈
    ]]--

  • 🍯 로그를 기록할 수 있는 함수가 추가되었어요.

    • 월드에 접속한 플레이어들의 행동 데이터를 수집해서, 지표 및 밸런싱에 활용할 수 있어요.

      • ex) 플레이어가 재화를 어디에 얼만큼 소비했는지 기록

    • ServerScript 에서는 SaveLog 함수를, ClientScript 에서는 SaveMyLog 함수를 사용해요.

      -- ServerScript
      local function SaveLogData(player, value) 
          local playerID = player:GetPlayerID() 
          
          local dataKey = "Gold"                   -- 기록할 로그의 데이터 키에요.
          local index_1 = 1                        -- 기록할 로그의 1번 인덱스에요. 데이터 키의 하위 정보를 기록하고 싶다면 사용하고, 생략할 수도 있어요.
          local index_2 = 1000                     -- 기록할 로그의 2번 인덱스에요. 데이터 키의 하위 정보를 기록하고 싶다면 사용하고, 생략할 수도 있어요.       
          
          Game:SaveLog(dataKey, playerID, value)
          Game:SaveLog(dataKey, index_1, playerID, value)
          Game:SaveLog(dataKey, index_1, index_2, playerID, value)
      end     
      Game:ConnectEventFunction("SaveLogData", SaveLogData)
      -- ClientScript
      local function SaveLogData(value)
          local dataKey = "Gold"                   -- 기록할 로그의 데이터 키에요.
          local index_1 = 1                        -- 기록할 로그의 1번 인덱스에요. 데이터 키의 하위 정보를 기록하고 싶다면 사용하고, 생략할 수도 있어요.
          local index_2 = 1000                     -- 기록할 로그의 2번 인덱스에요. 데이터 키의 하위 정보를 기록하고 싶다면 사용하고, 생략할 수도 있어요.        
          
          Game:SaveMyLog(dataKey, value)
          Game:SaveMyLog(dataKey, index_1, value)
          Game:SaveMyLog(dataKey, index_1, index_2, value)
      end     

    • 기록된 로그 데이터는, 월드 관리 > 월드 설정 > 로그 데이터 관리 페이지에서 CSV 로 다운로드 📥 할 수 있어요.

  • 대시보드 상점에 신규 아바타 의상이 추가되었어요!

    • 👩신규 헤어 9종, 👕신규 상의 21종, 👖신규 하의 18종, 🧤신규 장갑 8종, 👟신규 신발 10종, 🕶️신규 악세서리 2종, 👗신규 코스튬 2종이 추가 되었어요.

👩 헤어 

● 바람 머리, 레이디가가 단발(보라, 연두), 아이돌 펌(아이보리), 아이돌 펌(살구색), 샤기컷(브라운), 샤기컷(금발), 양갈래 헤어, 앞 가르마 헤어(파랑), 앞 가르마 헤어(검정)
👕 상의

● 강시 상의, 좀비 상의(그레이), 줌비 상의(퍼플), 드라큘라 롱 자켓, 여사제 상의(블랙), 여사제 상의(블루), 강시 상의(퍼플), 롱 패딩(녹색), 롱 패팅(핑크), 여자 정방(검정), 여자 정장(화이트), 롱 코트(갈색), 롱 코트(검정), 
FPS 점퍼(남색), FPS 점퍼(얼룩), FPS 강화복, 츄리닝(핑크), 소방관 상의(오렌지), 소방관 상의(빨강), 경찰 정복(남), 경찰 정복(여), 프랑켄슈타인 상의(블랙)
👖 하의

● 갈색 바지, 핑크색 바지, 군복 하의(갈색), 군복 치마(올리브), 군복 치마(화이트), FPS 강화복 바지, 군복 권총 바지, 소방관 하의(오렌지), 소방관 하의(레드), 뉴트로 카고 바지(베이지), 붐 바지(진베이지), 경찰복 스커트, 드라큘라 팬츠,
드라큘라 골드체인 팬츠, 여사제 하의(블랙), 여사제 하의(블루), 프랑켄슈타인 하의, 강시 하의(퍼플)
🧤 장갑

● 사제복 장식(화이트), 사제복 장식(퍼플), 드라큘라 장갑(레드), 드라큘라 장갑(블랙), 여사제 장갑(블랙), 여사제 장갑(블루), 프랑켄슈타인 수갑, 메이드 천 장갑
👟 신발

● 장화(검정), 패딩 신발(검정), 패딩 신발(핑크), 군화(갈색), 군화(옅은 갈색), 군화(남색), 고어텍스 군화, FPS 강화 신발, 농구화(검정), 소방관 부츠
🕶️ 악세서리

● 하트 귀걸이(핑크), 하트 귀걸이(민트)
👗 코스튬

● 사제복(화이트), 사제복(퍼플)

  • 채널 기능이 추가되었어요. 👯‍♀️

    • 비밀번호를 설정해서, 원하는 사람만 입장할 수 있도록 할 수 있어요.

    • 내 채널은 월드 당 한개 씩 생성할 수 있어요.

  • 유저 데이터 및 리더보드 데이터를, 월드 설정 페이지에서 확인할 수 있게 되었어요. 🤩

    • CSV 파일로 추출할 수 있어요. 📥

    • 유저 데이터는 월드가 비공개 상태일 때 값을 수정 ✏ 할 수 있어요.

  • 일부 플레이스가 유지 보수로 인해 비공개 처리되었습니다. 😴 더 나은 모습으로 돌아올게요. ✨


Release Note 1.3.0 - Notice

업데이트 되는 💥새로운 기능들을 확인해 보세요.

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)가 되어 있습니다. 🤗

자세한 내용은 아래 Updates 내용을 확인해주세요!!

  • 🍯 샘플맵🧺이 추가되었어요!

    • FindWidgets.RMO - 특정 타입의 위젯을 모두 가져오는 예제에요.

  • 오브젝트 별 그림자 적용을 제어할 수 있는 CastShadow 기능이 추가되었어요.

    • 랜더 > CastShadow에서 설정할 수 있어요.

  • 거리별로 컬링할 수 있는 Cull Distance에 직접 값을 넣어 제어할 수 있어요.

    • Auto Distance를 체크 해제 후, Manual Disatance에서 거리를 조절할 수 있어요.

  • 🍯 위젯 드래그 & 드랍 이벤트가 추가되었어요.

    local ScreenUI = Workspace.ScreenUI
    local DragWidget = ScreenUI.Slot
    local DropArea = ScreenUI.ScrollBox
    
    -- 드래그 시작시
    local function BeginDrag(self, position)
        print(self.Name, " BeginDragEvent!")
        print(self.Name, " BeginPosition : ", position)
    end
    DragWidget.OnBeginDragEvent:Connect(BeginDrag)  -- 드래그 시작시 호출 이벤트 연결
    
    -- 드래그 취소시
    local function CancelDrag(self, position)
        print(self.Name, " CancelDragEvent!")
        print(self.Name, " CancelPosition : ", position)
    end
    DragWidget.OnCancelDragEvent:Connect(CancelDrag) -- 드래그 취소시 호출 이벤트 연결
        
    
    -- 드래그 상태에서 표시할 위젯 설정
    DragWidget:SetDragWidget(DragWidget)                    -- 드래그 이벤트 발생시 복제해서 표시할 위젯을 설정 (미사용시 생략 가능)
    DragWidget:SetDragOffset(Enum.WidgetAnchorType.LeftTop) -- 복제 위젯에 앵커 적용 (미사용시 생략 가능)
    
    				
    -- 드랍시
    local function EndDrag(self, position, dragWidget)
        print(self.Name, " DropEvent : ", dragWidget.Name)
        print(self.Name, " DropPosition : ", position)
    
        dragWidget:SetParentUIWidget(self) -- 부모 위젯 변경
    end
    DropArea.OnEndDragEvent:Connect(EndDrag) -- 드랍 이벤트 연결 
                                             -- (이벤트가 연결된 객체의 자식은 모두 Interaction이 꺼져있어야 합니다.)

  • 남은 쿠폰에 대한 기능이 추가되었어요.

    local function DoGetRemainCouponCount(player, count)
        print("Remain Coupon Count : ", count)    
    end
    player:GetRemainCouponCount(couponName, DoGetRemainCouponCount) -- 남은 쿠폰의 수량 반환 요청
    
    local function DoUseRemainCoupon(player, couponReturnData)
        print("Use Callback")
    
        local state = couponReturnData.State           --쿠폰의 상태
        local couponType = couponReturnData.CouponType --쿠폰의 보상 종류
        local result = couponReturnData.Result         --쿠폰 사용 결과
    
        --쿠폰 상태 및 보상
        if state == Enum.CouponState.Wait then
            print("쿠폰 상태 : 대기")
        elseif state == Enum.CouponState.Doing then
            print("쿠폰 상태 : 진행")
        elseif state == Enum.CouponState.Stop then
            print("쿠폰 상태 : 중지")
        elseif state == Enum.CouponState.End then
            print("쿠폰 상태 : 종료")
        end
        print("쿠폰 보상 타입 : ", couponType)
    
        --쿠폰 사용 결과가 Success이면  
        if result == Enum.CouponResult.Success then
            print("쿠폰을 사용했습니다!")    
    
            if couponType == "Gold" then
                print("Get Gold!!!!")
            end
          
        --쿠폰 사용 결과가 Exist이면
        elseif result == Enum.CouponResult.Exist then
            print("이미 사용한 쿠폰입니다!")         
    
        --이외에는
        else
            print("유효하지 않은 쿠폰입니다!")
        end
    end
    player:UseRemainCoupon(couponName, DoUseRemainCoupon) -- 남은 쿠폰 사용 요청

  • 최적화 메뉴얼에 '오브젝트 그림자 안보이게 하는 방법'이 추가되었어요.

    메뉴얼 바로가기 👉

  • 쿠폰 메뉴얼에 '남은 쿠폰 사용 처리 방법'이 추가되었어요.

    메뉴얼 바로가기 👉

  • 대시보드 상점에 신규 아바타 의상이 추가되었어요!

    • 👩신규 헤어 8종, 👕신규 상의 23종, 👖신규 하의 18종, 🧤신규 장갑 7종, 👟신규 신발 11종, 🕶️신규 악세서리 16종, 👗신규 코스튬 7종이 추가 되었어요.

👩 헤어 

● 배트맨 헤어, 삼각김밥 헤어(빨강), 공용(남)(연금발), 공용(여)(검정), 뉴트로1(남)1(갈색), 양갈래머리(연갈색), 꽁지머리(그레이), 보헤미안 헤어2(애쉬+보라꽃)
👕 상의

● 여자 폴라티(레드), 일반복(여)셔츠1(연보라), 힙합3(블루&화이트), 맨투맨1(보라), 맨투맨3(연두), 뉴트로1(남성)(군청), 뉴트로1(남)(검정), 뉴트로1(남)(황토), 뉴트로1(남)(다크올리브그린), 노비복 상의(청록)
노비복 상의(오렌지), 하와이안(여)1 셔츠탑(파랑), 하와이안(여)1 셔츠탑(살몬핑크), 하와이안(여)2 볼레로(브라운), 하와이안(여)2 볼레로(오렌지), 하와이안(남)1 셔츠(레드), 하와이안(남)1 셔츠(화이트+스카이블루)
클래식 죄수복 상의, 모던 죄수복 상의, 하와이안(남)2 구명조끼(블랙), 하와이안(남)2 구명조끼(딥블루), 하와이안(남)2 구명조끼(옐로우), 하와이안(남)2 구명조끼(그린)
👖 하의

● 배트맨 타이즈(노랑), 힙합2 바지(여), 일자바지(갈색), 정장바지(빨강), 츄리닝바지(검정), 뉴트로1(남)면카고(연갈색), 뉴트로1(남)면카고(네이비),노비복 하의(검정), 하와이안(여)1 팬츠(회색), 하와이안(여)1 팬츠(아이보리), 하와이안(여)2 랩스커트(노랑)
하와이안(여)2 랩스커(하늘), 하와이안(남)1 스윔쇼츠(브라운), 하와이안(남)1 스윔쇼츠(스카이블루), 클래식 죄수복 바지, 모던 죄수복 바지, 하와이안(남)2 플라워쇼츠(블루), 하와이안(남)2 플라워쇼츠(오로라)
🧤 장갑

● 라지 패딩복 장갑(검정), 라지 패딩복 장갑(빨강), 배트맨 손(빨강 고무장갑), 일반 장갑2(블루&블랙), 하와이안(여)3 스마트워치(살몬), 하와이안(여)3 스마트워치(그린), 하와이안(여)3 스마트워치(퍼플)
👟 신발

● 배트맨 신발(파란 장화), FPS복 - 코트 신발1(황토), FPS복 - 코트 신발2(검정), 정장 구두(와인), 에어로빅 운동화(핑크), 에어로빅 운동화(보라), 일반 구두(남)(노랑), 뉴트로1(남) 스니커즈(멀티레드), 뉴트로1(남) 스니커즈(멀티퍼플)
뉴트로1(남) 스니커즈(화이트&블랙), 뉴트로1(남) 스니커즈(블랙&화이트) 
🕶️ 악세서리

● 벙거지모자, 노비 머리끈(검정), SF 헬멧(일반)(화이트), SF 헬멧(일반)(옐로우), 안경(레드), 원형 안경(화이트), 뿔테 안경(옐로우), 뱅글 선글라스, 방자고 선글라스, 뉴트로3(남) 선글라스(파랑), 뉴트로3(남) 선글라스(빨강), 병원 뱃지, 배트맨 망토, 바클1
뉴트로3(남) 자물쇠목걸이(실버), 뉴트로3(남) 자물쇠목걸이(골드)
👗 코스튬

● 곤룡포(군청), 곤룡포(초록), 곤룡포(파랑), 하와이안(여)3 전신 레쉬가드(블랙), 하와이안(여)3 전신 레쉬가드(핑크), 하와이안(남)3 전신 수영복(스카이블루), 하와이안(남)3 전신 수영복(오렌지)

  • 월드 내 ✳️환경 설정에서 화면을 💻[FullScreen]으로 변경 시, 🖱️마우스 포인터가 정확한 위치 🎯에 위치하도록 수정되었어요.

  • 📲아이폰으로 월드 진입시 디토랜드 로고 및 로딩 화면이 정상적으로 노출되도록 변경되었어요.

  • 아이템 샵 🏬무료 아이템 하단에 “FREE” 표시가 잘 보이도록 수정되었어요.

  • 컨텐츠 리워드 팝업이 출력된 상태에서 채팅을 입력하고 종료하면 키보드🔠가 등장하지 않는 이슈가 수정되었어요.

  • 디토 그룹 소통하기 답글 등록 시간(년/월/일) 📆이 반복 출력되지 않도록 수정되었어요.

  • 클라이언트 스크립트에서 character:IsDie() 호출시 반환값이 사망 여부에 맞게 반환되도록 수정되었어요.

  • 디토랜드 앱에 한글/영어 언어 변경 기능이 추가되었어요. ✨ 마이디토 설정 메뉴에서 확인 하실 수 있습니다.


Release Note 1.2.0 - Notice

업데이트 되는 💥새로운 기능들을 확인해 보세요.

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)가 되어 있습니다. 🤗

자세한 내용은 아래 Updates 내용을 확인해주세요!!

스크립트 변경점으로 인해, 기존 맵이 동작하려면 일부 내용이 수정되어야 합니다. 🙏

수정 방법은 아래를 링크를 참고해주세요!

1.2.0 Map Changes

💥 디토랜드를 오랜만에 찾아주셨다면 아래와 같은 창이 출력될 수 있어요!

  1. 디토랜드 설치 경로에 TestSetting.txt 파일이 있다면 삭제해주세요.

  2. 홈페이지에서 디토랜드를 다시 한번 설치해주세요. 👉 설치하러 가기

  • 🍯 새로운 토이🚗가 추가되었어요.

    StopWatch_Leaderboard / SuperJumpToy / ThornToy / StaminaSystem 토이가 추가되었어요.

    🚀 ToyRoom 월드에서 체험해볼 수 있어요.

    🚀 Resources 메뉴얼에서 토이의 활용 방법을 확인해보세요!

  • 🍯 테마 템플릿에 🌃 School, IceWorld가 추가되었어요.

  • 비주얼 스크립트와 비주얼 스크립트 템플릿이 일반 계정 대상으로 공개되었어요!

  • 🍯 UI 에디터의 🖱️마우스 동작이 개선되었어요.

    • 왼쪽 클릭으로만 에디터에서 UI 객체를 선택할 수 있게 되었어요.

    • 마우스 위치에 UI 객체 유무와 관계 없이 오른쪽 마우스 드래그로 UI 에디터 내 프레임 위치를 이동할 수 있어요.

    • 여러 개의 UI 객체 사이즈를 한번에 조절할 수 있어요.

  • 툴박스 / 월드 퍼블리시에, 특수문자 검색할 수 없도록 변경되었어요.

    • 툴박스 / 월드 퍼블리시에서 토이 및 월드 검색 시, 특수 문자 사용이 불가해요.

    • 단, 업로드엔 특수문자 사용이 가능합니다.

  • 🍯 Log 함수로 출력하는 메시지💬들은 초록색🟢으로 출력되게 변경되었어요.

  • 머터리얼 업데이트 시 팝업이 출력되도록 개선되었어요.

    • 단, 업데이트 시 Undo, Redo가 안되기에 머터리얼 업데이트 시 유의해야 해요.

  • 모바일에서 프레임 제한 옵션이 추가되었어요.

  • 🍯 특정 타입의 위젯을 모두 반환하는 FindWidgets 클라이언트 함수가 추가되었어요.

    local widgetList = Game:FindWidgets(Workspace, Enum.UIWidgetType.Text)
    
    for i = 1, #widgetList do --리스트앞에 #을 붙여 리스트의 길이를 가져올 수 있어요.
        print("Text : ", widgetList[i].Name)
    end
    
    print("----------------------------")
    local widgetList = Workspace.ScreenUI:FindWidgets(Enum.UIWidgetType.Button)
    
    for i = 1, #widgetList do --리스트앞에 #을 붙여 리스트의 길이를 가져올 수 있어요.
        print("Button ", widgetList[i].Name)
    end

  • 🍯 위젯 객체에 OnVisibleEvent, OnInVisibleEvent 이벤트가 추가되었어요.

    local function VisibleEvent(self)
        print(self .. " Visible!")
    end
    Frame.OnVisibleEvent:Connect(VisibleEvent)
    
    local function InVisibleEvent(self)
        print(self .. " InVisible!")
    end
    Frame.OnInVisibleEvent:Connect(InVisibleEvent)

  • 🍯 ScrollBox, InventoryBox, ListView 위젯의 스크롤바를 제어하는 함수가 추가되었어요.

    ScrollBox:SetScrollBarValue(1) -- 0이면 가장 위, 1이면 가장 아래로 이동해요.
    print(ScrollBox_v:GetScrollBarValue())

  • 텍스트 채팅 채널도 구분할 수 있게 되면서 함수가 추가되고, 음성 채팅 채널을 구분하는 함수가 변경되었어요.

    
    -- 텍스트 채팅 채널
        -- 추가 함수
        LocalPlayer:JoinTextChannel("ChannelName") -- 텍스트 채팅 채널 입장
        LocalPlayer:LeaveTextChannel("ChannelName") -- 텍스트 채팅 채널 퇴장
    
    -- 음성 채팅 채널
        -- 삭제되는 기존 함수
        LocalPlayer:JoinChattingChannel("ChannelName") -- 음성 채팅 채널 입장
        LocalPlayer:JoinChattingChannel2D("ChannelName") -- 음성 채팅 채널 입장
        LocalPlayer:LeaveChattingChannel("ChannelName") -- 음성 채팅 채널 퇴장
    
        -- 변경 함수
        LocalPlayer:LeaveTextChannel("ChannelName") -- 음성 채팅 채널 퇴장
    
    -- Mute 관련 함수
        -- 삭제되는 기존 함수
        LocalPlayer:MuteVoiceChat("ChannelName") -- 음성 채팅 Mic 활성화
        LocalPlayer:UnmuteVoiceChat("ChannelName") -- 음성 채팅 Mic 비활성화
    
        -- 변경 함수
        LocalPlayer:ActiveVoiceMic(true) -- 음성 채팅 Mic 활성화
        LocalPlayer:ActiveVoiceMic(false) -- 음성 채팅 Mic 비활성화

  • 방향 벡터를 반환하는 함수가 추가되었어요.

    local Zero = Vector.zero()
    local One = Vector.one()
    local Forward = Vector.forward()
    local Right = Vector.right()
    local Up = Vector.up()
    
    print("Vector Zero : ", Zero)
    print("Vector One : ", One)
    print("Vector Forward : ", Forward)
    print("Vector Right : ", Right)
    print("Vector Up : ", Up)

  • 벡터를 복제해서 반환하는 Clone 함수가 추가되었어요.

    local Vector1 = Vector.new(100, 100, 100)
    
    local NewVector = Vector1:Clone(Vector1)
    print("Clone Vector : ", NewVector)

  • 벡터와 숫자간의 더하기, 빼기, 나누기 연산자가 추가되었어요.

    local Vector1 = Vector.new(100, 100, 100)
    local Number = 10
    
    local Result1 = Vector1 + Number
    print("Vector + Number : ", Result1)
    
    local Result2 = Vector1 - Number
    print("Vector - Number : ", Result2)
    
    local Result3 = Vector1 / Number
    print("Vector / Number : ", Result3)
    
    local Result4 = Vector1 / 0
    print("Vector / 0 : ", Result3) --0으로는 나눌 수 없어요.

  • 벡터 크기를 제한하거나, 사이각을 구하거나, 회전하는 함수가 추가되었어요.

    local Vector1 = Vector.new(100, 100, 100)
    Vector1:SizeLimit(50) --벡터의 크기를 제한해요.
    print("Size Limit : ", Vector1)
    
    local Vector2 = Vector.new(100, 0, 100)
    local Vector3 = Vector.new(0, 100, 100)
    local SignedAngle = Vector2:SignedAngle2D(Vector3) --두 벡터간의 사이각을 반환해요. (음수 포함)
    print("SignedAngle2D : ", SignedAngle)
    
    local RotateX = Vector1:RotateAxisX(10) --X축을 고정으로 회전한 벡터를 반환해요.
    print("RotateAxisX : ", RotateX)
    
    local RotateY = Vector1:RotateAxisY(10) --Y축을 고정으로 회전한 벡터를 반환해요.
    print("RotateAxisY : ", RotateY)
    
    local RotateZ = Vector1:RotateAxisZ(10) --Z축을 고정으로 회전한 벡터를 반환해요.
    print("RotateAxisZ : ", RotateZ)

  • 용어사전이 추가되었어요.

  • 오브젝트 메뉴얼이 추가되었어요.

  • 좌표 메뉴얼이 추가되었어요.

  • 최적화 메뉴얼에 UI 내용이 추가되었어요.

👩 헤어
● 여자 기본 머리 (라일락), 삼각 김밥 헤어 (브라운), 미디움 C컬펌 (브라운), 로우 포니테일 (핑크), 공용(남) (그레이), 뉴트로 1(남) 1 (진갈색), 뉴트로 1(남) 1 (흑갈색), 아웃컬 헤어 (핑크), 양갈래 머리 (핑크), 보헤미안 헤어2 (브라운, 흰 꽃), 보헤미안 헤어2 (연보라, 핑크 꽃)
👕 상의

● 후드티 & 자켓 (남성), 유니크 자켓(여성), 맨투맨 (화이트&블루), 긴 팔 셔츠, FPS복 - 밀리터리룩1 (회색), FPS복 -(여)밀리터리룩2 (검정), 힙합1(여)-후드 스타일, 맨투맨 (흰색), 맨투맨 (핑크), 긴 팔 셔츠 (브라운), 노비복 상의, 
응답하라 교복 자켓 (네이비), 노비복 상의 (빨강), 기장 정복 (남색), 언발 나시 크롭 후디(블루), 언발 나시 크롭 후디(다크레드), 니트 조끼 레이어드 티 (화이트 옐로우), 니트 조끼 레이어드 티 (살몬 퍼플), 하와이안 볼레로 (흰색),
하와이안 볼레로 (베이지), 하와이안 셔츠 (블루)
👖 하의

● 정장 바지 (청색), 정장 바지 (아이보리), 정장 바지 (파랑), 정장 치마 (흰색), 힙합1 치마, 힙합3 바지, 힙합4 바지, 일자 바지 (노랑), 일자 바지 (브라운), 츄리닝 바지 (핑크), 츄리닝 바지 (녹색), 신동엽 바지 (검정), 스튜어디스 스커트 (화이트),
스튜어디스 스커트 (브라운), 기장 정복 하의 (남색), 하와이안1 팬츠 (갈색), 하와이안1 팬츠 (파랑), 하와이언2 랩스커트 (오렌지)
🧤 장갑

● 여자 유니크 장갑, 로맨틱 남자 팔찌 (로즈골드), 보헤미안 구슬 가죽 팔찌 (파랑), 보헤미안 구슬 가죽 팔찌 (갈색), 보헤미안 구슬 가죽 팔찌 (흰색)
👟 신발

● 트래킹 운동화 (파란, 붉은), 에어로빅 운동화 (노랑), 힙합신발3 (갈색), 츄리닝 운동화 (회색), 츄리닝 운동화 (핑크), 츄리닝 운동화 (연두), 드레스 구두, 임금님 신발
🕶️ 악세서리

● 뉴트로1 볼캡 (자주), 뉴트로1 볼캡 (채도 낮은 파랑), 익선관, 노비 머리끈 (빨강), 클래식 죄수 모자, 귀걸이, 안경, 안경-원형, 안경-뿔테, 썬글라스-별모양, 썬글라스-무당벌레, 뉴트로03 썬글라스 (노랑), 뉴트로03 썬글라스 (스카이블루),
탱구 수염, 해리포터 뱃지, 배트맨 버클, 체인 목걸이 (금)
👗한벌 옷

● 곤룡포 (빨강), 미이라 바디

  • 클라이언트 스크립트에서 character:IsDie() 호출시 반환값이 사망 여부에 맞게 반환되도록 수정되었어요.

  • 디토랜드 앱에 한글/영어 언어 변경 기능이 추가되었어요. 마이디토 설정 메뉴에서 확인 하실 수 있습니다.

  • 노래방 기능이 추가되었어요.

    • 실제 노래방 처럼, 디토랜드에서 노래를 예약하고 부를 수 있어요.

    • 음성 기능 장치 (마이크)가 반드시 필요해요.

    • 노래방은 마이크 재화를 사용하여 이용할 수 있어요. 마이크는 럭키박스 또는 충전을 통해 얻을 수 있어요.

  • 노래방 기능이 포함된 플레이스가 3종 추가되었어요.

    • 케이팝무대

    • 라이브카페

    • 야외콘서트장

Release Note 1.1.2 - Notice

안녕하세요. 디토랜드 개발팀입니다.

다음 사항들이 개선되었으니 확인해보세요. 🤗

  • 스튜디오에서 카메라테스트 플레이 시, WASD를 이용한 이동이 불가능한 문제가 수정되었어요.

-----------------------------------------------------------------------------------------------------

Release Note 1.1.0 - Notice

업데이트 되는 💥새로운 기능들을 확인해 보세요.

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)가 되어 있습니다. 🤗

자세한 내용은 아래 Updates 내용을 확인해주세요!!

  • 🍯 스튜디오에서 테스트 플레이를 할 때 스크립트 에디터✏️가 꺼지지 않게 수정되었어요. (읽기 전용으로 표시돼요.)

  • 스튜디오에서 트랜스폼(위치/회전/크기) 값을 공간 타입별로 🕶️확인할 수 있도록 기능이 추가되었어요.

    • 객체📦를 선택 후, 프로퍼티 창의 각 트랜스폼 프로퍼티에서 오른쪽 마우스🖱️ 클릭하면, 관련 팝업을 확인할 수 있어요.

    • 파일의 ⚒️’공간타입 초기화’ 메뉴를 이용해, 월드 내 모든 객체에 설정된 공간 타입을 초기화⚙️할 수 있어요.

  • 🍯 스크립트 에디터에서 오브젝트 타입에 따른 📚자동 완성 기능이 추가되었어요.

  • 🍯 스크립트 에디터에서 함수가 정의된 부분은 다른 색상🎀으로 표시돼요.

  • 스크립트 에디터에서 선택한 🚩탭 구분이 명확하도록 표시 색상이 개선되었어요.

  • 🍯 위젯을 추가할 때, UI위치 및 UIAlignment 의 🏗️초기 값이 변경되었어요.

  • 🍯 네온 재질에서 알파 텍스쳐🖼️를 사용할 수 있게 개선되었어요.

  • 💡SpotLight와 🔦PointLight의 AttenuationRadius 단위가 cm 단위로 통일✨되었어요.

  • 🍯 월드 트리 🔍검색 필터에서 논리 연산자를 간편하게 사용할 수 있도록 🧩논리 연산자 항목이 추가되었어요.

  • 테마 템플릿에 🌃Town이 추가되었어요.

  • SpreadSheet 에서 Shift + Enter 를 이용해 줄바꿈🧾이 가능하도록 개선되었어요.

  • 🍯 ScreenUI의 프로퍼티에 📐UI 해상도 대응 기능이 추가되었어요. 기준 해상도(ReferenceResolution)와 게임의 화면 방향(가로/세로)에 맞춰 ScreenMatchType을 설정하면, 📱실행 기기의 해상도에 맞춰 UI가 보정돼요. (💻기준 해상도는 1920x1080을 권장해요.)

  • UI 에디터에 UI 개별 적용 옵션🔩이 추가되었어요. UI 개별 적용을 해제하면 UI 에디터에서 📺선택한 해상도가 모든 UI에 적용이 돼요. (UI 개별 적용을 ✔️활성화하면 각 UI 별로 해상도를 따로 사용해요.)

  • 🍯 최근 파일 열기 기능이 추가되었어요.

    • 이제 최근 열었던 파일을 확인하고 바로 열 수 있어요.

    • 로컬 파일과 내 랜드 하위 탭으로 구분돼요.

    • 최근 열었던 파일의 정보 표시를 누를 경우, 파일의 정보(마지막 열었던 날짜, 파일 경로 등)을 알 수 있어요.

  • 🍯 벡터 값을 부정으로 만드는 단항 - 연산자🎲가 추가되었어요.

    local vector = Vector.new(200, 0, 150)
    print(-vector)

  • 🍯 Color🎨를 문자열로 변환하는 ToString 함수가 추가되었어요.

    local color = Color.new(255, 0, 0, 255)
    print("Color : " .. color:ToString())

  • 🍯 Vector⛳를 문자열로 변환하는 ToString 함수가 추가되었어요.

    local vector = Vector.new(300, 0, 300)
    print("Vector : " .. vector:ToString())

  • ⛳Vector의 내적값, 외적값, 거리값, 거리 제곱값, 사이각, 반사각을 구하는 🛒함수가 추가되었어요.

    local vector = Vector.new(300, 0, 300)
    
    --Vector:Dot(vector othervector) : othervector 와의 내적값을 리턴
    local otherVector = Vector.new(600, 0, 300)
    local result = vector:Dot(otherVector)
    print("Vector:Dot : ", result)
    
    --Vector:Cross(vector othervector) : othervector 와의 외적값을 리턴
    local otherVector = Vector.new(600, 0, 300)
    local result = vector:Cross(otherVector)
    print("Vector:Cross : ", result)
    
    --Vector:Distance(vector othervector) : othervector 와의 거리값을 리턴
    local otherVector = Vector.new(600, 0, 300)
    local result = vector:Distance(otherVector)
    print("Vector:Distance : ", result)
    
    --Vector:SqrDistance(vector othervector) : othervector 와의 거리 제곱값을 리턴
    local otherVector = Vector.new(600, 0, 300)
    local result = vector:SqrDistance(otherVector)
    print("Vector:SqrDistance : ", result)
    
    --Vector:Angle(vector othervector) : othervector 와의 사이각을 리턴
    local otherVector = Vector.new(600, 0, 300)
    local result = vector:Angle(otherVector)
    print("Vector:Angle : ", result)
    
    --Vector:Reflect(vector normal) : normal 에 부딪히는 반사각을 리턴
    local otherVector = Vector.new(600, 0, 300)
    local result = vector:Reflect(otherVector)
    print("Vector:Reflect : ", result)

  • 월드트리 검색 필터 메뉴얼의 일부 이미지가 수정되었어요.

    아래 페이지에서 확인해보세요.

WorldTree Search Filter

  • 대시보드 상점에 신규 아바타 의상이 추가되었어요!

    • 👩신규 헤어 72 종, 👕신규 상의 28 종, 🧤신규 장갑 6 종, 👖신규 하의 24 종 👟신규 신발 11 종, 🕶️신규 악세서리 17 종이 추가 되었어요.

    • 클럽 인기 스타 룩 : 썬더 루즈핏 셔츠와 체크 패치 블루진을 매치한 화려한 룩

    • 스포티 스타 룩 : 패션과 활동성 모두 포기할 수 없는 스포티 스타를 위한 룩

    • 큐트 새내기 룩 : 갓 입학한 새내기처럼 귀여운 룩

    • 도발적인 교수님 룩 : 엄청난 내공과 수려한 유머 센스를 갖춘 교수님 룩

    • 서바이벌 룩 : 당장 서바이벌 게임을 즐길 수 있는 룩

    • 봄 나들이 룩 : 꽃 구경 가기 딱 좋은 세련된 룩

(이외에도 다양한 의상이 추가되었어요!)

👩 헤어 

● 샤기컷 헤어(퍼플), 아웃컬 헤어(오렌지), 양갈래 머리, 칼단발 포니테일(오렌지), 투 톤 포니테일(퍼플&화이트), 포마드 헤어(블랙) 포니테일(브라운), 노비 상투(남) (블랙), 아웃컬 헤어(블론드), 보헤미안 헤어(다크브라운), 버즈 컷(남) (블랙), 버즈 컷(남) (브라운),
버즈 컷(남) (블론드), 숏 리젠트 컷(블랙), 숏 리젠트 컷(브라운), 숏 리젠트 컷(블론드), 댄디 컷(블랙), 댄디 컷(브라운), 댄디 컷(블론드), 리젠트 펌(블랙), 리젠트 펌(브라운), 리젠트 펌(블론드), 시스루 댄디 펌(블랙), 시스루 댄디 펌(브라운), 시스루 댄디 펌(블론드),
가르마 가일 컷(오른쪽) (블랙), 가르마 가일 컷(오른쪽) (브라운), 가르마 가일 컷(오른쪽) (블론드), 투블럭 가르마 펌(블랙), 투블럭 가르마 펌(브라운) 투블럭 가르마 펌(블론드), 히피 펌(블랙), 히피 펌(브라운), 히피 펌(블론드), 롱 슬릭백(블랙) 롱 슬릭백(브라운), 롱 슬릭백(블론드),
롱 트임 슬릭백(블랙), 롱 트임 슬릭백(브라운), 롱 스팀 슬릭백(블론드), 숏 보브컷(블랙), 숏 보브컷(브라운), 숏 보브컷(블론드), 단발 반묶음(블랙), 단발 반묶음(브라운), 단발 반묶음(블론드), 웨이브 반묶음(블랙), 웨이브 반묶음(브라운), 웨이브 반묶음(블론드),
미디움 히피 펌(블랙), 미디움 히피 펌(브라운), 미디엄 히피 펌(블론드), 뱅 히피 펌(블랙), 뱅 히피 펌(브라운), 뱅 히피 펌(블론드), 하이 번 헤어(블랙), 하이 번 헤어(브라운), 하이 번 헤어(블론드), 시스루 뱅 하이번(블랙), 시스루 뱅 하이번(브라운),
시스루 뱅 하이번(블론드), 원 브레이드 헤어(블랙), 원 브레이드 헤어(브라운), 원 브레이드 헤어(블론드), 올백 머리띠(블랙), 올백 머리띠(브라운), 올백 머리띠(블론드), 중년 헤어(남) (블랙), 중년 헤어(남) (브라운), 중년 헤어(남) (그레이), 원형탈모(블랙),
원형 탈모(그레이), 가르마 가일 컷(왼쪽) (블랙), 가르마 가일 컷(왼쪽) (브라운), 가르마 가일 컷(왼쪽) (블론드)

👕 상의

● 일반 맨투맨(빨강), 일반 맨투맨(팥죽), 일반 반팔(검정), 일반 반팔(흰색), 에어로빅(검정), 밀리터리룩(황토색), 밀리터리룩(노랑), 색베리(파랑), 색베리(검정), 색베리(연노랑), 
색베리(연두), 색베리(파랑), 색베리(빨강), 공용번개티 (검정+연두), 노비복 상의(연하늘), 스튜어디스자켓(블루), 스튜어디스자켓(레드오렌지), 기장정복 (갈색), 기장정복 (검색), 
기장셔츠 (흰색), 기장셔츠 (베이지), 기장셔츠 (하늘색), 니트조끼레이어드티(연두), 니트조끼레이어드티(노랑), 언발 나시 크롭 후디(핑크), 언발 나시 크롭 후디(민트), 
니트 조끼 레이어드 티 (블루민트), 니트 조끼 레이어드 티 (민트레드)

👖 하의

● 미니 스커트 (화이트), 숏 팬츠 (청), 미니 스커트 (핑크), 레깅스 (화이트&블랙), 밀리터리 바지, 테니스 스커트, 밀리터리 스커트, 밀리터리 바지 (주머니), 카고 반바지 (화이트), 숏 팬츠 (화이트)
오피스 스커트 (블랙), 오피스 스커트 (블루), 래깅스 (핑크), 연청바지, 진청바지, 농민 하의, 오피스 롱 스커트 (블루), 슬랙스 (브라운), 슬랙스 (블랙), 체크 쇼츠 (옐로우), 체크 쇼츠 (블루),
핑크 데님 팬츠, 청 데님 팬츠, 데님 쇼츠 팬츠 (블루), 데님 쇼츠 팬츠 (오렌지)

🧤 장갑

● FPS 장갑(블랙), 힙합 장갑, 뉴트로 팔찌(레드&실버), 뉴트로 팔찌(오렌지&골드), 로맨틱 브레이슬릿(실버), 로맨틱 브레이슬릿(골드)

👟 신발

● 일반복-트래킹 운동화(연두), FPS 신발(황토), FPS 점퍼 신발(올리브), 색베리(파랑), 색베리(푸른회색), 색베리(흰색+노랑), 색베리(흰색+연두), 색베리(회색), 색베리(파랑), 노비복 짚신, 주황장화

🕶️ 악세서리

● 밀리터리 헤드셋, 두건 (카키), 두건 (브라운), 볼캡 (오렌지), 볼캡 (옐로우), 농민 머리끈, 노비 머리끈, 십자 귀걸이, 링 귀걸이 (은), 링 귀걸이 (금), 뿔테 안경, 선글라스, 별모양 선글라스, 벌레 선글라스, 코주부 안경
방독면, 불새 날개, 체인 목걸이 (은), 

  • 월드 내 ✳️환경 설정에서 화면을 💻[FullScreen]으로 변경 시 🖱️마우스 포인터가 정확한 위치 🎯에 위치하도록 수정되었어요.

  • 📲아이폰으로 월드 진입시 디토랜드 로고 및 로딩 화면이 정상적으로 노출되도록 변경 되었어요.

  • 아이템 샵 🏬무료 아이템 하단에 “FREE” 표시가 잘 보이도록 수정되었어요.

  • 컨텐츠 리워드 팝업이 출력된 상태에서 채팅을 입력하고 종료하면 키보드🔠가 등장하지 않는 이슈가 수정되었어요.

  • 디토그룹 소통하기 답글 등록 시간(년/월/일) 📆이 반복 출력되지 않도록 수정 되었어요.

-----------------------------------------------------------------------------------------------------

Release Note 1.0.1 - Notice

안녕하세요. 디토랜드 개발팀입니다.

다음 사항들이 개선되었으니 확인해보세요. 🤗

  • Toyroom 맵 안에서 킥보드 업로드 시 Error 팝업이 출력되며 업로드가 되지 않는 문제가 해결 되었어요.

  • PC 스크립트 에디터를 열면 모든 탭이 한 줄에 나타나고 탭 구성을 바꾼 후 저장되지 않는 문제가 해결 되었어요.

Release Note 1.0.0 - Notice

업데이트 되는 💥새로운 기능들을 확인해 보세요.

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)가 되어 있습니다. 🤗

자세한 내용은 아래 Updates 내용을 확인해주세요!!

  • 테마에 맞게 맵이 꾸며진 테마 템플릿이 새롭게 추가되었어요.

  • 🍯 텍스트 위젯에 자동 줄바꿈을 설정할 수 있는 AutoWrapText 프로퍼티가 추가되었어요. 스크립트에서는 AutoWrapText 속성으로 제어할 수 있어요.

    TextWidget.AutoWrapText = false --줄바꿈 사용

  • ProgressBar 위젯에 Semi / ReverseSemiCircle 타입이 새롭게 추가되었어요.

  • ProgressBar 위젯의 Circle / ReverseCircle 타입의 프로퍼티 중 AppearanceType이 없어졌어요.

  • (기업계정) Media 오브젝트에 MediaMesh 및 Media 커브등 기능이 있는 스크린 프로퍼티가 추가됐어요.

    자세한 내용은 해당 링크를 참고하세요!

  • SurfaceUI 설정값과 UI Editor 설정값이 동기화 안되던 이슈가 해결되었어요.

  • SurfaceUI의 AutoCanvasSize가 On 이면, CanvasSize가 비활성화 표시되도록 프로퍼티가 개선되었어요.

  • SurfaceUI의 자식 위젯의 크기를 변경하면, SurfaceUI의 CanvasSize가 자동으로 갱신되도록 개선되었어요.

  • SurfaceUI의 AutoCanvasSize On으로 변경될 때, 에디터에 바로 표시되도록 개선되었어요.

  • SurfaceUI의 AutoCanvasSize가 On 이면, 자식 위젯이 변경될 때, 에디터에 바로 표시되도록 개선되었어요.

  • 월드 트리 검색 필터 기능이 추가되었어요.

    ❗ 검색 시 사용되던 키워드 구분 기호가 콜론 (:) 에서 꺽쇠 (<>) 로 바뀌었어요. ( Class:Group → <Class>Group )

    자세한 내용은 해당 메뉴얼을 참고하세요!

  • 스튜디오에 다양한 애니메이션, 의상이 추가되었어요.

    CharacterSetting에서 다양한 애니메이션, 의상을 확인해보세요.

  • Client 에서 디바이스의 해상도 💻📱 를 가져오는 GetScreenResolution 함수가 추가되었어요.

    local deviceResolution = Game:GetScreenResolution()
    print("width : " .. deviceResolution.X) --화면 가로 크기
    print("height : " .. deviceResolution.Y) --화면 세로 크기

  • Client 에서 💬 채팅창의 표시 여부를 제어하는 TextChatVisible 함수가 추가되었어요.

    Game.TextChatVisible = false

  • Media / PDF에 에러 발생 시 에러 index를 출력해주는 함수가 추가되었어요.

    local Media = Workspace.Media
    local PDF = Workspace.ScreenUI.PDF
    
    --OnErrorMessage로 이벤트를 반환 받아요.
    --0. 알 수 없는 에러
    --1. 잘못된 파일 업로드
    --2. 업로드 불가 파일 이름 (특수문자)
    
    ---------------------------------Media 에러메시지 출력---------------------------------------------
    local function OnErrorMessage_Media(errorIndex) --errorIndex를 반환 받아요
    	print(errorIndex)
    end
    Media.OnErrorMessage:Connect(OnErrorMessage_Media)
    
    ---------------------------------PDF 에러메시지 출력---------------------------------------------
    local function OnErrorMessage_PDF(errorIndex) --errorIndex를 반환 받아요
    	print(errorIndex)
    end
    PDF.OnErrorMessage:Connect(OnErrorMessage_PDF)

  • 월드 트리 검색 필터 메뉴얼이 추가되었어요.

WorldTree Search Filter
  • 디토랜드 이벤트 호출 순서 메뉴얼이 추가되었어요.

Event Execution Order
  • Media 오브젝트의 스크린 프로퍼티에 대한 메뉴얼이 추가되었어요. 해당 링크에서 확인해주세요.

  • Media 객체에서 URL을 오픈하는 함수가 변경되었어요. 해당 링크에서 확인해주세요.

  • 지원하지 않는 Lua 기능을 아래 링크에서 확인할 수 있어요.

NotSupport

  • 대시보드 상점에 신규 아바타 의상이 추가되었어요!

    👩신규 헤어 10종, 👕신규 상의 14종, 🧤신규 장갑 5종, 👖신규 하의 16종 👟신규 신발 10종, 🕶️신규 악세서리 16종이 추가 되었어요.

    • 직장인룩 (여) : 오피스 셔츠와 H라인 스커트를 조합한 캐쥬얼룩

    • 직장인룩 (남) : 직장인을 위한 심플하지만 세련된 캐쥬얼룩

    • 클럽 DJ룩 (남) : 픽셀 선글라스와 포마드를 조합한 세련된 룩

    • 클럽 DJ룩 (여) : 포니테일과 레깅스로 클럽에서의 활동력을 높힌 룩

    • 한강 조깅룩 : 당장이라도 한강으로 달려나갈 것 같은 조깅룩

    (이외에도 다양한 의상이 추가되었어요!)

👩 헤어

● 포마드, 포니테일, 포니테일 투톤, 트윈 테일, 브라운 언더테일 헤어
👕 상의

● 7부 셔츠, 흰 러닝, 그린 스포츠 탑, 화이트 스포츠 탑  슈퍼맨 의상, 캐쥬얼 셔츠(남), 캐쥬얼 셔츠(여), 캐쥬얼 그레이 정장, 캐쥬얼 브라운 정장
👖 하의

● 연두 스포츠 레깅스, 화이트  스포츠 레깅스, 슈퍼맨 하의, 옐로우 테니스 스커트, 블랙 테니스 스커트, 핑크 숏팬츠, 데님 숏팬츠, 체크 패치 데님진, 체크 패치 그레이진, 군청 레깅스
🧤 장갑

● 갈색 주방용 장갑, 흰색 주방용 장갑, 가죽 반장갑
👟 신발

● 슈퍼맨 부츠(숏), 슈퍼맨 부츠(롱), 검정색 삼선 슬리퍼
🕶️ 악세서리

● 닥터디토 블루 헤드폰, 리본 머리띠, 흰색 바이크 헬멧, 빨간색 바이크 헬멧, 에메랄드 귀걸이, 십자기 귀걸이, 별모양 썬글라스, 파티 썬글라스, 코주부 안경, 모노클, 천사 날개, 악마 날개, 사원증, 빨간 목도리

  • 대시보드에 신규 아바타 애니메이션이 추가되었어요!

    🙆‍♀️감정표현 5종, 🏃‍♀️애니메이션 번들 1종

    • 절친인사1, 절친인사2 감정표현

    (이외에도 다양한 애니메이션이 추가되었어요!)

    🙆‍♀️ 감정 표현
    
    ● 어머나!, 리액션, 구도 잡기

    🏃‍♀️ 애니메이션 번들
    
    ● 피곤한 번들

  • 대시보드 상점에서 일부 아바타 의상의 판매가 종료되었어요.

    ❌ 판매 종료 의상
    
    ● 의사 복장, 간호사 복장, 공군 군복, 캐쥬얼 정장

  • 디토랜드 웹과 앱의 변경된 플레이스 메뉴 안내가 추가 됐어요.

    이제 플레이 메뉴가 어디있는지 바로 확인 할 수 있답니다.

  • 객체를 트랙으로 움직임 처리 시, 비정상적으로 움직이는 현상이 수정되었어요.

  • 모바일에서 파일 열기 시, 업로드 가능 파일이 필터 되지 않고, 모든 파일이 표시되는 현상이 수정되었어요.

Release Note 0.9.3 - Notice

Release Date : 2023.01.30

안녕하세요. 디토랜드 개발팀입니다. 다음 사항들이 개선되었으니 확인해보세요. 🤗

DitoLand Platform

Updates

서비스 안정성 개선

Bug Fixes

  • 툴 박스 내 🎠토이를 [웹 브라우저에서 열기] 진행 시 '요청하신 화면을 찾을 수 없습니다.' 페이지로 출력 되던 문제가 수정되었어요.

  • 스튜디오에서 [오브젝트 생성 > 스케일모드 > 스케일 축소] 시 설정된 간격이 아닌 한번에 축소 되는 ⚙문제가 수정되었어요.

  • 스튜디오에서 [카메라 변경 및 카메라 조작 제어] 시 🎥카메라 조작 상태가 활성이어도 조작이 되지 않던 문제가 수정되었어요.

Release Note 0.9.2 - Notice

Release Date : 2023.01.18

안녕하세요. 디토랜드 개발팀입니다. 다음 사항들이 개선되었으니 확인해보세요. 🤗

Bug Fixes

  • 월드 내 게임 이용 후 리더보드의 일부 기록이 누락 되던 현상이 수정되었어요.

Release Note 0.9.1 - Notice

Release Date : 2023.01.11

안녕하세요. 디토랜드 개발팀입니다. 다음 사항들이 개선되었으니 확인해보세요. 🤗

Bug Fixes

  • 음성채팅이 동작하지 않는 월드에서 텍스트 채팅도 안되는 현상이 수정되었어요.

Release Note 0.9.0 - Notice

Release Date : 2023.01.03

업데이트 되는 💥새로운 기능들을 확인해 보세요.

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)가 되어 있습니다. 🤗

자세한 내용은 아래 Updates 내용을 확인해주세요!!

변경점으로 인해 기존 맵이 동작하려면 일부 내용이 수정되어야 합니다. 🙏 수정 방법은 아래를 참고해주세요.

0.9.0 Map Changes

DitoLand Platform

Updates

  • 디토골드의 환율이 변경됐어요.💰

    1. 보유 골드량이 10배로 늘어요! ✨🎊

    2. 매일 터지는 행운! 🎁럭키박스의 보상도 최대 1,800골드💰로 변경돼요!

    3. 상점🛍️의 상품 가격도 환율에 맞게 조정돼요!

  • 크레딧 재화가 추가됐어요.

    1. 크레딧💎은 결제💵를 통해 구매하실 수 있어요.

    2. 크레딧💎으로 골드🪙를 구매할 수 있어요.

    3. 곧 크레딧으로 구매할 수 있는 다양한 아바타 아이템들을 선보일 예정이에요.

  • App📱에서만 지원하던 플레이스📍를 이젠 PC🖥️에서도 만들고 접속할 수 있게 됐어요.

  • 디토랜드 얼굴(BI)을 개편 중이에요. App에서 변경된 디토랜드 얼굴을 찾아보세요.😍

  • 월드🗺️ 관리 페이지에서 다른 서브 메뉴로 자유롭게 🤸 이동할 수 있도록 노출 방식이 변경되었어요.

DitoLand Studio

Updates

  • 🍯 플레이 테스트 > 에디터 모드로 돌아가는 버튼이 플레이어 HUD 하단으로 이동 되었어요.

  • (기업계정) 🍯 Mod Kit 메뉴얼에 메쉬 제작 가이드라인 내용 및 Export 프리셋 파일이 추가되었어요. 자세한 내용은 해당 링크를 참고하세요!

  • (기업계정) Mod Kit의 UI가 일부 변경 및 개선되었어요.

    1. ModelingPreview의 이름이3D Model Preview 로 수정되었어요.

    2. 리소스 임포트 불가시, 실패 팝업이 출력되도록 선되었어요. (OutPut 창에서 로그도 출력돼요!)

    3. 임시 리소스(데칼/오디오) 임포트시, 툴박스의 내가 만든 탭에서 임시 아이콘이 출력돼요.

  • 🍯 StaticMesh 오브젝트의 크기를 변경할 때, 자식의 크기가 비정상적으로 바뀌던 문제가 해결되었어요. (기존 / 변경)

  • 🍯 기본 템플릿 맵에서 🎮OX 템플릿이 추가되었어요! OX 템플릿에서 Phase 처리와 SpreadSheet의 활용법을 확인할 수 있어요.

  • 🍯 스크립트 파라미터에 Color 타입이 추가되었어요.

  • 리더보드의 사용법이 변경되고 갱신 주기도 10초 단위로 변경되었어요. 이에 맞춰, 리더보드에서 ConnectUI를 처리하는 방식이 변경되었어요! 변경된 리더보드를 사용하려면 CrossJump 템플릿의 리더보드를 사용하세요.

  • 채팅창에서 유저의 닉네임을 클릭하면, 유저의 프로필이 출력되도록 개선됐어요.

  • 🍯 스프레드 시트의 디자인이 이용하기 쉬운 형태로 변경되었어요.

  • 🍯 모바일 테스트 설정이 선택된 모바일 기기를 체크로 표시해주어, 어떤 기기를 선택했는지 확인하기 편하도록 개선되었어요.

  • 채팅을 입력 중 일 때, 캐릭터 머리 위에 채팅 입력 중 상태가 표시되는 기능이 추가되었어요.

  • 🍯 ProgressBar 위젯에 Circle / ReverseCircle 타입이 새롭게 추가됐어요.

  • 🍯 TextBox 위젯에 Text가 비어 있을 때, 표시할 Text를 설정 할 수 있는 HintText 기능이 추가됐어요.

  • 기존 부모 객체가 없을 때 Frame에서만 나타나던 [자유 조절] / [채우기] 기능을 이젠 모든 NonContainer Widget에서 사용할 수 있어요.

  • NonContainer Widget의 자식으로 Container Widget이 있을 때 [SizeToContents]와 [채우기]의 혼용으로 생기던 문제가 수정되었어요.

    [채우기] 활성화 시 → [SizeToContents] 비활성화 (자유 조절 상태에서만 [SizeToContents]를 사용할 수 있어요!)

    [SizeToContents] 활성화 시 → [채우기] / [자유 조절] 비활성화

  • Continaer Widet의 SizeToContents 기능 활성화 시 자식 객체들의 트랜스폼이 비활성화되도록 변경됐어요.

    → 부모 Container Widget의 슬롯 내부 공간 제어를 통해, 위치 구성 및 여백 부여가 가능해졌어요.

  • (기업계정) 프로퍼티에서 추가된 URL을 내부 웹페이지 형태의 그리드로 Youtube를 출력할 수 있는 YoutubeViewer 오브젝트가 추가됐어요.

    자세한 내용은 해당 링크를 참고하세요!

  • (기업계정) Youtube 오브젝트 → Media 오브젝트로 변경되어, 유튜브 URL이 아닌 파일 다이얼로그를 이용해 동영상 파일을 재생할 수 있어요.

    자세한 내용은 해당 링크를 참고하세요!

  • (기업계정) 비주얼 스크립트 기능이 추가되었어요! 시범적 도입 단계로 앞으로 더 많은 기능이 추가될 예정이니 기대해주세요 🤭 비주얼 스크립트는 Enterprise 계정에서만 이용할 수 있어요.

  • (기업계정) 비주얼 스크립트 🎁 템플릿 3종이 추가되었어요. Enterprise 계정으로만 확인할 수 있는 '기업계정 탭'에서 확인할 수 있어요! 👀

Updates - Script

  • 변수에 할당된 객체의 종류에 맞게 자동 완성이 되도록 개선되었어요!

  • 조작 처리 구조가 변경되었어요. (Tip. 기존 방식도 아직은 사용할 수 있지만 곧 없어질 예정이에요!) 자세한 내용은 해당 링크를 참고하세요!

  • 리더보드 처리 구조가 변경되었어요. (Tip. 기존 방식도 아직은 사용할 수 있지만 곧 없어질 예정이에요!) 자세한 내용은 해당 링크를 참고하세요!

  • 프로퍼티 이름 중 b로 시작하는 프로퍼티의 이름이 변경되었어요.

    bCullDistance => CullDistance
    bCollisionWithCam => CollisionWithCam
    bEnableCameraLag => EnableCameraLag
    bInheritPitch => InheritPitch
    bInheritYaw => InheritYaw
    bInheritRoll => InheritRoll
    bUsePreviousRotWhenNotUsingInheritRot => UsePreviousRotWhenNotUsingInheritRot
    
    --Tip. 기존 방식도 아직은 사용할 수 있지만 곧 없어질 예정이에요!

  • 🍯 서버/클라에서 퍼블리시 여부를 확인할 수 있는 함수가 추가되었어요. 반환값이 true면 퍼블리시 환경, false면 스튜디오 환경이에요.

    if Game:IsPublished() then --퍼블리시 했을 경우
        print("Is Published")
    else --퍼블리시 하지 않았을 경우
        print("Is not Published (In Studio)")
    end

  • 클라에서 실행 디바이스를 확인할 수 있는 함수가 추가되었어요.

    local PlayerDevice = Game:GetPlayerDevice() --현재 플레이중인 디바이스 할당
    
    if PlayerDevice == Enum.PlayerDevice.PC then --PC일 때
        print("Is PC")
    elseif PlayerDevice == Enum.PlayerDevice.Android then --Android일 때
        print("Is Android")
    elseif PlayerDevice == Enum.PlayerDevice.iOS then --iOS일 때
        print("Is iOS")
    end

  • 서버의 DeleteItem 함수에서 삭제 개수를 지정할 수 있는 기능이 추가되었어요.

    --기존 함수
    player:DeleteItem(TargetItem)     --전부 삭제
    player:DeleteItem(InventoryIndex) --전부 삭제
    
    --DeleteCount 인자가 추가된 함수
    player:DeleteItem(InventoryIndex, 5) --인자 기입시 해당 수(5) 만큼 삭제
    player:DeleteItem(TargetItem, 5)     --인자 기입시 해당 수(5) 만큼 삭제

  • 텔레포트 함수에서 사용하지 않는 인자가 제거되었어요.

    --기존
    Game:TeleportToPublicServer(LandOrder, movePlayerIDList, "")
    Game:TeleportToPrivateServer(LandOrder, movePlayerIDList, "")
    
    --변경
    Game:TeleportToPublicServer(LandOrder, movePlayerIDList)
    Game:TeleportToPrivateServer(LandOrder, movePlayerIDList)
    
    --Tip. 기존 방식도 아직은 사용할 수 있지만 곧 없어질 예정이에요!

  • (기업계정) 웹브라우저의 SetWebURL() 함수가 삭제되었어요. WebURL 속성을 사용해주세요!

    --기존
    WebBrowser:SetWebURL("<https://ditoland.net/main>")
    
    --권장
    WebBrowser.WebURL = "<https://ditoland.net/main>"
    
    --Tip. 기존 방식도 아직은 사용할 수 있지만 곧 없어질 예정이에요!

  • TextBox 위젯의 내용이 변경될 때 호출되는 EndTextBoxEditEvent 이벤트가 추가되었어요.

    --입력 변경 시점에서 호출되는 이벤트에요.
    --내용 입력 후 Enter키를 누르거나, 입력 포커스가 TextBox 밖으로 바뀔 때 호출돼요.
    local function ChangedText(editText)
        print("텍스트 박스의 내용이 " .. editText .. "로 변경되었어요.")
    end
    TextBox.EndTextBoxEditEvent:Connect(ChangedText)

  • TextBox 위젯에서 HintText의 내용을 얻거나, 변경할 수 있는 함수가 추가되었어요.

    local someText = Workspace.ScreenUI.someText
    
    --HintText를 얻어오는 함수
    someText:GetHintText()
    
    --HintText를 변경하는 함수
    someText:SetHintText("Hello World!")

Bug Fixes

  • 일부 PC 환경에서 스크립트 에디터의 레이아웃을 변경한 뒤, 테스트 플레이 또는 종료시 변경한 레이아웃이 적용되지 않고 초기화되는 현상이 수정되었어요. (#2961)

  • 모바일 스튜디오에서 임의로 설정한 👗커스텀을 저장하지 않고 메인화면 이동 시 저장하지 않은 커스텀이 적용되는 현상이 수정되었어요. (#2524)

  • Main Camera의 회전 상속 무시가 켜져있으면 셀프카메라에서 카메라 조작이 동작하지 않는 현상이 수정되었어요.

  • 갤럭시 폴드 기종에서 채팅창 - 유저 팝업 좌표가 이상하게 설정되는 현상이 수정되었어요.

  • 📱SurfaceUI의 Button이 모바일에서 터치가 안되는 현상이 수정되었어요.

Release Note 0.8.2 - Notice

Release Date : 2022.11.16

안녕하세요. 디토랜드 개발팀입니다.

이번 패치에는 서비스 안정성이 개선 되었습니다.

Release Note 0.8.1 - Notice

Release Date : 2022.10.14

안녕하세요. 디토랜드 개발팀입니다.

다음 사항들이 개선되었으니 확인해 보세요. 🤗

새로운 토이가 추가되었어요! 🕹

  • 🍯 카운트 다운 토이가 추가되었어요. 툴박스에서 CountDown로 검색할 수 있어요. ⏰

Bug Fixes

  • 📱 아이폰으로 새 버전을 업데이트 했을 때 권한 팝업이 나오고 더 이상 실행되지 않는 문제가 수정되었어요 👍 (#2938).

  • UI가 포함된 토이를 툴 박스에 올린 후, 🪅토이를 다운 받으면 UI 위치가 달라지는 현상이 수정되었어요. 😀 (#2946)

  • 일반 계정으로 스튜디오에서 테스트 플레이 실행 후 테스트 플레이 🔚 종료 시, 모드킷 탭 UI가 활성화되는 현상이 수정되었어요. (#2940)

  • 모드킷에서 텍스쳐+모델링을 함께 올린 🪅토이 타입의 경우, 콘텐츠 관리 페이지에서 텍스쳐의 내용이 출력 되지 않고 수정 불가 했던 현상이 수정되었어요. (#2955)

Release Note 0.8.0 - Notice

Release Date : 2022.10.06

업데이트 되는 💥새로운 기능들을 확인해 보세요.

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)가 되어 있습니다. 🤗

자세한 내용은 아래 Updates 내용을 확인해주세요!!

새로운 토이가 추가되었어요! 🕹

  • 🍯 수영 토이가 추가되었어요. 툴박스에서 Swim_Toy로 검색할 수 있어요.🤿

  • 🍯 블랙홀 토이가 추가되었어요. 툴박스에서 BlackHoleToy로 검색할 수 있어요.😆

  • 🍯 아이템 랜덤스폰 토이가 추가되었어요. 툴박스에서 RandomSpawnArea로 검색할 수 있어요.🎲

  • 토이룸에 토이 샘플 공간이 추가되었어요! 🎪

Updates

  • 🍯 내가 만든 모델링, 이미지, 사운드를 임포트/업로드 할 수 있는 모드킷 기능이 추가되었어요! 아직 초기 단계이지만 차차 개선할 예정이니 기대해주세요 👏 모드킷 기능은 Enterprise 계정에서만 이용할 수 있어요.

Mod Kit

  • 🍯 UI Editor 탭 기능이 추가되었어요. (Surface, Screen UI 혼용 가능)

    이제 여러 UI들을 한번에 좀 더 쉽게 관리할 수 있어요. 😀

    탭 우측 X 버튼을 누르면 모든 탭을 닫을 수 있어요. ❌

  • 기본 템플릿 맵에 MainCamera의 회전 상속 무시 여부를 설정하는 프로퍼티가 추가되었어요. 회전 상속 무시가 true이면, 캐릭터가 회전하는 객체 위에 올라타더라도 카메라는 회전하지 않아요. 🎥

  • 회전 상속 무시 체크 시 아래와 같이 동작해요.✔

  • 회전 상속 무시 체크 해제 시 아래와 같이 동작해요.❌

  • 🍯 모바일 테스트 플레이가 가능해졌어요!!

    확인하고 싶은 모바일 기종을 선택하고 테스트 해보세요. 📱

    UI 에디터에서도 모바일 기준 해상도 조정이 가능하답니다~ 😁

  • 채팅창 UI가 변경되었어요 ~

    사이즈를 줄이고 UI 디자인도 변경되었어요. 기능들은 하단으로 통합되었어요!

    더 예뻐진 채팅창으로 친구들과 대화해보세요 😀

  • 메타버스 계정 전용 기능자동 번역 기능이 추가되었어요.

    외국에서 접속한 친구와 자동 번역 기능을 통해 편하게 대화를 할 수 있어졌어요~ 🌍

  • 🍯 CSV 형식의 데이터를 편리하게 이용할 수 있는 SpreadSheet 객체가 추가되었어요. 👍 사용법은 아래 메뉴얼을 참고하세요.

SpreadSheet

Ditoland - Script

  • 🍯 Attach된 오브젝트의 동작이 개선되었어요. 🧲 이제 캐릭터의 Visible이 변경될 때 Attach된 오브젝트의 Visible도 함께 갱신되며, 캐릭터가 리스폰되거나 사망시에는 자동으로 Detach되지 않아요.

  • 🍯 Client Script에서 캐릭터의 위치, 회전, 트랜스폼을 변경하려 할 때 경고 문구가 출력되도록 변경되었어요.⚠ (캐릭터의 위치 변경은 Server Script에서 사용해야 해요!)

  • 🍯 UI 위젯에 사용할 수 있는 AddUIScale 함수가 추가되었어요.↔ AddUIScale는 AddUISize와 달리 자식 위젯의 크기도 영향을 받아요.

  • 🍯 카메라가 변경될때 호출되는 이벤트가 추가되었어요. 📷

    local function ChangeCurrentCamera(currentCamera)
        print(LocalPlayer:GetRemotePlayer(), " Change Camera : ", currentCamera)
    end
    LocalPlayer.OnChangeCurrentCamera:Connect(ChangeCurrentCamera)

  • 🍯 부모 객체의 Enable이 변경될 때, 자식 객체의 Visible 프로퍼티에 변화는 주지 않으면서 표시 여부만 바뀌도록 변경되었어요. 👨‍👨‍👧

  • 🍯 부모 객체가 변경될 때, 자식 객체도 부모 객체의 Enable에 영향을 받게 끔 변경되었어요.🚻 (만약 부모 객체의 Enable이 false라면, 부모가 변경된 자식 객체도 영향을 받게 돼요.)

Bug Fixes

  • Workspace에 있는 객체의 부모를 변경할 수 없는 현상이 수정되었어요. 👩‍👩‍👧

  • CrossJump 템플릿의 SystemClientScript에서 SetEnableMovementControl 함수가 SetEnableMovementeControl로 잘못 입력된 부분이 수정되었어요. 🏃‍♀️🏃‍♂️

  • 📱아이폰 기기로 플레이스 입장 중 기기화면 자동꺼짐 이후 다시 활성 시 플레이스 입장 불가 현상이 수정되었어요.

  • 신규그룹👩👨 생성 시 일정시간 지난 후 새로고침 해야 자신이 가입한 그룹 정보가 보여지는 현상이 수정되었어요.

  • 스크립트 에디터 특정 줄 탐색 (⌨ 컨트롤+G) 사용 시,🖲 커서만 이동하고 라인 포커스는 되지 않는 현상이 수정되었어요.

  • 스크립트 에디터 ⌨Ctrl + R 키로 함수를 만들 때, 한줄 코드에는 들여쓰기가 적용되지 않는 현상이 수정되었어요.

  • 스크립트 에디터 ⌨Ctrl + R 키로 함수를 만든 후 ⏩Ctrl + Z 하면 들여쓰기가 유지되는 현상이 수정되었어요.

  • 채팅 입력 시 “채팅 서버와 연결이 필요합니다”가 표시되며 💻채팅이 불가능한 문제가 수정되었어요.

  • 마이디토 상태에서 디토룸🩱아바타 변경 후 마이디토의 🙋‍♀️🙋‍♂️프로필 이미지가 변경되지 않는 현상이 수정되었어요.

  • 플레이스 생성 및 입장 후, 리소스 다운로드 ⏩ 완료 시점에 앱을 강제 종료하면 플레이스 목록에 이미 생성했던 플레이스 정보가 보이는 🔍 문제가 수정되었어요.

  • 탈퇴 중인 계정으로 🖥PC 스튜디오에서 로그인하면 회원 탈퇴 취소창이 생성되는 현상이 수정되었어요.

  • 📱모바일 마이크 음소거 상태에서 다른 어플리케이션을 실행 등으로 📺화면 전환을 해도 📣 음성 채팅이 OFF 되지 않고 계속 ON🔊 상태로 유지되는 현상이 수정되었어요.

  • AddSpawnObject로 스포너에 NPC🧝‍♀️🧝‍♂️ 객체를 등록하면 스폰할 때 스포너의 위치가 아닌 NPC 기존 위치에 스폰되는 문제가 수정되었어요.

  • 월드 관리 페이지에서 랜드 연결 시,🎠 랜드 연결 설정이 누락되거나 비정상적으로 연결되는 현상이 수정되었어요.

  • 함수 안에서 print 사용시, Output창에서 print 위치를 잘못 가리키는 현상이 수정되었어요.➡⬅

  • ScriptEditor의 ScriptLog탭에서 The number of arguments does not match! 로그를 클릭해도 해당 라인을 찾아가지 않는 현상이 수정되었어요.⚠

  • 터렛 토이가 정상 작동하지 않는 현상이 수정되었어요.⚒

  • 스크립트를 이용한 앵커 위치 변화 시 UIPosition 및 앵커 출력 위치 변화가 없는 현상이 수정되었어요. 🧿

Manual

  • NPC나 오브젝트에 AI 상태를 설정하는 AI FSM 메뉴얼이 추가되었어요.

AI FSM
  • 복잡한 데이터를 쉽게 관리할 수 있는 SpreadSheet 메뉴얼이 추가되었어요.

SpreadSheet
  • ChangeCharacterAni 샘플맵에서 "리스폰시 : 초기화"로 잘못 표시된 내용이 → "리스폰시 : 유지"로 변경되었어요.

Scripting
  • 모드킷 메뉴얼이 추가되었어요.

Mod Kit

DitoLand Platform

Updates

  • 내 프로필 화면 디자인이 새롭게 리뉴얼 되었어요. 내 친구 화면도 함께 변경되었으니 확인해보세요.😉

  • 📱플랫폼 별 최소 사양 내용이 추가되었어요. 💻

  • 로그인 시 스크롤 상태가 유지되도록 개선 되었어요. 🖱

  • PC에서만 확인 가능했던 그룹을 App에서도 확인할 수 있게 되었어요. 🎉

  • 플레이스 목록에서도 버전 정보를 미리 확인할 수 있도록 개선되었어요.

  • 📱App 캐시 삭제 기능이 개선되어 내 폰의 저장소를 보다 효율적으로 관리할 수 있게 개선되었어요.

  • 🖼리소스 관리 기능이 추가되어 내가 등록한 리소스 상태를 확인할 수 있게 되었어요.🛠

  • 엔터프라이즈 회원들을 위한 기능으로 에티터를 활용하여 월드 소개를 작성할 수 있게 되었어요. ⌨

Release Note 0.7.2 - Notice

Release Date : 2022.09.23

안녕하세요. 디토랜드 개발팀입니다.

다음 사항들이 개선되었으니 확인해보세요. 🤗

Updates

  • 공유 받은 링크를 App으로 접속 시📱, 월드에 한번에 접속할 수 없던 현상이 개선되었어요. 🙌

  • App으로 접속하기 브릿지 페이지의 문구가, 보다 직관적으로 알기 쉽게 변경되었어요. 👁‍🗨

  • iOS에서 디토랜드 활동에 대한 추적 여부👣를 선택할 수 있도록 개선되었어요.

  • 멀티플레이 테스트🙍‍♂️🙍‍♀️를 구동 중에 다른 일을 하고 나면, 스튜디오가 강제 종료되던 현상이 수정되었어요. 😊

Release Note 0.7.1 - Notice

Release Date : 2022.09.08

일부 토이의 이름✒이 변경되었어요!!

  • 🔫 [Gun] SR (저격총) 토이의 이름이 [Gun] SniperRifle 로 변경되었어요!

Bug Fixes

  • 스튜디오의 테스트 플레이 상태에서 내부🔎 디버그 처리에 의해 프레임이 낮게 나오는 현상이 수정되었어요.

  • 캐릭터가 움직이거나 👣 애니메이션이 전환될 때 아이템이 장착/해제되면, 아이템의 위치가 이상하게 보이던 현상이 수정되었어요. 🤗

  • 아이템 장착시 가끔 비정상적으로 출력되는 현상이 수정되었어요.😊

  • 아이템 장착시 💻월드에 남아있는 현상이 수정되었어요. 😁

  • 📱아이폰 기기로 패치 후 업데이트 하지 않은 상태로 접속 시 ⏩" 버전이 맞지 않습니다" 팝업과 함께 접속할 수 없는 이슈가 수정되었어요. 😃

  • 📱안드로이드 기기로 패치 후 업데이트 하지 않은 상태로 접속 시 ⏩"버전이 맞지 않습니다" 팝업과 함께 접속할 수 없는 이슈가 수정되었어요. 😊

  • 스튜디오에서 Easy_TPS와 Easy_FPS 템플릿이 이전 버전으로 열리는 현상이 수정되었어요. 🤩

  • 캐릭터가 죽어 👻 캐릭터의 Visible이 false로 되었다가 리스폰으로 Visible이 다시 true가 된 다음부터 오브젝트 🎲를 Attach해도 보이지 않는 현상이 수정 되었어요.

  • PC환경에서 멀티 플레이👩‍🚀🧙‍♀️🧙‍♂️ 실행 시 추가되는 플레이어의 윈도우 화면에서, 바닥 없이 낙하 애니메이션이 출력 되던 이슈가 수정되었어요. 😄

  • PC 스튜디오에서 📺레이아웃 초기화 선택 시 스크립트 에디터 창📑의 크기, 위치만 초기화 되는 이슈가 수정되었어요.

  • 디토랜드 PC 🖥 WEB 홈페이지 로그인 후 디토버스 메뉴 클릭 시 로그아웃 되는 이슈가 수정되었어요.

DitoLand Platform

  • 금칙어가 포함된 단어 등록이 안돼서 불편했던 현상이 개선되었어요.

Release Note 0.7.0 - Notice

Release Date : 2022.08.24

업데이트 되는 💥새로운 기능들을 확인해 보세요.

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)가 되어 있습니다. 🤗

자세한 내용은 아래 Updates 내용을 확인해주세요!!

변경점으로 인해 기존 맵이 동작하려면 일부 내용이 수정되어야 합니다. 🙏 수정 방법은 아래를 참고해주세요.

0.7.0 Map Changes

Updates

대시보드에 다양한 상품이 추가되었습니다!! ✨

  • PC 대시보드 & 앱의 디토룸 상점에 들어가서 👔신상✨👠을 착용해보세요!

새로운 토이🎈가 추가되고, 일부 토이의 이름✒이 변경되었어요!!

  • 🔫 [Gun] SniperRifle 토이의 이름이 [Gun] SR (저격총) 로 변경되었어요!

  • 🎁 TrueFalseBlock, RollingTerrain, BrainsBlock, RotHammer_Type2 토이가 추가되었어요! 이 토이들은 토이룸에서도 만나볼 수 있어요~

  • 캐릭터에 아이템을 장착할 때 활용할 수 있는 EquipItem 토이가 추가되었어요.


새로 스튜디오에 업데이트 된 다양한 기능을 알려 드립니다!!

  • 🍯 상단 탭에 있던 UI 탭 기능이 UI Editor🔧로 이동 되었어요.

    • 테스크바에 있는 UI Editor 버튼을 클릭해서 UI Editor🔧를 오픈 후 사용할 수 있어요.

  • 🍯 로그창(Player Output)에 각 로그의 표시 여부에 대한 토글 버튼이 추가되었어요.

    • 로그 / 경고(Warning) / 에러(Error) 로그 표시 여부를 체크할 수 있어요.🚥

  • 🍯 툴박스🛠 > 내 작품에 [공개만 보기] 체크 버튼✅이 추가되었어요.

    • 디토랜드 웹 > 만들기 > 컨텐츠 관리에서 비공개한 컨텐츠를 툴박스에서 확인할 수 있어요.

  • 🍯 ScreenUI의 프로퍼티창에 Visible, Opacity 프로퍼티가 추가되고, SurfaceUI의 프로퍼티창에 Opacity 프로퍼티가 추가되었어요! 스크립트에서도 같은 이름의 속성으로 제어가 가능해요.

local value = ScreenUI.Opacity

wait(1)
ScreenUI.Opacity = 0.1
wait(1)
SurfaceUI.Opacity = 0.5

  • 🍯 자식 Widget을 선택 시 외곽선을 표시해줘요.

    • 부모 Widget 크기에서 벗어난 경우 확인하기 편해졌어요.👀

  • Widget 중 🧮[ScrollBox], [VerticalBox], [HorizontalBox], [GridBox], [ProgressBar], [InventoryBox], [ListView]의 자식으로 UI객체가 들어갈 경우,

    UIAlignment 프로퍼티를 숨김 처리하고, [0, 0]값으로 처리되도록 변경되었어요.

  • 🍯 CharacterSetting > AppearanceSetting에서 🥻코스튬을 착용할 수 있어요.

    코스튬을 착용하면, 👕👖상의 / 하의는 착용이 불가해요.❌

  • CharacterSetting > BaseSetting에 [FitToCharacterBody] 체크 버튼✅이 추가되었어요. 이제 자동으로 👨‍👦캐릭터 크기에 맞춰 Collider가 조절돼요.

  • 채팅창💬이 비활성화 상태💤일 경우 [채팅창 버튼]이 어둡게 처리되도록 변경되었어요.

Ditoland - Script

  • 🍯 자주 사용하는 일부 함수들이 속성으로 접근할 수 있게 개선되었어요! ✨

    --기존 => 변경 --사용 예
    
    --공통
    SetName, GetName ⇒ Name --Cube.Name = "NewCube"
    
    ------------------------------------------------------------------------
    --오브젝트에서
    SetVisibility, GetVisibility => Visible --Cube.Visible = false
    SetVisible, GetVisible => Visible --PointLight.Visible = false
    SetLocation, GetLocation => Location --Cube.Location = Vector.new(50, 0, 0)
    SetRotation, GetRotation => Rotation --Cube.Rotation = Vector.new(45, 0, 0)
    SetScale, GetScale => Scale --Cube.Scale = Vector.new(0.5, 0.5, 0.5)
    SetTransform, GetTransform => Transform --local someTransform = Cube.Tranform
    SetScaleXYZ, GetScaleXYZ => ScaleXYZ --someTransform.ScaleXYZ = Vector.new(0.5, 0.5, 0.5)
    
    ------------------------------------------------------------------------
    --위젯에서
    SetVisible, GetVisible => Visible --Frame.Visible = false
    SetLocation, GetLocation => UIPosition --Frame.UIPosition = Vector.new(150, 150, 0)
    SetRotation, GetRotaion => UIRotation --Frame.UIRotation = 45
    SetScale, GetScale => UIScale --Frame.UIScale = 0.5
    SetOpacity, GetOpacity => Opacity --Frame.Opacity = 0.2
    GetWidth => Size.X --print(Frame.Size.X)
    GetHeight => Size.Y --print(Frame.Size.Y)

  • SetEnableMovementeControl 및 GetEnableMovementeControl 함수명의 오타가 수정되었어요 🖋️

    SetEnableMovementeControl 및 GetEnableMovementeControl
    ⇒ SetEnableMovementControl 및 GetEnableMovementControl

  • 🍯 Get 함수가 추가되었어요! 👏

    --서버에서
    StaticMesh:GetCollisionType()
    StaticMesh.Visible
    
    Game:GetUsingSpawnPoint()
    Game:GetCanEnterUser()
    player:GetCheckPoint()
    player:GetFreeCamMode()
    character:GetControlMode()
    
    ------------------------------------------------------------------------
    --클라에서
    Widget.Opacity
    TextWidget:GetTextColor()
    TextBoxWidget:GetTextColor()
    TextBoxWidget:GetBackgroundColor()
    FrameWidget:GetBackgroundColor()
    ImageWidget:GetBackgroundColor()
    ButtonWidget:GetTextColor()
    ButtonWidget:GetBackgroundColor()
    ButtonWidget:GetButtonHoverColor()
    ButtonWidget:GetButtonPressColor()
    ProgressBarWidget:GetPercent()
    ProgressBarWidget:GetBackgroundColor()
    ProgressBarWidget:GetFillColor()
    InventoryBoxWidget:GetWidthPadding()
    InventoryBoxWidget:GetHeightPadding()
    InventoryBoxWidget:GetSlotSize()
    InventoryBoxWidget:GetBackgroundColor()
    InventoryBoxWidget:GetContentTransparency()
    ListViewWidget:GetBackgroundColor()
    ListViewWidget:GetContentTransparency()
    ListViewWidget:GetHeightPadding()
    ListViewWidget:GetSlotSize()
    ListViewWidget:GetIsStretch()

  • 🍯 PointLight💡와 SpotLight🔦의 함수가 속성으로 변경되었어요.

    SpotLight.Visible = true
    SpotLight.Intensity = 1
    SpotLight.LightColor = Color.new(255, 0, 0, 255)
    SpotLight.AttenuationRadius = 500
    SpotLight.InnerConeAngle = 120
    SpotLight.OuterConeAngle = 20
    ------------------------------------------------------------------------
    PointLight.Visible = true
    PointLight.Intensity = 1
    PointLight.LightColor = Color.new(255, 0, 0, 255)
    PointLight.AttenuationRadius = 500
    PointLight.SourceRadius = 20
    PointLight.SourceLength = 20

  • 🍯 물리 벡터를 초기화하는 함수가 추가되었어요.🏋🏼‍♀️

    Cube.Physics:ZeroVelocity()

  • 🧍player:SetUsingCharacterSetting 함수 이름이 변경되었어요.

    player:SetUsingCharacterSetting => player:ChangeCharacterSetting

  • 🧍🏽‍♂️player:SetUsingCharacter~Setting 함수 이름이 변경되었어요.

    player:SetUsingCharacterBaseSetting => player:ChangeCharacterBaseSetting
    player:SetUsingCharacterAppearanceSetting => player:ChangeCharacterAppearanceSetting
    player:SetUsingCharacterAnimationSetting => player:ChangeCharacterAnimationSetting

  • player:GetUsingCharacterSetting() 함수가 삭제🗑️되고 Restore/Store 함수로 대체되었어요.

    player:StoreCurrentCharacterSetting() / player:RestorePreviousCharacterSetting()
    player:StoreCurrentCharacterBaseSetting() / player:RestorePreviousCharacterBaseSetting()
    player:StoreCurrentCharacterAppearanceSetting() / player:RestorePreviousCharacterAppearanceSetting()
    player:StoreCurrentCharacterAnimationSetting() / player:RestorePreviousCharacterAnimationSetting()

  • 스크립트로 처리 하던 MoveSpeed⏩ 프로퍼티들이 BaseSetting 내부처리로 변경되었어요.

  • AttachAt🪑 및 AttachTo🏌🏼 함수의 사용 방식이 변경되었어요.

    Character:AttachAt(Chair) 및 Character:AttachAtTop(Chair)
    => Chair:AttachCharacter(Character, Enum.AttachPoint.Top) --2번째 인자는 하단에 정리된 AttachPoint Enum 항목 참조
    
    Character:Detach() 및 Character:Detach(Vector.new(0, 0, 100))
    => Chair:DetachAllCharacter()
       Chair:DetachAllCharacter(Vector.new(0, 0, 100))
       Chair:DetachCharacter(Character)
       Chair:DetachCharacter(Character, Vector.new(0, 0, 100))
    
    ------------------------------------------------------------------------------
    Toy:AttachTo(Player, Bone)
    => Character:AttachObject(Toy, Enum.Bone.Head)
    
    Toy:Detach()
    => Character:DetachObject(Toy) 
       Character:DetachAllObject()

  • Enum에 AttachPoint가 추가되었어요👏

    Enum.AttachPoint.Center --대상의 중심점에 Attach
    Enum.AttachPoint.Top    --대상의 상단 중앙에 Attach
    Enum.AttachPoint.Right  --대상의 오른쪽 중앙에 Attach
    Enum.AttachPoint.Left   --대상의 왼쪽 중앙에 Attach

  • 🏏Item의 Attach 처리가 프로퍼티에서 설정하는 방식으로 변경되었어요. (이제 스크립트에서 Attach/Detach 처리를 하지 않아도 된답니다 🤗)

  • 🍯 위젯의 상호작용 반응 여부를 결정하는 Interaction 프로퍼티가 추가되었어요.

--스크립트에서도 제어가 가능해요.
Workspace.ScreenUI.Frame.Interaction = false

  • AddUIScale의 이름이 AddUISize 함수 이름 변경되었어요. (Scale이 아니라 Size로 동작해요🧐)

    local ScreenUI = Script.Parent
    
    ScreenUI:AddUISize("Frame", "ScaleTrack", Vector.new(20, 20, 0) 3) --X, Y 값만 적용됨

  • AddUIRot↪️의 인자가 변경되었어요

    local ScreenUI = Script.Parent
    
    ScreenUI:AddUIRot("Frame", "RotTrack", 45, 3) --한 축으로만 회전
    
    --기존 : AddUIRot(string WidgetName, string TrackName, Vector Rot, number Time) 
    --변경 : AddUIRot(string WidgetName, string TrackName, float Rot, number Time) 

  • 🍯 오브젝트 Enable 상태 변경에 따라 호출되는 이벤트 함수가 추가되었어요.

    ---------------------------------------------------
    local function InitObj(self) --self 인자엔 이벤트가 연결된 객체가 전달됨
    	print("Enable")
    end
    Workspace.Cube.OnEnableEvent:Connect(InitObj)
    
    ---------------------------------------------------
    local function BackupToPoolList(self) --self 인자엔 이벤트가 연결된 객체가 전달됨
    	print("Disable")
    end
    Workspace.Cube.OnDisableEvent:Connect(BackupToPoolList)
    
    ---------------------------------------------------
    wait(1)
    Workspace.Cube.Enable = false --false로 바뀔때 OnDisableEvent에 연결된 함수 호출됨
    
    wait(1)
    Workspace.Cube.Enable = true --true로 바뀔때 OnEnableEvent에 연결된 함수 호출됨

  • 🍯 캐릭터의 Visible을 Client에서도 변경할 수 있어요.✏️

    Character.Visible = false

  • Environment의 시간 속성🕒이 아래와 같이 정리되었어요.

    local Environment = Workspace.Environment
    print("DefaultTime ", Environment.DefaultTime) --초기 시간의 분 단위에요.
    print("DefaultHour ", Environment.DefaultHour) --초기 시간의 시간 단위에요.
    print("CurrentTime ", Environment.CurrentTime) --현재 시간의 분 단위에요.
    print("CurrentHour ", Environment.CurrentHour) --현재 시간의 시간 단위에요.

  • 🍯 날짜 및 시간 처리 관련 함수와 TimeUtil 모듈이 추가되었어요. 날짜📅 및 시간 처리⏰는 ServerScript에서 사용하면 서버 시간으로 가져올 수 있어요.

    ----------------------------------------------------------------------------------------------
    --DateTime를 생성해요.
    local NewTime1 = DateTime.new()
    local NewTime2 = DateTime.new(2022,1,3)
    local NewTime3 = DateTime.new(2022,4,11,13,1,5)
    print("NewTime1 : ", NewTime1) 
    print("NewTime2 : ", NewTime2) 
    print("NewTime3 : ", NewTime3) 
    print("-----------------------------------------------------")
    
    ----------------------------------------------------------------------------------------------
    --현재 시간을 얻을 수 있어요.
    local getTime = nowtime()
    print("nowtime : ", getTime)
    print("-----------------------------------------------------")
    
    ----------------------------------------------------------------------------------------------
    --DateTime을 변경하는 것도 가능해요.
    NewTime3.Year = 2023
    NewTime3.Month = 5
    NewTime3.Day = 12
    NewTime3.Hour = 14
    NewTime3.Minute = 2
    NewTime3.Second = 6
    print("NewTime3 : ", NewTime3) 
    print("-----------------------------------------------------")
    
    ----------------------------------------------------------------------------------------------
    --시간을 원하는 포맷 타입 으로 출력할 수 있어요.
    local NewTime3 = DateTime.new()
    NewTime3.Hour = 14
    print("NewTime3 : ", NewTime3)
    
    local DateString1 = NewTime3:ToString("%Y %m %d %h %M %S %A")
    print("ToString : ", DateString1) 
    
    local DateString2 = NewTime3:ToString("%Y %m %d %H %M %S %A")
    print("ToString : ", DateString2) 
    print("-----------------------------------------------------")
    
    ----------------------------------------------------------------------------------------------
    --두 날짜를 비교해서 경과되었는지 확인할 수 있어요.
    local NewTime4 = DateTime.new()
    NewTime4.Year = NewTime4.Year + 1
    
    local IsChangedYear = IsChangedYear(NewTime1, NewTime4)
    print("IsChangedYear : ", IsChangedYear, " ( ", NewTime1, " / ", NewTime4, " )")
    
    local IsChangedMonth = IsChangedMonth(NewTime1, NewTime4)
    print("IsChangedMonth : ", IsChangedMonth, " ( ", NewTime1, " / ", NewTime4, " )")
    
    local IsChangedDay = IsChangedDay(NewTime1, NewTime4)
    print("IsChangedDay : ", IsChangedDay, " ( ", NewTime1, " / ", NewTime4, " )")
    
    local IsChangedWeek = IsChangedWeek(NewTime1, NewTime4)
    print("IsChangedWeek : ", IsChangedWeek, " ( ", NewTime1, " / ", NewTime4, " )")
    print("-----------------------------------------------------")
    
    ----------------------------------------------------------------------------------------------
    --두 날짜를 비교해 차이 값을 구해요.
    local NewTime5 = DateTime.new()
    NewTime5.Year = NewTime5.Year + 1
    
    local CompareYear = GetCompareYear(NewTime1, NewTime5)
    print("CompareYear : ", CompareYear, " ( ", NewTime1, " / ", NewTime5, " )")
    
    local CompareMonth = GetCompareMonth(NewTime1, NewTime5)
    print("CompareMonth : ", CompareMonth, " ( ", NewTime1, " / ", NewTime5, " )")
    
    local CompareDay = GetCompareDay(NewTime1, NewTime5)
    print("CompareDay : ", CompareDay, " ( ", NewTime1, " / ", NewTime5, " )")
    
    local NewTime6 = DateTime.new()
    NewTime6.Hour = NewTime6.Hour + 1
    local CompareHour = GetCompareHour(NewTime1, NewTime6)
    print("CompareHour : ", CompareHour, " ( ", NewTime1, " / ", NewTime6, " )")
    
    local CompareMinute = GetCompareMinute(NewTime1, NewTime6)
    print("CompareMinute : ", CompareMinute, " ( ", NewTime1, " / ", NewTime6, " )")
    
    local CompareSec = GetCompareSec(NewTime1, NewTime6)
    print("CompareSec : ", CompareSec, " ( ", NewTime1, " / ", NewTime6, " )")
    print("-----------------------------------------------------")
    
    ----------------------------------------------------------------------------------------------
    --DateTime이나 OsTime으로 변환할 수 있어요.
    local DateTime = ToDateTime(ostime())
    print("ToDateTime : ", DateTime)
    
    local OsTime = ToOsTime(DateTime)
    print("ToOsTime : ", OsTime)
    print("-----------------------------------------------------")
    
    ----------------------------------------------------------------------------------------------
    --올해 기준 또는 주 기준으로 경과일을 구할 수 있어요.
    local NewTime7 = DateTime.new()
    
    local dayOfYear = GetDayOfYear(NewTime7) 
    print("dayOfYear : ", dayOfYear)
    
    local weekOfYear = GetWeekOfYear(NewTime7) 
    print("weekOfYear : ", weekOfYear)
    
    local numberOfWeek = GetNumberOfWeek(NewTime7) 
    print("numberOfWeek : ", numberOfWeek)

Bug Fixes

  • ⌨채팅창을 끄거나 켜면 캐릭터 이동이 안되는 현상이 수정 되었어요.

  • 간편 로그인으로 계정 전환 시 🙋‍♂️🙋‍♀️성별을 선택할 수 없던 문제가 수정되었어요!

  • 특정 랜드 이동 시🏃🏻‍♂️ 간헐적으로 오브젝트가 사라지는 현상이 수정 되었어요.

  • 플레이어, 스튜디오의 물리 오브젝트 반응이 서로 다른 문제가 수정되었어요😄

  • 태그 메뉴 비 활성화 이슈가 해결💡되었어요

  • 플레이어에서 간헐적으로 플레이어 💷닉네임이 보이지 않던 현상이 수정💡 되었어요

  • 캐릭터 타입이 🧸'토이 캐릭터'가 죽은 후, 리스폰 시 외형이 보이지 않던 현상이 수정 되었어요

  • 툴박스의 토이/매쉬를 배치하면, 해당 🎣🧸토이/매쉬가 월드에서 드래그되거나 선택되지 않고 월드 트리에서만 선택 가능한 현상이 수정되었어요

  • 상단 메뉴의🖍 컬러픽커에서 색상 변경을 하지 않은 상태에서 '확인'을 선택하면 변경되는 것이 아니라 '취소' 선택 시에 변경되는 현상이 수정되었어요.

  • Gizmo를 이용한 이동 중 화면 전환 하면 원하지 않는 축으로 오브젝트가 이동하는 현상이 수정되었어요. 😄

  • TweenObject 모듈에서 Rotation 관련 함수를 사용했을 때 Y값에 따라 지정 회전 값이 아닌 다른 회전 값을 가지는 이슈가 수정되었어요.

  • 🖥스튜디오에서 UI Widget 트랙 객체가 동작하지 않는 현상이 수정되었어요.

  • 🖥스튜디오에서 클라이언트 스크립트 ✏ OnChatNPCMessage 함수 사용 시 비정상 종료 되던 이슈가 수정💡되었어요

  • 📱모바일에서 특정 행동 시 😉눈썹 상세 커스텀 선택 / 선택 해제가 되지 않던 문제가 수정되었어요.

  • 📱모바일에서 웹 메인 화면 내 추천 월드 롤링 시 동일 월드가 등장하는 현상이 수정되었어요.

  • 📱모바일에서 웹 내 월드 더보기 페이지에서 ◀ 버튼이 동작하지 않는 현상이 수정되었어요.

  • 📱모바일에서 대시보드에서 🧙‍♂️아바타 의상 교체 직후 월드로 입장하면 💷캐릭터 닉네임이 보이지 않는 문제가 수정되었어요.

  • 특수문자 닉네임으로 월드 입장 시 🔁 무한로딩 되는 문제가 수정되었어요.

  • 안드로이드 모바일에서 ◀ 버튼 터치 시 페이지 로딩과 동시에 스크립트 에러 메시지 팝업이 보이던 현상이 수정되었어요.

  • 안드로이드 모바일에서 특정 🔊사운드 리소스가 안드로이드에서만 보이지 않던 현상이 수정되었어요. 😄

  • PC에서 월드 설정 내 선택된 👨‍👩‍👧‍👧그룹을 모두 제거하면 선택했던 그룹이 해제 되지 않는 문제가 수정💡되었어요.

  • 메인 페이지 하단 🙋‍♂️고객센터 이메일 주소 링크가 동작하지 않는 현상이 수정되었어요.

  • 스크립트로 하위 위젯을 움직일 때, 설정한 앵커 기준으로 움직이지 않는 현상이 수정되었어요.

  • DefaultInput 스크립트의 파라미터에서 설정한 조작 모드가, 카메라 📷 모드로 플레이 테스트 시에도 적용되는 현상이 수정되었어요.

  • 기업 계정 신청📝 시 띄어쓰기로 인해 가입 오류 현상이 수정되었어요.

  • 회원 가입 시 부모 동의 🙆‍♂️🙆‍♀️ 버튼 중복 클릭 되던 현상이 수정되었어요.

  • 공간 타입이 World인 SurfaceUI의 Button은 클릭🖱️해도 버튼 이벤트가 발생하지 않는 현상이 수정되었어요.

Manual

  • 샘플 맵🗺️ 중 일부 맵의 이름이 변경되었어요.

    Scripting 에서 GetName&SetName -> Name
    Scripting 에서 Visibility -> Visible
    Trasnform 에서 SetTransform -> Trasnform
    UI 에서 SetOpacity -> Opacity
    UI 에서 Visible -> WidgetVisible

  • 총 토이 속성 가이드 메뉴얼이 추가되었어요.

Gun Toy
  • 오브젝트 선택 지정 방법 메뉴얼이 추가되었어요.

Set Object Parameter
  • 쿠폰/이벤트키 사용법 메뉴얼이 추가되었어요.

Coupon / Event Key

DitoLand Platform

Updates

  • 디토랜드 정책센터가 😄새롭게 오픈했습니다. 이젠 약관 및 개인정보처리방침 등 관련 정책을 한 곳에서 확인하실 수 있어요.

  • 디토랜드에 금칙어 🤬 필터링이 적용되었어요.

  • 만들기 하위 메뉴 구조가 좀 더 보기 편하게 개편되었어요.

  • 마이디토, 유저 프로필 화면에 아바타 🧍전신 이미지를 확인할 수 있도록 개선되었어요.

  • 탈퇴 기능이 추가되었어요. 😢

  • 설정 화면에서도 마케팅 수신 동의를 👌설정할 수 있어요.

  • 콘텐츠 샵🛒에서 리스트 로딩 속도가 빠르게 개선되었어요.

  • 🔍 검색 결과가 없을 때 알려주는 화면이 개선되었어요.

  • 📱 모바일 저장 공간 관리 기능이 추가되었어요.

  • 📱 모바일 현재 버전을 확인하고 스토어로 바로 가서 업데이트 ⏫ 할 수 있도록 개선되었어요.

  • 📱 모바일 화면 스크롤 할 때 키패드 부분에 화면이 숨는 현상이 개선되었어요. 😅

Release Note 0.6.2 - Notice

Release Date : 2022. 6. 17

안녕하세요. 디토랜드 개발팀입니다.

모바일 출시

📱 아이폰용 App이 새롭게 출시되었습니다. 이제 AOS / IOS 모두에서 디토랜드를 만나실 수 있습니다.

Bug Fixes

  • 스튜디오, 플레이어 안정성 개선

  • 그룹 공개 월드에서 그룹원으로 들어갔을때 비공개 월드라고 노출되는 문제가 해결 되었어요.

  • PC에서 월드 종료시 간헐적으로 튕기는 문제가 수정되었어요.

  • 월드 최초 진입 시 한번 간헐적으로 '서버가 응답하지 않습니다. 잠시 후 다시 시도해주세요.'라는 팝업이 출력 되면서 ⚠️종료되는 현상이 수정되었어요

  • 특정기기에서 앱 실행 시 에러메세지가 출력되는 문제가 해결 되었어요.

  • 특정 월드 및 플레이스에서 아바타가 Fall 애니로 무한반복되는 현상이 해결 되었어요.

  • 비공개 되어있는 그룹 공개 월드 그룹원이 입장 시 ‘제작자에 의한 입장 불가’ 팝업이 등장하는 현상이 해결 되었어요.

  • 특정맵에서 캐릭터가 죽을때 SetVisible(false)처리가 동작하지 않는 현상이 해결 되었어요.

  • 월드나 플레이스 친구 초대 터치 시 초대 링크가 무한 로딩 되는 현상이 수정 되었어요.

  • 모바일로 WEB 이동 및 로그인 후 월드 입장 시 노출되는 설치 팝업 내 버튼이 깨지는 현상이 수정 되었어요.

  • 스튜디오_Script Editor의 Blank 맵에서 임의의 기본 스크립트에 중단점 추가 후 테스트 플레이 진행 시 ⚠️ 팅김 현상이 수정되었어요.

  • 애니메이션을 변경하는 🛴 아이템 (킥보드 등)을 장착 해제 후 일반 🎣 아이템(낚시대 등) 장착 시, 장착한 아이템이 원래 형태와 다르게 적용되는 현상이 수정되었어요.

  • 🛴 이동 수단을 탑승한 다른 캐릭터의 거리가 멀어질 때, '캐릭터 애니메이션' 및 '캐릭터/킥보드 위치'가 일치하지 않는 현상이 수정되었어요.

  • 스튜디오_UI Editor에서 UI위치가 배율에 맞춰 표시되지 않는 현상이 수정되었어요.

  • 스튜디오에서 빔(레이저) 타입 이펙트에 설정된 'TargetLocation'이 제대로 반영되지 않는 현상이 수정되었어요.

  • 홈페이지에서 로그인 후 스튜디오 내부에서 로그아웃을 하면 스튜디오에서 로그인 화면이 😱 나타나지 않는 현상이 수정되었어요.

  • 월드에서 영상 시청 중 다른 위치의 영상 재생 시 먼저 재생 중이던 영상의 화면 이 멈추지 않고 🔇오디오만 멈추는 현상이 수정되었어요.

  • PC에서 회원가입 도중 새로운 브라우저로 디토랜드 접속 시 로그인 오류 문제가 수정되었어요.

  • 월드에서 채팅 창을 끄거나 켜면 종종 캐릭터의 이동이 🚷안되던 현상이 수정되었어요.

Release Note 0.6.1 - Notice

Release Date : 2022. 5. 26

안녕하세요. 디토랜드 개발팀입니다.

5/26 부터 인디크래프트 2022 행사에 맞추어 몇가지 주요 오류 수정을 포함한 업데이트를 하게 되었습니다.

즐거운 행사 되시기를 바라며 최선을 다하는 디토랜드 개발팀이 되겠습니다.

감사합니다.

Bug Fixes

  • 월드 입장 시 "접속 중 입장할 월드를 찾지 못했습니다." 라는 팝업이 간헐적으로 출력되던 현상이 수정되었어요.

  • 캐릭터가 떨어지고 있는 것처럼 애니메이션 재생되는 현상이 수정되었어요. (완벽하진 않아요. 조금만 더 기다려주세요. 😥)

  • 여러 명이가 동시에 다른 랜드로 텔레포트를 시도하면 응답이 없던 현상이 수정되었어요.

  • 플레이스의 공유 링크를 눌러 플레이스로 이동하지 않던 현상이 수정되었어요.

  • 버전이 잘못 표시되고 있던 현상이 수정되었어요.

  • 🎥Youtube 객체에서 라이브 방송이 재생되지 않고, 간헐적으로 종료되는 이슈가 수정되었어요.

  • 스튜디오 UI 일부 오류가 수정되었어요.

  • WebForum 에서 연결된 서버 오류가 수정되었어요.

  • 스튜디오 실행, 월드트리의 [Navigation] 클릭 -> 프로퍼티 값을 변경하게 되면 종료되는 현상이 수정되었어요. 😄

  • 갤럭시 노트 10에서 특정 월드 입장 시 앱이 종료되는 현상이 수정되었어요.

Release Note 0.6.0 - Notice

Release Date : 2022.5.18

안녕하세요. 디토랜드 개발팀입니다.

모바일 출시

📱모바일 AOS 출시를 앞두고 있습니다. iOS도 빠른 시일 내에 선보일 예정이니 조금만 기다려주세요.

간편 로그인 적용

😙간편 로그인이 적용되었어요.🎉

이제 구글, 페이스북, 애플 계정으로 쉽고 빠르게 회원 가입 및 로그인이 가능하며,

기존 회원 가입하신 분들은 [마이디토→설정→계정관리 하단 ‘간편 로그인 전환’] 페이지에서 원하는 간편 계정으로 전환할 수 있습니다.

📌 간편 로그인 주의 사항

간편 로그인을 등록하지 않은 계정은 추후💥삭제될 예정이니 꼭 전환해주세요!

→ 간편 로그인으로 전환된 계정은 기존 아이디로 접속할 수 없으니 참고 해주세요.🔒

아이템 샵 초기화 및 럭키박스 추가

아쉽지만, 그동안 무료로 착용 가능했던 👕아이템들을 사용할 수 없습니다. 😢

대신!! 매일 럭키박스로 지급되는 💰디토 골드로 👕아이템을 구매하고 내 부캐 아바타를 멋지게 꾸며보세요.

앞으로 더욱 다양한 👚아이템들로 여러분을 찾아갈 예정 입니다~~ 아이템 폭격💣

개발 편의를 위한 다양한 기능들

  • 기본 템플릿 구조가 변경 되어, 기존 맵이 정상적으로 동작하려면 일부 내용이 수정되어야 합니다. 수정 방법은 ⏬ 아래 링크를 참고해주세요. 🙏 → 메뉴얼 바로가기 👉

  • API Reference 가 갱신 되었습니다. ⏬ 아래 링크에서 최신 버전을 확인해보세요. → API Reference 바로가기 👉

업데이트 되는 💥새로운 기능들을 확인해 보세요.

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)가 되어 있습니다. 🤗

자세한 내용은 아래 Updates 내용을 확인해주세요!!

Updates

새로 스튜디오에 업데이트 된 다양한 기능을 알려 드립니다!!

1. 🍯 프로퍼티를 일괄 복사 붙여 넣기 하는 기능이 추가되었어요 😍

  • 스크립트 파라미터도 일괄 복사 붙여넣기를 할 수 있어요 👏

2. 🍯 스크립트 파라미터의 다중 편집 기능이 추가되었어요 🙌

  • 아쉽지만 Enum은 지원하지 않아요 😢​

3. 🍸 유리 재질의 굴절률을 조절할 수 있게 되었어요.

4. 🍯 타겟 지정 기능 변경!

  • 타겟 박스를 🖱️클릭하고 월드 트리 혹은 필드 상의에 객체를 🖱️클릭해서 🔗타겟을 지정할 수 있어요.

5. 스튜디오 툴 바의 [Material Color]에서 변경되는 🎨컬러를 실시간으로 확인할 수 있어요.

6. 🍯 [Image, Button, InventoryBox, ListView] 위젯에 타입이 추가되었어요. 😊

  • 타입 설정을 통해 Tiling이나 Slice, Border 영역을 지정할 수 있어요

7. 🍯 Image 위젯의 원본 크기를 설정하는 버튼이 추가되었어요. 😊

  • 📑스크립트에서도 SetNativeSize()와 GetNativeSize() 함수로 사용할 수 있어요!

8. 🍯 [월드 설정 - 채팅 설정 - 채팅 창] 설정에서 🗨️채팅 창 위치를 바꿀 수 있는 기능이 추가되었어요.

9. 🍯 [월드 설정 - 채팅 설정 - 말풍선] 설정에서 💬말풍선 사용 여부, 🎨색상 등을 바꿀 수 있는 기능이 추가되었어요.

10. 🧸토이를 업로드 및 다운로드하거나, 팔레트로 등록 할 때 🧸토이 구성을 확인할 수 있는 팝업이 표시되도록 개선되었어요.

11. 스튜디오 템플릿 더블 클릭 오픈 기능 🍯 이제 탬플릿을 새로 만들 때 🖱️더블 클릭으로도 열 수 있어요 🥰

12. 오브젝트 추가 팝업의 디자인이 깔끔하게 개선되었어요 ✨

13. 🍯 토이를 업로드할 때, 참조 값이 있으면 함께 업로드 되도록 기능이 추가되었어요!

14. 🍯 그룹 해제 단축키가 [컨트롤+U] → [컨트롤+시프트+G]로 변경되었어요 🙌

15. 🧍캐릭터 오브젝트의 설정 방식이 [BaseSetting/AppearanceSetting/AnimationSetting] 오브젝트에서 각각 설정하고, 🔗참조하는 방식으로 구조가 변경되었어요.

📑Script Editor 에 새로운 기능이 추가되었습니다.

1. 🍯 [Selection To Function] 기능이 추가되었어요. (단축키 : Ctrl + R)

2. 🍯 [컨트롤+G]를 클릭해 특정 라인의 열로 이동할 수 있는 기능이 추가되었어요.

  • 숫자만 입력 시 [특정 라인]으로 이동합니다.

  • 숫자:숫자 입력 시 [라인:열]로 이동합니다.

3. 🍯 [FileDialog] 창에 정렬, 확대 축소(컨트롤+마우스 휠) 기능이 추가되었어요.

4. 🍯 중단점 디버그 기능이 추가되었어요! 아직 초기 단계이지만 차차 개선할 예정이니 기대해주세요 👏

Ditoland - Script 함수가 추가 및 개선되었어요!

1. 🍯 특정 타입의 오브젝트를 모두 반환하는 Game:FindObjects 함수가 추가되었어요.

local meshList = Game:FindObjects(Workspace, Enum.ObjectType.StaticMesh)

for i = 1, #meshList do
    print(meshList[i]:GetName())
end

2. 🍯 이미지 위젯의 리소스 ID를 변경할 수 있는 ImageID 프로퍼티가 추가되었어요.

--클라 스크립트에서
Worksapce.ScreenUI.Image.ImageID = 11382

--Tip. 기존 함수인 SetImage도 아직은 사용할 수 있지만 곧 없어질 예정이에요!

3. 🍯 스태틱 메쉬의 텍스쳐나 재질을 바꾸는 프로퍼티가 추가되었어요.

--클라 스크립트에서
Workspace.Floor.MaterialID = Enum.MaterialType.Grass
Workspace.Floor.TextureID = 11399

4. 🍯 SpotLight, PointLight 객체에 GetColor 함수가 추가되었어요.

local SpotLight = Script.Parent
print(SpotLight:GetColor())

5. 🍯 캐릭터의 📷카메라 방향을 구하는 함수의 이름이 변경되었어요.

LocalPlayer:GetForwardVector() -> LocalPlayer:GetCameraForward()
LocalPlayer:GetRightVector() -> LocalPlayer:GetCameraRight()

--Tip. 기존의 GetForwardVector와 GetRightVector도 아직은 사용할 수 있지만 곧 없어질 예정이에요!

6. 🍯 LocalPlayer의 이동 및 📷카메라의 활성화 여부를 반환하는 함수가 추가되었어요.

print(LocalPlayer:GetEnableMovementeControl())
print(LocalPlayer:GetEnableCameraControl())

--Tip. 기존의 LocalPlayer.bEnableCameraControl도 아직은 사용할 수 있지만 곧 없어질 예정이에요!

7. 🍯 LineTrace 함수가 LineTraceList로 변경되었어요.

-- 서버에서
local hitResult = **player**:LineTraceList(character:GetLocation(), character:GetTransform():GetForward(), 1000)
for i = 1, #hitList do
    print(hitList[i].HitObject)
end

-- 클라에서
local hitResult = **remotePlayer**:LineTraceList(character:GetLocation(), character:GetTransform():GetForward(), 1000)
for i = 1, #hitList do
    print(hitList[i].HitObject)
end

--Tip. 기존의 player:LineTrace도 아직은 사용할 수 있지만 곧 없어질 예정이에요!

8. 🍯 SetFriction 함수가 삭제되고, Friction, Restitution, Density 프로퍼티가 추가되었어요.

local Cube = Script.Parent

print("Friction ", Cube.Friction)
print("Restitution ", Cube.Restitution)
print("Density ", Cube.Density)

9. 🍯 Detach 함수 사용 시 초기 위치가 아닌 현재 위치로 Detach되도록 개선되고, Detach 함수에 offset 인자가 추가되었어요.

character:Detach() --offset은 생략할 수 있어요.
character:Detach(Vector.new(0, 0, 300)) 

10. 🍯 템플릿에 LibString, LibTable 모듈이 추가되었어요.

  • 자세한 내용은 샘플 맵에서 해당 모듈을 참고하세요.

11. 🍯 로그 함수가 추가되었어요.

Log("Log")
LogWarning("Warning")
LogError("Error")

12. 🍯 Toybox에 있는 객체의 Parent를 변경하려 할 때, 워닝 로그가 출력되게 개선되었어요.

  • Toybox에 있는 객체는 생성해서 사용해야 합니다.

13. 🍯 Player:SetUsingCharacterSetting 함수가 player:ChangeCharacterSetting 함수로 변경되었어요.

player:ChangeCharacterSetting(CharacterSetting)

--Tip. 기존 함수인 SetUsingCharacterSetting도 아직은 사용할 수 있지만 곧 없어질 예정이에요!

14. 🍯 환경 설정 사운드 볼륨 조절 스크립트가 추가되었습니다.

  • 사운드의 SoundType 프로퍼티에 따라 조절됩니다.

--클라 스크립트에서
Game.MasterVolume = 1 -- 마스터 볼륨 조절
Game.MusicVolume = 1 -- 배경음악 볼륨 조절
Game.EffectVolume = 1 -- 효과음 볼륨 조절
Game.EtcVolume = 1 -- 기타 볼륨 조절

-- 스크립트로 볼륨을 조절해도, 플레이어 설정에 오디오 설정 UI 게이지가 변경되지 않지만 곧 추가될 예정이예요!

💻 Manual

DitoLand Platform

디토랜드 홈페이지가 ✨새 단장✨ 했어요.

보다 쾌적한 환경에서 새로워진 디토랜드를 즐겨보세요 🥰

Updates

1. 회원 가입이 간편 로그인 방식으로 변경되었어요! 🙌 이젠 구글, 애플, 페이스북 계정으로 편하게 접속하세요~😊

→ 기존 계정으로도 로그인 할 수 있고, 계정 관리 화면에서 간편 로그인으로 전환할 수 있어요.

🚨 간편 로그인 주의 사항

간편 로그인을 등록하지 않은 계정은 추후💥삭제될 예정이니 꼭 전환해주세요!

→ 간편 로그인으로 전환된 계정은 기존 아이디로 접속할 수 없으니 참고 해주세요.🔒

2. 만들기 메뉴 구조가 변경되었어요! 🙌

  • 내비게이션 메뉴만 우선 적용 되었고, 세부 화면에 나오는 메뉴도 순차적으로 개선될 예정이니 참고해주세요~

3. 추천 월드 🔍검색어 기능이 생겼어요. 이젠 핫한 트랜드를 클릭 한번으로 찾아볼 수 있어요!

4. 이제 내 아바타 프로필 이미지를 선택하면, 개인 설정 메뉴들을 바로 이용할 수 있어요 👏

5. 📱디토랜드 앱이 곧 출시 예정이에요. 지금 📝등록 심사 중에 있으니 조금만 기다려주세요! 😊

→ 앱 출시 전까지 조금만 기다려주세요. 출시 후 스토어로 이동할 수 있는 링크를 제공할 예정이니 참고해 주세요~

→ 플레이스토어 / 앱스토어를 통해 앱 설치전에 기존 설치된 앱은 꼭 삭제 해주세요.

6. 👍디토랜드가 베타 서비스로 업그레이드 되면서 [📋약관 및 개인정보 처리방침📋] 내용도 변경 되었습니다.

7. 🎁매일 디토 골드가 쏟아지는 럭키박스가 지급됩니다. 획득한 디토 골드로 🧛‍♂️아바타를 멋지게 꾸며보세요!!🦸‍♀️

8. 📱 App 알림 방해 금지 설정 기능이 추가되었어요.

9. 📱 App 통합 검색 기능이 개선되어 이젠 월드와 유저 모두 검색이 가능합니다.🔎

10. 📱 App 마케팅 수신 동의 기능이 개선되었습니다. 이젠 야간에 알림을 받지 않게 설정하실 수 있어요.📴

Bug Fixes

  1. 📱모바일에서 컨트롤이 먹통💣이 되던 현상이 수정되었어요. 🙏

  2. 📱모바일에서 OnPressEvent 동작 시 카메라가 의도치 않게 회전하는 현상이 수정되었어요.

  3. 스튜디오에서 📁파일을 오픈 할 때 “잘못된 경로의 맵 파일 입니다 “팝업이 출력 되는 현상이 수정되었어요.

  4. 환경 객체의 ⏰CurrentTime 속성으로 현재 시간 출력 시, 값이 드문드문 변경되는 현상이 수정되었어요.

  5. 📱 모바일 기기에서 마이디토 아바타 프로필 이미지가 🙃뒤집혀 보이는 문제가 수정되었어요.

  6. 📱 모바일 기기에서 마이디토 아바타 프로필 이미지가 낮은 화질로 보여지는 문제가 해결되었어요.

  7. 간헐적으로 🎙️음성 채팅의 [마이크 볼륨 / 음성 채팅 볼륨 값]이 0으로 출력 되는 문제가 수정되었어요.

  8. 기업 계정으로 스튜디오에 접속했을 때, 🎥유튜브 객체를 추가하고 플레이 테스트 하면 스튜디오가 간헐적으로 종료💣되는 문제가 수정되었어요.

  9. SendEvent로 🎨Color 인자를 전달할 수 없는 버그가 수정되었어요.

  10. QuickSlot에 등록된 🗡️Item이 사라지는 경우 OnChangedQuickSlot 이벤트가 호출되지 않는 현상이 수정되었어요.

  11. 🗡️Item장착 처리 시 ClearItem을 하지 않고 UnequipItem하는 경우, 재 장착 시 비정상적인 에러가 출력 되는 현상이 수정되었어요.

  12. 🌟이펙트 재생 시 Play when created를 false로 설정할 경우, OnBeginOverlapEvent함수로 🌟이펙트 Play가 안되던 현상이 수정되었어요.

  13. 🥣스튜디오에서 팔레트를 2개 이상 생성한 뒤에 팔레트 1개를 삭제하면, 나머지 팔레트가 🖱️우 클릭 되지 않던 현상이 수정되었어요.

  14. 객체에 Vector나 🎨Color변수를 할당한 뒤 값을 바꾸면, Get할 때 초기 값이 얻어지는 현상이 수정되었어요.

  15. AddWorldRot함수가 기대한 값과 다르게 조금씩 ✨오차가 나던 현상이 수정되었어요.

  16. 🌟 빔 FX가 생성 즉시 가시성이 올바르게 동작하도록 수정되었어요.

  17. SetText로 소수를 찍을 때 math.floor를 쓰지 않아도 ✨소수가 제대로 출력 되지 않는 문제가 수정되었어요.

  18. 🧍Character의 부모를 변경하려고 하면 💥Crash가 발생하는 현상이 수정되었어요. 이제 콘솔에 Error를 출력해요.

  19. 스크립트 파라미터로 받는 String이 이제 🔠대소문자 구별을 하도록 수정되었어요.

  20. 🌟 이펙트 일부가 📱모바일 환경에서 제대로 보이지 않던 문제가 수정되었어요.

  21. 🎥Youtube객체에서 Pause, IsPause, Close등 함수가 특정 상태에서 제대로 동작하지 않던 문제가 수정되었어요.

  22. 💊Capsule Collider의 Diameter가 Height보다 크지 않도록 수정되었어요.

  23. SphereCollider의 반지름이 ✨지름처럼 적용되던 문제가 수정되었어요.

  24. 웹페이지가 열릴 때 ⬜하얗거나 ⬛검은 화면이 나오는 경우가 수정되었어요.

Release Note 0.5.4 - Notice

Release Date : 2022.3.31

DitoLand Platform

Updates

  • 🏅제1회 디토랜드 크리에이터 경진대회🏅가 시작됩니다. 메타버스 크리에이터에 도전해보세요. 자세한 내용은 [디토랜드 크리에이터 경진대회 안내]를 참고하세요 .🎉

  • 다운로드 안내 페이지 내용이 수정되었어요. 💻

Known Issues

  • 스튜디오에서 파일을 오픈할 때 “잘못된 경로의 맵 파일 입니다 “팝업이 출력되고 있습니다. 📃 이후에 맵 파일은 정상적으로 로딩 동작 하고 있어요. 😅

  • 현재 가이드 페이지의 🔍 검색이 원활하지 않은 이슈가 있어요. 😥

  • 📱 모바일 기기에서 캡쳐된 마이디토 이미지가 낮은 화질로 보여지는 문제가 있어요.

  • 📱 모바일 기기에서 캡쳐된 마이디토 이미지가 뒤집혀 보이는 문제가 있어요.

  • 간헐적으로 🎙️보이스 셋팅의 [마이크 볼륨 / 음성 채팅 볼륨값]이 0으로 출력 되는 문제가 발생해요.

  • 기업 계정으로 스튜디오에 접속했을 때, 🎥유튜브 객체를 추가하고 플레이 테스트 하면 스튜디오가 간헐적으로 종료💣되는 이슈가 있어요. 다만 월드로 등록하고 홈페이지에서 접속하면 정상으로 동작합니다. 🙏

  • 웹페이지가 열릴 때 하얗거나 검은 화면이 나오는 경우가 있습니다. 😣

  • 🗑 Net(그물) 재질의 twoside옵션을 문제 해결 시 까지 제거합니다.

  • 💥 이펙트 - LineTrail의 TargetLocation으로 설정한 물체가 움직일 때 이펙트가 보이지 않는 현상이 있습니다.

Release Note 0.5.3 - Notice

Release Date : 2022.3.23

Updates

Bug Fixes

  • 🕹 앱 아이콘이 언리얼 아이콘으로 나오던 현상이 수정되었어요.

  • 스튜디오에서 메모리 ⚙가 과도하게 점유되는 현상이 🛠 수정되었어요.

  • 🖼 PDF를 공유한 방에서 재접속시 앱이 🎇 종료되던 문제가 🔧 해결되었어요.

DitoLand Platform

Bug Fixes

  • 비공개 월드의 👨‍👨‍👧‍👧 그룹원 테스트 기능이 동작하지 않는 오류가 🔨 수정되었어요. 이제 비공개로 👨‍👨‍👧‍👧 그룹원들끼리 테스트 하는기능이 정상 동작해요. 🥰

Known Issues

  • 스튜디오에서 파일을 오픈할 때 “잘못된 경로의 맵 파일 입니다 “팝업이 출력되고 있습니다. 📃 이후에 맵 파일은 정상적으로 로딩 동작 하고 있어요. 😅

  • 음성 채팅이 없는 월드를 방문한 뒤 플레이스에 들어가면 음성 채팅과 마이크 뷸륨이 1로 줄어드는 현상이 있어요🔇 이때는 환경설정>Voice 항목으로 들어가 볼륨을 올리면 정상적인 이용이 가능합니다.

  • 현재 가이드 페이지의 🔍 검색이 원활하지 않은 이슈가 있어요. 😥

  • 📱 모바일 기기에서 캡쳐된 마이디토 이미지가 낮은 화질로 보여지는 문제가 있어요.

  • 📱 모바일 기기에서 캡쳐된 마이디토 이미지가 뒤집혀 보이는 문제가 있어요.

  • 간헐적으로 🎙️보이스 셋팅의 [마이크 볼륨 / 음성 채팅 볼륨값]이 0으로 출력 되는 문제가 발생해요.

  • 기업 계정으로 스튜디오에 접속했을 때, 🎥유튜브 객체를 추가하고 플레이 테스트 하면 스튜디오가 간헐적으로 종료💣되는 이슈가 있어요. 다만 월드로 등록하고 홈페이지에서 접속하면 정상으로 동작합니다. 🙏

  • 웹페이지가 열릴 때 하얗거나 검은 화면이 나오는 경우가 있습니다. 😣

  • 🗑 Net(그물) 재질의 twoside옵션을 문제 해결 시 까지 제거합니다.

  • 💥 이펙트 - LineTrail의 TargetLocation으로 설정한 물체가 움직일 때 이펙트가 보이지 않는 현상이 있습니다.

Release Note 0.5.2 - Notice

Release Date : 2022.3.16

Updates

  • 각 월드의 로딩 속도가 대폭 상승 🎉 되었습니다. 더욱 빨라진 디토랜드를 만나보세요. ✨

  • 기업계정용 PDF강의 기능 🖼이 추가되었습니다. 여러명에게 문서를 화면으로 공유 및 페이지 동기화가 가능합니다. 사용 후 많은 피드백 부탁드립니다.

  • 대한민국 💂‍♂️ 육군 전투복 및 정복 복장이 추가되었습니다 (추후 사전 고지 없이 삭제될 수 있습니다)

  • 🔊 보이스 채팅이용시에 통신망의 변경이나 접속 오류로 인해 끊김 발생시에 재연결을 시도하도록 개선되었습니다.

  • 스튜디오와 대시보드에 🏃‍♂️ 고통 애니메이션이 추가되었어요. (스튜디오에서는 애니메이션 추가 팝업의 감정표현탭에서 설정할 수 있어요.)

  • 스튜디오에 🏃‍♂️ 좀비_공격_0 애니메이션이 추가되었어요. (스튜디오에서는 애니메이션 추가 팝업의 감정표현탭에서 설정할 수 있어요.)

  • 스튜디오와 대시보드에 교복 및 운동복 🙎‍♂️🙎‍♀️ 의상이 추가되었어요. (상의3종, 하의3종)

  • 배경음 15종이 추가되었어요. BGM_ 으로 검색해보세요.

  • 효과음 20종이 추가되었어요. SFX_ 으로 검색해보세요.

Ditoland - Script

Bug Fixes

  • 🔧 월드트리에서 Toybox의 CharacterSetting의 Child로 StaticObject 생성 후, SurfaceUI 생성하면 스튜디오 실행 시 강제종료 되는 버그 수정되었습니다.

Known Issues

  • 현재 가이드 페이지의 🔍 검색이 원활하지 않은 이슈가 있어요. 😥

  • 📱 모바일 기기에서 캡쳐된 마이디토 이미지가 낮은 화질로 보여지는 문제

  • 📱 모바일 기기에서 캡쳐된 마이디토 이미지가 뒤집혀 보이는 문제

  • 간헐적으로 🎙️보이스 셋팅의 [마이크 볼륨 / 음성 채팅 볼륨값]이 0으로 출력 되는 문제가 발생해요

  • 기업계정 스튜디오로 🎥유튜브객체를 넣고 플레이테스트시 스튜디오가 간헐적으로 종료💣되는 이슈가 있습니다. 🙏 등록 후 플레이어에서는 정상 동작합니다.

  • 웹페이지가 열릴대 하얗거나 검은 화면이 나오는 경우가 있습니다. 😣

  • 🗑 Net(그물) 재질의 twoside옵션을 문제 해결시까지 제거합니다.

  • 💥 이펙트 - LineTrail의 TargetLocation으로 설정한 물체가 움직일 때 이펙트가 보이지 않는 현상이 있습니다.

Release Note 0.5.1 - Notice

Release Date : 2022.2.25

안녕하세요. 디토랜드 개발팀입니다. 개발팀은 현재 모바일 버전 정식 출시와 사용자 에셋 업로드 기능을 중점적으로 개발하고 있으며 곧 여러분에게 선뵐 날이 다가오고 있음을 알려드립니다. 디토랜드 많은 사랑과 관심 부탁드립니다. 질문이나 오류 보고 등은 언제든지 디스코드 채널로 문의 부탁드립니다.

Updates

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)를 했으니 한번 찾아보세요! 🤗

  • 📑 스크립트 에디터의 기능이 추가되고 UX가 개선되었어요. 🎊

  • 🍯📑 스크립트 에디터에서 코드영역을 지정 후, Ctrl + Shift + C 키를 입력하면 주석으로 설정되는 기능이 추가되었어요. 😍

  • 🍯📑 스크립트 에디터에서 찾기/바꾸기 기능을 이제 단축키로 사용할 수 있어요. 🤗 현재 스크립트에서 찾기 : Ctrl + F / 현재 스크립트에서 바꾸기 : Ctrl + H 전체 스크립트에서 찾기 : Ctrl + Shift + F / 전체 스크립트에서 바꾸기 : Ctrl + Shift + H

  • 🍯📑 스크립트 에디터에서 전체 찾기의 입력창이 화면 하단에서 화면 상단으로 위치가 변경되었어요. 🎈

  • 🍯📑 스크립트 에디터에서 Explorer에 있는 객체를 드래그한 뒤, 스크립트 입력창의 라인 번호로 드랍하면 해당 객체의 주소가 🎁 자동 완성되는 기능이 추가되었어요. (스크립트를 드랍시에는 새로운 탭으로 열리게 됩니다.)

  • 🍯📑 스크립트 에디터에서 스크립트 탭을 우클릭후, Explorer View를 클릭하면 해당 스크립트의 🔍 위치를 찾을 수 있어요.

  • 🍯2옥타브 분량의 🎹 피아노 키음 리소스 🎶가 추가되었어요. 툴박스에서 오디오 카테고리를 선택한 뒤, Piano를 검색해보세요. 🤩

Ditoland - Script

Bug Fixes

  • 캐릭터와 NPC의 🚶‍♀️ 길찾기 이동이 동작하지 않는 현상이 🔧수정되었어요.

  • SetButtonHoverColor/SetButtonPressColor 함수로 버튼 🎨 색상을 변경하면 설정한 색상보다 어둡게 나타나는 현상이 수정되었어요.

  • 🏀 Crevase 토이 위에 올라타면 Fall 애니가 출력되는 현상이 수정되었어요.

  • 특정맵의 💡 워닝로그에서 표시되는 라인이 실제 코드상의 라인과 다른 현상이 수정되었어요.

Known Issues

  • 현재 스튜디오의 월드트리에서 HUD 루트에 TouchUI를 생성하고 자식을 추가할 때 프로그램이 종료되는 이슈가 있어요

DitoLand Platform

Bug Fixes

  • 새로 가입한 계정의 🙍‍♂️ 아바타 이미지가 출력되지 않던 문제가 수정되었어요. ✨

Known Issues

  • 현재 가이드 페이지의 🔍 검색이 원활하지 않은 이슈가 있어요. 😥

  • 📱 모바일 기기에서 캡쳐된 마이디토 이미지가 낮은 화질로 보여지는 문제

  • 📱 모바일 기기에서 캡쳐된 마이디토 이미지가 뒤집혀 보이는 문제

  • 아바타 이미지 저장 방식이 개선되면서 웹에 출력되던 이미지가 초기화 되었습니다. 😥 대시보드에서 🙍‍♂️ 아바타 설정 변경 후 다시 저장 시 정상출력 됩니다. 🙏

  • 간헐적으로 🎙️보이스 셋팅의 [마이크 볼륨 / 음성 채팅 볼륨값]이 0으로 출력 되는 문제가 발생해요.

Release Note 0.5.0 - Notice

Release Data : 22.02.16

기본 템플릿의 구조의 변경으로 기존 맵이 동작하려면 일부 내용이 수정되어야 합니다. 🙏 수정 방법은 ⏬ 아래와 같습니다.

0.5.0 Map Changes

Updates

  • 월드 트리의 🔍 검색 기능이 개선 되었어요. 검색한 글자가 하이라이트 되며, X 표시로 작성한 검색을 지울 수 있어요. 🗑

  • 팝업 메뉴가 ✨개선✨ 되었어요. 필드에서 📦스테틱매쉬, 🔥이펙트를 생성할 수 있으며, 월드 트리에서도 다양하게 사용 가능해요.

  • 🧐뷰필터 기능이 추가되었어요. 뷰필터를 이용해, 아이콘 혹은 오브젝트를 👓숨김 처리 할 수 있어요.

  • 🎥 TOP 카메라 모드가 추가되었어요. 카메라가 탑뷰로 변경되어, 맵 제작이 더 용이해졌어요. 스튜디오 설정에서 🎛 카메라 값을 변경할 수 있어요.

  • 시작시 보이스 채팅 기본값이 Mute로 변경되었어요.

  • PC - 보이스 챗 On/Off v키 버튼이 제거 되었어요

  • 일부 이펙트에 중력(GravityForce) 속성이 추가되었습니다.

DitoLand - Script

  • 🚶‍♀️ 캐릭터의 🕹 조작 처리 방식이 변경되었어요. (bShowMouseCursor와 bCaptureMousePermanently를 이용한 처리도 아직은 가능합니다.)

    --입력모드를 설정합니다. 
    --Enum.InputMode.Game : 마우스 커서가 안보이고 마우스 움직임에 따라 카메라가 회전하는 모드입니다.
    --num.InputMode.UI : 오직 UI 하고만 상호작용하는 모드입니다.
    --num.InputMode.GameAndUI : 마우스 커서가 보이면서 UI 와 상호작용하고 클릭 드래그로 카메라를 회전할 수 있는 모드입니다.
    LocalPlayer:SetInputMode(Enum.InputMode.Game)
    
    --현재 입력모드를 얻습니다. (0-정의안됨, 1-Game, 2-UI, 3-GameAndUI)
    LocalPlayer:GetInputMode()
    
    --현재 입력모드를 임시저장 합니다.  
    LocalPlayer:StoreCurrentInputMode()
    
    --StoreCurrentInputMode 함수로 저장했던 모드로 되돌아 갑니다.
    LocalPlayer:RestorePreviousInputMode()
  • 🌤 환경의 현재 ⏱ 시간 속성이 추가되었어요.

    local Environment = Workspace.Environment
    print(Environment.CurrentTime)
  • 🧍‍♀️🧍‍♂️ 팀 배분 타입(Enum.DivideTeamType) 중 Order 타입이 삭제되었어요. (Equal 타입을 사용하는 것을 권장해요!)

    Game:SetTeamSetting(Enum.TeamType.Team, Enum.DivideTeamType.Equal)
  • 🕳 텔레포트 함수의 LandID(랜드 번호) 인자가 LandOrder(랜드 연결 순서)로 변경되었어요.

    --시작랜드 0, 연결랜드 순서대로 1~
    
    local LandOrder = 1
    
    Game:TeleportToPublicServer(LandOrder, movePlayerNameList, "")
    Game:TeleportToPrivateServer(LandOrder, movePlayerNameList, "")
    
    --------------------------------------------------------------------------------
    local function PortalA_TeleportStart(player)
    end
    Game:AddTeleportStartEvent(LandOrder, PortalA_TeleportStart)
    
    --------------------------------------------------------------------------------
    local function TeleportFailed(TeleportErrorType, player, LandOrder)
    end
    Game.OnTeleportFailedEvent:Connect(TeleportFailed)
    
    --현재 랜드의 순서를 반환해요
    local GetCurrentLandOrder = Game:GetCurrentLandOrder() 
  • 💼🍖 인벤토리/아이템 관련 함수의 인덱스가 1부터 시작되도록 통일되었어요.

    --해당 함수 목록
    player:GetInventoryItem(id)
    LocalPlayer:UseInventoryItem(id)
    player:EquipInventoryItem(id)
    LocalPlayer:UnEquipInventoryItem(id)
    LocalPlayer:WorldDropInventoryItem(id)
    player:DeleteItem(id)
  • 💼🍖 인벤토리/퀵슬롯의 크기를 초기화하는 함수의 이름이 변경되었어요.

    SetInventorySize => **Init**InventorySize
    SetQuickSlotCount => **Init**QuickSlotCount
  • 💼 인벤토리에 보유한 🍖 아이템의 슬롯 인덱스를 반환하는 GetInventoryItemList() 함수가 추가되었어요.

    --GetInventoryItemList()는 LocalPlayer와 서버 Player에서 사용 가능해요.
    local InvenItems = LocalPlayer:GetInventoryItemList() --{ 1, 4, 11, 3 }
    
    for SlotIndex, SlotItem in pairs(InvenItems) do
        print(SlotIndex, " ", SlotItem:GetName())
    end
  • 🎈 Game:PickUpItem 함수가 Game:GiveItem로 변경되었어요.

  • 🔊 사운드를 설정하는 🎚 프로퍼티가 추가되었어요.

    local Sound = Workspace.Sound
    
    Sound.SoundID = 8807 --사운드의 리소스에요
    Sound.Volume = 1 --사운드의 볼륨이에요
    Sound.Pitch = 1 --사운드의 음정이에요
    Sound.Priority = 0 --사운드의 재생 우선순위에요
    Sound.IsLoop = true --사운드의 반복 여부에요
  • 🎪 기본 템플릿의 DefaultSpawnSetting에서 SpawnRadius로 캐릭터 스폰 반경 😉을 설정할 수 있어요.

Manual

  • 🖥 Video Tutorial에 스크립트 심화 강좌가 추가🎀되었어요.

스크립트 심화 강좌
  • 🔨 작업 효율을높이는 스튜디오 팁이 추가되었어요.

Studio Workflow Tips
  • 💾 SaveUserData 매뉴얼에 사용할 수 있는 ⚙ 데이터 타입 및 테이블 처리 유의사항 내용이 추가되었어요.

SaveUserData
  • 🎡 Coroutine 매뉴얼의 resume와 yield에 대한 내용이 보완되었어요.

Coroutine
  • 🚚 Resource 내용에 웹에서 검색, 토이 업로드 설명이 추가되었어요.

Resources
  • 🚶‍♀️ NavMeshVolume 내용에 프로퍼티 설명이 추가되었어요.

NavMeshVolume

Bug Fixes

  • 🛠 AttachAtTop 처리시 동기화가 제대로 이루어지지 않는 현상이 개선되었어요.

    --서버 스크립트에서
    wait(1)
    character:AttachAtTop(Workspace.Cube)
    wait(1)
    character:Detach()
  • ⛏ 콜라이더에 닿은 상태에서 테스트 플레이 종료시 잘못된 에러가 출력 되는 현상이 수정되었어요.

  • 📱 모바일 기기에서 다른 앱 실행 후 돌아오면 꺼지던 문제가 수정되었어요

Known Issue

  • 현재 🧍‍♀️캐릭터와 🧍‍♂️NPC의 길찾기가 동작하지 않는 현상이 있어요. 😢

  • 현재 가이드 페이지의 🔍 검색이 원활하지 않은 이슈가 있어요. 😥

  • 📱 모바일 기기에서 캡쳐된 마이디토 이미지가 낮은 화질로 보여지는 문제

  • 📱 모바일 기기에서 캡쳐된 마이디토 이미지가 뒤집혀 보이는 문제

  • 일부 개발중 기능이 포함되어 있으며 동작을 보장하지 않아요.

DitoLand Platform

Updates

  • 월드 상세페이지가 개선되었어요~ 😘

  • 월드 리뷰 기능✒이 추가되었어요~ 이젠 월드 후기를 다른 👩‍🦰🧒친구들과 공유해보세요.

  • 월드 상세 이미지🖼를 추가로 등록하지 않으면 캡쳐 이미지로 노출되도록 변경되었어요.

  • 📱 App에서 비공개 플레이스 공유 시 입장코드도 함께 발송되도록 🔧개선되었어요.

  • 📱 App 플레이스 태그 선택 검색 기능이 복수 선택 가능하도록 🔧개선되었어요.

  • 📱 App에 오픈소스🧾가 고지되었습니다.

  • 📱 App 친구 프로필 화면에 친구의 🙍‍♂️아바타를 확인할 수 있도록 전신 이미지🕺가 추가되었어요.

Release Note 0.4.0 - Notice

Release Data : 2021.12.14

안녕하세요 디토랜드 개발팀입니다. ✨ 오랜만에 인사드립니다. 🎈 즐거움전 이후로 많은 사항이 개선/추가 되었습니다. 🎉 또한 📱모바일 버전을 드디어 선보일 수 있게 되었습니다. 🥰 다소 부족하지만 정식 출시 될때까지 많은 부분을 개선할 예정이니 정식출시까지 조금만 더 기다려주세요. 😙

기본 템플릿의 구조의 변경으로 기존 맵이 동작하려면 일부 내용이 수정되어야 합니다. 🙏 수정 방법은 ⏬ 아래와 같습니다.

0.4.0 Map Changes

Updates

놓치면 아쉬운 내용들에 달콤한 꿀 표시(🍯)를 했으니 한번 찾아보세요! 🤗

  • 🍯드디어 모바일 테스트 버전이 출시되었어요. 🎊

    • 기본 템플릿에 모바일 조작🕹이 추가되었어요!

    • 이제 업데이트 이후 스튜디오에 있는 템플릿 맵들로 작업을 시작하면 기본적으로 모바일 조작이 지원돼요. 😍

    • 일부 기능이 미동작 하거나 오류가 있을 수 있어요. 🕵️‍♂️ 디스코드 채널로 문의 부탁드려요.

    • 현재 보여지는 아바타 착용 아이템🧥🥼🩳들은 정식 출시시 초기화 될 수 있음을 다시 안내 드려요.

    • 다소 불안정하거나 최적화에 문제 있을 수 있는 점 양해 부탁드려요. 🙏 iOS 도 곧 선보이도록 할게요.

  • 🍯배경 재질이 리뉴얼✨됩니다. 이에 따라 기존에 배치된 일부 객체들의 재질이 초기화될 수 있습니다.

  • 유저데이터, 리더보드와 관련된 💾 게임데이터가 초기화되었어요.

  • 작업 표시줄에 Output 윈도우, Script Editor 윈도우의 이름이 표시되게 개선되었어요. ⛏

  • 🍯월드트리에서 오브젝트를 선택한 뒤, F2키를 눌러 ✏이름을 재설정할 수 있게 개선되었어요.

  • 🍯월드트리의 오브젝트 순서🔁를 자유롭게 변경할 수 있도록 개선되었어요.

  • 🍯객체에 추가한 스크립트 프로퍼티의 순서🔁를 변경할 수 있게 개선되었어요.

  • ScreenUI의 표시 순서를 설정하는 ViewOrder 프로퍼티가 추가되었어요. 😎

  • 구성된 위젯의 위치와 크기에 따라, SurfaceUI의 크기가 자동 조절🎛되도록 변경되었어요. 이 기능을 이용하려면 SurfaceUI의 AutoCanvasSize 프로퍼티를 활성화해야해요.

  • 🍯Text 위젯의 세로 정렬 프로퍼티가 추가되었어요. 📋

  • 🍯Text 위젯의 내용을 편집할 때, Shift+Enter키를 입력해서 줄바꿈📑을 이용할 수 있어요.

  • 🍯Text 위젯에 AutoSize 프로퍼티가 추가되었어요. ✒

  • 🍯UI 위젯에 피벗 설정에 사용할 수 있는 ♟ UI Alignment 프로퍼티가 추가되었어요.

  • 🍯자식 위젯도 앵커를 설정할 수 있도록 개선되었어요. 🤗

  • 🧜‍♂️ NPC 오브젝트의 구조가 변경되었어요. 자세한 내용은 NPC 매뉴얼을 참고하세요! 📙

NPC
  • 🍯스크립트 파라미터에 오브젝트 참조 유형🧵이 추가되었어요.

  • 🍯스크립트 자동 완성 기능이 추가되었어요. 아쉽게도 현재는 내장함수만 지원해요. ⌨ 앞으로 더 많은 자동완성기능이 준비될 예정입니다!

Ditoland - Script

  • 추가 사항

    • 🍯Blank 템플릿에 셀프카메라 기능이 추가되었어요! 📷 이제부터 생성하시는 월드에서는 셀프 카메라 기능이 적용됩니다. 친구들과 즐거운 셀카 타임 보내세요. 🤟

    • 🍯print() 함수의 인자로 오브젝트 전달시, 이름이 출력되게 개선되었어요. 🤩

      print(Workspace.SpawnPoint) 
      --SpawnPoint:GetName()을 쓰지 않아도 이름이 바로 출력됩니다.
    • 🍯SetTransform()을 거치지 않고, 바로 😁 SetLocation(), SetRotation()를 사용할 수 있게 개선되었어요!

      Cube:SetLocation(pos) --위치값을 설정해요.
      Cube:SetRotation(rot) --회전값을 설정해요.
    • 객체의 트랜스폼, 위치값, 회전값을 📐로컬축으로 설정할 수 있는 함수가 추가되었어요!

      Cube:SetLocalLocation(pos) --로컬축으로 위치값을 설정해요.
      Cube:SetLocalRotation(rot) --로컬축으로 회전값을 설정해요. 
      Cube:SetLocalTransform(tr) --로컬축으로 트랜스폼을 설정해요.
    • 🍯IsVisible() 함수 이름이 GetVisible() 함수로 변경되고, UI 위젯의 활성화 상태를 받아올 수 있게 변경되었어요. ✋

    • 🍯UI 위젯의 위치값을 반환하는 GetLocation() 함수가 추가되었어요. 🕹

    • 🍯UI 위젯 생성 함수가 📦추가되었어요!

      local TargetUI = Script.Parent.ScreenUI
      
      wait(2)
      local newFrame = Game:CreateUIWidget(Toybox.CopyUI.Frame) --UI 위젯를 생성한뒤, 변수에 할당해요.
      TargetUI:AddChildUIWidget(newFrame) --ScreenUI의 자식 객체로 위젯(newFrame)을 지정해요.
      TargetUI.Frame:SetLocation(-258, -174) --위젯의 위치를 설정해요.
      
      wait(2)
      local newImage = Game:CreateUIWidget("Icon", Toybox.CopyUI.Image) --UI 위젯을 Icon 이름으로 생성한뒤, 변수에 할당해요.
      newImage:SetParentUIWidget(TargetUI.Frame) --위젯(Icon)의 부모 객체(위젯)을 지정해요.
      TargetUI.Frame.Icon:SetLocation(-50, -50) --위젯의 위치를 설정해요.
      
      wait(2)
      TargetUI.Frame:Delete() --위젯을 제거해요.
    • 캐릭터의 이동속도, 점프속도 등을 받아오는 함수가 추가되었어요. 🏃‍♀️

      print("MaxSpeed ", character:GetMaxSpeed())
      print("MaxJump ", character:GetMaxJump())
      print("FlyControl ", character:GetFlyControl())
      print("FlyMaxSpeed ", character:GetFlyMaxSpeed())
    • 할당된 값이 있는지 ❓확인할 때 사용할 수 있는 IsValidValue 함수가 추가되었어요.

      --객체에 할당된 값이나 오브젝트를 이름으로 찾아서 있는지 여부를 bool로 반환해요
      if Workspace.SpawnPoint:IsValidValue("SurfaceUI") == true then
          print(Workspace.SpawnPoint.SurfaceUI:GetName())
      end
      
      if Workspace.SpawnPoint:IsValidValue("ScreenUI") == false then
          print("ScreenUI가 없어요!")
      end
    • 🚫 할당되지 않은 값에 접근할때 에러가 출력되도록 개선되었어요.

  • 변경 사항

    • 일부 함수/속성의 사용 방식이 아래와 같이 변경되었어요. 🔧 아직 기존 방식과 변경된 방식 둘다 사용할 수 있지만, 기존 방식의 함수를 사용하면 수정을 권장하는 로그가 표시된답니다!

      충돌 관련
      OnCollisionEvent ⇒ .Collision.OnCollisionEvent 
      OnBeginOverlapEvent ⇒ .Collision.OnBeginOverlapEvent 
      OnEndOverlapEvent ⇒ .Collision.OnEndOverlapEvent 
      OnOverlapUpdateEvent ⇒ .Collision.OnOverlapUpdateEvent 
      SetCollisionType ⇒ .Collision:SetCollisionType 
      SetCharacterCollisionResponse ⇒ .Collision:SetCharacterCollisionResponse 
      SetUserCollisionTypeResponse ⇒ .Collision:SetUserCollisionTypeResponse 
      SetEnableCollision⇒ .Collision:SetEnableCollision
      
      트랙 관련
      AddLocalMove ⇒ .Track:AddLocalMove
      AddLocalRot ⇒ .Track:AddLocalRot 
      AddLocalScale ⇒ .Track:AddLocalScale 
      AddWorldMove ⇒ .Track:AddWorldMove 
      AddWorldRot ⇒ .Track:AddWorldRot 
      AddEmpty ⇒ .Track:AddEmpty 
      PlayTransformTrack ⇒ .Track:PlayTransformTrack 
      StopTransformTrack ⇒ .Track:StopTransformTrack 
      PauseTransformTrack ⇒ .Track:PauseTransformTrack 
      ResumeTransformTrack ⇒ .Track:ResumeTransformTrack 
      IsPlayingTransformTrack ⇒ .Track:IsPlayingTransformTrack 
      ResetTransformTrack ⇒ .Track:ResetTransformTrack 
      RemoveTransformTrack ⇒ .Track:RemoveTransformTrack 
      ResetTransform ⇒ .Track:ResetTransform 
      SetEndEventTransformTrack ⇒ .Track:SetEndEventTransformTrack
      
      물리 관련
      SetFriction ⇒ .Physics:SetFriction
      AddForce ⇒ .Physics:AddForce (캐릭터의 AddForce 함수는 기존과 동일합니다.)
      OverrideMass ⇒ .Physics.OverrideMass 
      MassInKg ⇒ .Physics.MassInKg 
      LinearDamping ⇒ .Physics.LinearDamping 
      AngularDamping ⇒ .Physics.AngularDamping 
      SetSimulatePhysics ⇒ .Physics.SetSimulatePhysics 
      
      🛠 수정 예시 🛠
      Object.OnBeginOverlapEvent:Connect(SomeFunction) => Object.**Track**.OnBeginOverlapEvent:Connect(SomeFunction)
    • SetPercent 함수의 인자 단위가 정수에서 실수💉로 변경되었어요.

      --이전
      HPUI.HPBar:SetPercent((value/MaxHP) * 100) --이제 이렇게 사용하지 않고,
      
      --현재
      HPUI.HPBar:SetPercent(value/MaxHP) --이렇게 사용해야해요!
    • AddReplicateValue 함수의 마지막 인자가 제거되었어요. 🔨

      --이전
      Object:AddReplicateValue("MaxHP", Script.MaxHP, Enum.ReplicateType.Changed, 0, false)
      
      --현재
      Object:AddReplicateValue("MaxHP", Script.MaxHP, Enum.ReplicateType.Changed, 0)
    • OnCreateEvent 이벤트가 삭제되었어요. 🪓

    • Item의 AddAction, AddToggleAction 함수에서 조작키 인자가 마지막으로 변경되었어요. 🛠

      --이전
      Item:AddAction("Fire", **Enum.Key.LeftMouseButton**, Body.FireRate, true, StartClick) --이제 이렇게 사용하지 않고,
      
      --현재
      Item:AddAction("Fire", Body.FireRate, true, StartClick, **Enum.Key.LeftMouseButto**n) --이렇게 사용해야해요!
    • 캐릭터의 🚶‍♂️애니메이션 동기화 처리 방식이 변경되었어요. 이 내용은 Toybox/CharacterSetting/DefaultCharacterAnimSetting에서 확인할 수 있답니다.

Manual

  • 여러개의 랜드를 하나의 게임🎮에 연결할 때 활용할 수 있는 랜드 🕳텔레포트🕳 매뉴얼이 추가되었어요! 💫

Land Teleport
  • 여러 코드를 동시🎢🎇🎶에 동작시킬때 이용할 수 있는 코루틴 매뉴얼이 추가되었어요.

Coroutine
  • ⏱지정한 시간 뒤에 로직이 동작⚙하게 하는 AddTimeEvent 매뉴얼이 추가되었어요.

AddTimeEvent
  • 💾 유저 데이터 저장 및 불러오기 매뉴얼이 추가되었어요.

SaveUserData

DitoLand Platform

Updates

  • DitoLand ⚜대표 URL이 .net 에서 .com 으로 변경되었어요. 대표 URL은 변경됐지만 .com, .net, .co.kr 모두 접속하실 수 있어요~

  • DitoLand APP 테스트버전을 apk 파일을 직접 다운받아 설치 하실 수 있습니다. 😘 DitoLand APP Alpha 다운로드 >>

  • 모바일에서 간단한 설정만으로 메타버스 공간을 생성할 수 있게 되었습니다. 🤸‍♀️ 모임, 온라인회의, 발표회 등 다양한 온라인 메타버스 행사를 디토랜드 플레이스로 활용해 보세요~

  • 홈페이지 가로 해상도가 최대 사이즈 에서도 UI가 틀어지지 않도록 최적화 되었어요. ✌

  • 🧍‍♂️🧍‍♀️ 방문자 수 표기가 축약어로 변경되었어요.

  • 월드 공유 기능 추가되었어요. 이제 채팅을 통해 🎪 월드를 공유하고 친구와 함께 월드를 탐험하세요.

  • 월드 방문할때 친구가 접속해 있다면 찾아가는 기능이 추가되었어요. 🎭

  • 홈페이지 하단 푸터에 디토랜드 교육사이트 바로가기 메뉴가 추가되었어요. 🎓 디토랜드의 다양한 교육프로그램을 확인해보세요~ 🧐

  • 홈페이지에서 🎎대시보드 접속할때 자동 로그인 되도록 개선되었어요.

Bug Fixes

  • 방문자수 4자리 이상 출력 시 정렬 오류 부분이 축약여가 적용되며 해결됐어요. 🛠

  • 웹 채팅에 월드 URL 공유 시 검열 미통과 메시지 출력 되던 버그🔧가 해결됐어요.

  • 플레이어 실행 시 🕹 서버 접속 오류 팝업에서 클릭 안되는 현상이 해결됐어요.

  • 신고할때 로그인 오류가 해결됐어요. 🧸

  • PlayerList가 정상적으로 표시되지 않는 현상이 수정되었어요. 🧾

  • 트랙의 AddWorldMove 함수가 로컬축으로 잘못 계산되던 현상이 🎡 월드축으로 계산되도록 수정되었어요.

  • 🙋‍♀️🙋‍♂️팀 설정 함수가 정상적으로 동작하지 않던 현상이 수정되었어요.

    --아래와 같은 형식으로 사용할 수 있어요.
    Game:SetTeamSetting(Enum.TeamType.Team)
    Game:SetTeamSetting(Enum.TeamType.Team, Enum.DivideTeamType.Rate)

Known Issue

  • 기업계정 스튜디오로 🎥유튜브객체를 넣고 플레이테스트시 스튜디오가 간헐적으로 종료💣되는 이슈가 있습니다. 🙏 등록 후 플레이어에서는 정상 동작합니다.

Release Note 0.3.7 - Notice

Release Date : 2021.10.25

※ 업데이트 내용입니다.

DitoLand

Update

  • 이제 설치시에 '즐거움랜드'바로가기가 생성되지 않습니다. 그동안 즐겨주셔서 감사합니다

  • 셀카모드에서 tvn15주년 로고가 제거되었습니다.

Bug Fixes

DitoLand Platform

Bug Fixes

  • 회원가입 후 찾을 수 없는 페이지로 이동하는 현상이 수정되었습니다.

Release Note 0.3.6 - Notice

Release Date : 2021.10.14

DitoLand

Update

  • 즐거움전 - 리더보드에서 소숫점까지 표시되도록 개선하였습니다. 😻

  • 즐거움전 - 🥾 대탈출 ⏱ 플레이시간이 15분에서 20분으로 증가되었습니다.

  • 즐거움전 - 신서유기 대기실에서 💰 링 먹기가 다시 가능해졌습니다. 🎶

  • 다수의 사용자 👩‍🔧👨‍🍳👮‍♀️ 가 동시에 진입할때 실패가 되는 현상이 완화🛠되었습니다.

Bug Fixes

  • 간헐적인 크래쉬가 ⛑ 대폭 ⛑ 수정되었습니다. 💝안정적인 즐거움전을 즐겨주세요. 🤭

  • 입장 실패 상황에서 컨트롤이 먹지 않던 문제가 수정되었습니다. 🕹

DitoLand Platform

Bug Fixes

  • 회원가입 후 바로 로그인 되지 않던 문제가 수정되었습니다. 🙋‍♀️

    (찾을 수 없는 페이지로 이동하는 버그는 확인중에 있습니다. 양해 부탁드립니다. 🙏)

Release Note 0.3.5 - Notice

Release Date : 2021.10.08

안녕하세요. 오랜만에 찾아뵙겠습니다. 🤭 디토랜드에서 tvN과 콜라보로 즐거움전을 개최하게 되었습니다. 행사기간 : 2021년 10월 9일 ~ 2021년 10월 24일 🎈 많은 사랑💝 부탁드립니다. 🙆‍♀️

※ 업데이트 내용입니다.

DitoLand

Updates

  • 🥼👘 아바타 파츠 추가- tvN에서 유명한 아이템들이 50여종 추가되었습니다. 이것저것 착용해보시기 바랍니다.

  • 📷 셀카 기능이 추가되었습니다. 멋진 셀카를 찍어서 친구들과 공유해보세요. 🌺

  • 🔊 보이스 채팅 기본 거리가 6m에서 18m로 증가했습니다.

  • NPC의 말풍선💬 텍스트 및 배경 컬러가 변경되었습니다.

  • ⚙ 프로젝트 안정성 개선.

Manual

  • 길찾기 이동에 사용할 수 있는 NavMeshVolume 사용법이 추가되었어요! 📔

NavMeshVolume

Bug Fixes

  • 스크립트로 캐릭터 파츠 교체시 체형은 그대로 유지되도록 수정되었습니다. ⛏

  • 🕳🏃‍♀️ 텔레포트시 접속오류가 있던 부분이 수정되었습니다. 🤸‍♀️🕳

  • ScreenUI - TextBox 캐릭터 이동 후 텍스트 클릭시 커서가 생성되지 않던 현상이 수정되었습니다. 🆎

  • 대시보드에서 🧑 머리 크기를 최대로 늘렸다가 줄인후에 저장시, 웹에서 아바타 머리가 사라지는 현상 수정. ✋

  • UI 웹브라우저 위젯이 프레임의 자식으로 있으면 설정한 Url이 표시되지 않는 현상 수정. 🔧

  • 채팅창 비활성 후 마우스로 클릭한번 해줘야 키 입력먹는 문제 수정 🛠

  • 스튜디오 📊 프로퍼티 동기화 처리 수정. ✅

  • 대시보드에서 아이디 또는 패스워드 틀릴 경우 로그인 버튼 먹통되는 문제 수정. 😅

  • ✏ 스크립트 에디터를 연 상태에서 플레이 시 스크립트에 개행이 강제로 추가되느 현상 수정.

  • 🕹 Collider 의 Collison 프로퍼티를 변경해도 반영이 되지 않는 현상 수정.

  • AddLandTransferData로 전송한 데이터가 텔레포트된 랜드에서 get되지 않는 현상 수정. 📎

  • 서버에 저장한 문자열 (SaveUserGameData) 데이터 로드시(GetSaveuserGameData), 제대로 출력되지 않는 현상 수정 🧾

Known Issue

  • 웹페이지가 열릴대 하얗거나 검은 화면이 나오는 경우가 있습니다. 😣

DitoLand Platform

Updates

  • 😍 즐거움전 전용 랜딩 페이지 추가.

  • 일부 페이지 기능이 리뉴얼 되었습니다 (회원가입, 로그인등) 앞으로의 업데이트를 기대해주세요. 😘

Bug Fixes

  • 랜드 상세설정화면에서 저장 버튼이 보이지 않는 현상 수정. 😗

Release Note 0.3.0 - Notice

Release Date : 2021.08.24

DitoLand

Updates

  • 🌐메타버스 전용 계정 기능이 추가되었습니다. 가입을 원하시면 'https://ditoland.net/dito-ex' 로 가입신청 해주세요. 👐

Enterprise Account
  • 스튜디오에 🌐메타버스 계정 전용 기능이 추가됩니다. 자세한 활용 방법은 제작 가이드를 추가해서 알려드릴게요.

    → 객체: 영상스트리밍

    → UI 위젯: 웹브라우저 / 하이퍼링크버튼

    → 랜드 옵션: 보이스채팅 활성화 / 자동번역 활성화

  • NPC 기능이 추가되었습니다. 월드트리에서 새로운 오브젝트 아이콘을 찾아보세요 🤖

NPC
  • 재질 개선 및 최적화 - 기존보다 훨씬 아름다워지고 훨씬 가벼워졌습니다. 마음것 월드를 꾸며주세요. (기존에 작업하신 부분은 그대로 유지되니 안심하셔도 됩니다)

  • 환경 동적 변경 기능 추가 - 밤낮이 실시간으로 변하는 디토랜드를 만나보세요.

  • 자동옵션 및 최적화 - 이제 저사양 PC에서도 더욱더 원활히 돌아가는 디토랜드를 체험하실 수 있습니다.

  • 로그 윈도우와 스크립트 에디터가 별도 창으로 분리되었습니다. 이제 한 모니터에서는 월드 구성을, 다른 모니터에서는 스크립팅이 가능해졌어요!📺📺

  • 스튜디오 샘플 Run&Jump, Tutorial1~3 에 생명력 시스템이 추가되었어요.

  • 스튜디오에 새로운 템플릿 Cross Jump이 추가되었어요.

Ditoland - Script

  • 환경 변경 기능이 추가되었어요. ⏩ Sample 페이지의 Scripting에 Environment를 참고해보세요!

  • 캐릭터 및 캐릭터 애니 변경 기능이 추가되었어요. ⏩ Sample 페이지의 Scripting에서 ChangeCharacter와 CharacterCharacterAni를 참고해보세요!

  • NPC 기능이 추가되었어요. ⏩ Sample 페이지의 Scripting에서 NPC를 참고해보세요!

  • 채팅 관련 기능이 추가되었어요.

  • ostime 함수가 추가되었어요.

  • SetRotation, AddLocation, AddRotation, SetScaleXYZ 등 트랜스폼 관련 함수에서 인자로 Vector값을 사용할 수 있게 개선되었어요!

  • 기본 템플릿의 구조가 아래와 변경되었어요!

0.3.0 Map Changes

Manual

  • 매뉴얼 페이지 카테고리가 개편되었어요!

Manual

DitoLand Dashboard

  • 의상👕을 직접 제작🎨하여 착용할 수 있는 UCC 기능을 준비하고 있어요. 일부 기능이 오류처럼 보일 수 있으니 양해 부탁드려요~ 🙏

  • 모자랑 붙어있던 일부 헤어에서 모자가 분리되었습니다. 분리된 모자는 모자 항목에서 다시 착용할 수 있어요~

Bug Fixes

  • 스튜디오 안정성 개선

  • 일부 Toy 안정성 개선

  • 채팅UI 숨김 기능 오동작 수정

  • TextBox 위젯의 최신 Text를 GetText()로 가져오지 못한 현상 수정

  • SurfaceUI 위젯 수정 시 수정 사항이 즉시 반영되지 않는 현상 수정

  • Blank 맵 편집 중 다른 맵 Load 시, Load Dialog가 먼저 뜨는 현상 수정

  • 툴박스 탭 연속 클릭 시 검색 결과 늘어나는 현상 수정

  • 팔레트에 등록한 Toy 붙여넣기 시 좌표값 오동작 수정

  • 랜드 내 안 보이게 처리한 객체가 섬네일에 노출되는 현상 수정

  • Studio 백그라운드 시 프레임 하락 수정

DitoLand Platform

Updates

  • 🚩 신고 기능이 추가되었습니다. 이제 디토랜드에서 문제가 있는 것들을 직접 신고하실 수 있어요! 🚩

  • 👍 좋아요 / 👎 싫어요가 보다 정확한 평가를 위해 참여한 분들만 할 수 있도록 변경되었습니다. 월드 체험후에 눌러보세요.

  • 🔊 그룹의 소통하기와 답글 노출 방식이 개선되었습니다. 이젠 새로 등록된 글을 바로 확인할 수 있어요!

  • 📋 약관 내용이 변경되었습니다. 변경된 내용은 디토랜드 홈페이지에서 확인해주세요~

Bug Fixes

  • 이메일 인증 유효시간으로 발생하던 오류가 해결되었습니다.⏳

  • 🎮 마이페이지의 게임 계속하기 목록이 정상출력 되도록 수정되었습니다.

  • 그룹의 소통하기가 중복 출력되던 현상이 해결되었습니다.🛠

  • 🖼 게임 썸네일 등록 오류 문제가 해결되었습니다.

Release Note 0.2.0 - Notice

Release Date : 2021.07.08 17:15

안녕하세요. 디토랜드 개발팀입니다. 오랫만에 패치로 찾아뵙게 되어 반갑습니다.

이번 주 내로 진행될 0.2.0 패치에서 여러분들이 올려주신 맵들은 API수정으로 인해서 다음과 같은 수정이 필요합니다.

개발팀에서 코드로 대응할 수 있는 부분은 대응했으나 부득이하게 맵파일에서 다음과 같은 부분을 수정해주셔야 정상 동작하게 됩니다.

직접 아래 사항을 수정하신 후 다시 테스트 해보신 후 내 게임 관리 - 게임 선택 - 활성화 해주시면 동작하게 됩니다.

또한 여러분이 올리신 맵들은 모두 일괄 비활성화 됨을 알려드립니다.

저희 개발팀에서는 업데이트로 인해 유저분들이 작업한 컨텐츠들이 동작하지 않는 경우를 최소화 하기 위한 준비들을 하고 있으며 이런 식의 수정이 앞으로 최소화 될 수 있도록 노력하겠습니다.

수정 방법은 아래와 같습니다.

0.2.0 패치 직후 진행 부탁드립니다.

0.2.0 Map Changes

※ 업데이트 내용입니다. 📋

DitoLand

Updates

  • 🎲 컨텐츠 백여개가 추가 되었습니다 (3D모델, 이미지, 효과음, 음악 ) 계속적으로 추가될 예정이니 더욱더 다양한 디토랜드 세상을 만들어보세요. (최근순으로 정렬해서 보시면 더 편하게 확인하실 수 있습니다.)

  • 🕹 이제 플레이 버튼을 플레이어가 즉시 실행되는 방식으로 개선되었습니다.

  • 🗡 한손검.격투애니메이션이 추가되었습니다. 스튜디오의 CharacterSetting-속성에서 확인하실 수 있습니다.

  • 🧾 속성등 더 많은 부분이 한글화 되었습니다. 🇰🇷

  • ⚙ 스튜디오 설정 메뉴에 다양한 기능이 추가되었습니다. 🙌🏼🙌🏾

    → ✔ 카메라 속도, 자동저장 주기, 색상 조절, UI DPI조절 기능이 추가되었습니다.

  • 👄 자동번역과 보이스채팅을 지원하는 새로운 채팅 서버가 적용되었습니다. (일부 구현중인 기능이 포함되었습니다) - 일반사용자는 사용할 수 없습니다.

  • 💬 이제 채팅창 활성화, 채팅 보내기가 "/"에서 "Enter"키로 변경되었습니다.

  • 🗺 스튜디오에서 길찾기 기능이 추가 되었습니다. (곧 NPC가 찾아뵐 예정입니다 :D)

  • 🎨 이제 스튜디오 UI 에디터에서 다중 선택이 가능합니다.

  • 🖼 랜드 연결상태를 더 잘 볼 수 있도록 스튜디오의 퍼블리시 화면을 개선하였습니다.

  • 👁‍🗨 스튜디오에서 투명도가 적용되지 않는 부분은 속성에서 투명도를 조절할 수 없도록 수정되었습니다.

  • 🖨 이제 스크립트 에디터에서 로그를 더 상세히 출력합니다. 🤟

  • 🎮 토이/샘플맵 수정사항

    1. 🎪 툴박스에 토이가 추가되었어요!

    → ⌨ 글자를 입력할 수 있는 TextToy가 추가되었어요. (ToyRoom에서 확인해보세요!) → 🔄 오브젝트의 회전에 활용할 수 있는 RotPart가 추가되었어요. (ToyRoom에서 확인해보세요!) → 🕑 콜라이더 타입의 스톱워치 토이인 Stopwatch_Collider가 추가되었어요. **2. 💌 **토이에 주석이 추가되었어요!

    3. 🔫 총기류 토이 개선 - 패치 이후 순차적으로 업로드 될 예정입니다.

    → ✔ 내부 기능 개선 및 예외처리, 상태제어 함수가 추가되었어요.

  • 📑 ModuleScript 기능 추

    → ✔ Utility 모듈에 ScanObjectList 함수가 추가되었어요.

Bug Fixes

  • ⛑ 스튜디오와 플레이어의 안정성이 개선되었습니다.

    (😥그럼에도 불구하고 혹시 크래시가 나실 경우. 간단히 상황 기재후 "Send & Close" 버튼을 꼭 눌러주세요.🙏🏼)

  • 🤼‍♂️ 특정 게임을 여러 플레이어가 동시에 플레이할때 우상단에 나오는 유저명 목록 표시가 오동작하는 현상이 수정되었습니다.

  • 💥 이펙트 - LineTrail의 TargetLocation을 설정하면 이펙트가 보이지 않던 현상이 수정되었습니다.

  • ⌨ 스튜디오 멀티 플레이테스트에서 별도 실행된 플레이테스트 창을 esc메뉴를 통해서 닫을 수 없는 문제가 해결되었습니다.

  • 🎼 컨텐츠 업로드시 캡쳐되는 썸네일에서 오디오 개체등에서 일부 디버그 랜더가 포함되던 현상을 수정하였습니다.

  • 🔧 윈도우 사용자 명에 공백이 있는 경우 정상적으로 실행되지 않던 문제가 수정되었습니다.:bl

Known Issues

  • 🗑 Net(그물) 재질의 twoside옵션을 문제 해결시까지 제거합니다.

  • 💥 이펙트 - LineTrail의 TargetLocation으로 설정한 물체가 움직일 때 이펙트가 보이지 않는 현상이 있습니다.

DitoLand Platform

Updates

  • 👨‍👩‍👧‍👧 비공개 게임 그룹 테스트 기능이 추가 되었습니다. 이제 같은 그룹에 속한 디토랜드 유저분들끼리는 일반사용자에게 노출되지 않은 상태에서 테스트 하실 수 있습니다. (설정방법 : 게임 비공개 설정 > 테스트할 그룹 선택 > 그룹 소통하기에 게임 URL 공유 > 공유된 게임화면으로 이동 > 테스트 플레이)

  • 📬 그룹 소통하기에서 답글을 읽기 편하도록 작성 순서로 노출순서를 변경하였습니다.

  • 📬 그룹 소통하기에서 답글을 작성하기 편하게 입력 영역을 상단으로 변경하였습니다.

  • 🔐 회원가입 시 규칙 확인 할 수 있고, 규칙 충족 시 확인 버튼 활성화 되도록 개선 되었습니다.

  • 👉 일부 페이지 이동 동작이 개선되었습니다.

  • 🖱 내 게임관리에서 오클릭 방지를 위해 클릭 영역을 개선하였습니다.

  • 🔔 받은 알림 클릭 시 해당 화면으로 이동할 수 있도록 개선되었습니다.

  • 👥 게임 리스트에 표기되는 동접자가 누적 방문자로 변경되었습니다.

  • 💰 대시보드 아이템 샵에서 목록 불러오기 실패 시 리로드 버튼이 노출 되고, 버튼 클릭 시 안내문구는 사라지고 로딩중 이미지가 출력됩니다.

Bug Fixes

  • 🛠 아바타 변경후 웹페이지를 2번 리프레쉬해야 반영되는 문제 수정.

  • 🛠 계정찾기시 유효성 체크 및 정보 입력 관련 버그 수정.

  • 🛠 친구 추가 알림시 친구 페이지로 안가던 버그 수정.

  • 🛠 비공개 랜드에서 공개↔비공개 전환시 메뉴 노출되지 않던 문제 수정.

0.1.7

Release Date : 2021.06.10 19:15

DitoLand

Update

  • 🎮 스토리 템플릿 추가 - 텍스트와 카메라를 이용한 예제가 추가 되었습니다.

  • 🎁 아이템 구매 시 바로 작용 후 저장될 수 있도록 개선되었습니다.

  • 🏃‍♂️ 스튜디오에서 사용할 수 있는 애니메이션이 추가되었습니다.

  • 💥 컨텐츠가 40여개 추가 되었습니다 (3D모델, 이미지, 효과음, 음악 )

Bug fix

  • 😆 감정표현 애니메이션 장착 시 크래시 되던 문제가 수정되었습니다.

  • 🍬 아이템 구매 버튼이 중복 클릭 되던 버그가 수정되었습니다.

DitoLand Platform

Update

  • 📑 이메일 인증 및 계정 찾기 기능이 업데이트 되었습니다.

0.1.6

Release Date : 2021.05.28 19:15

DitoLand Platform

Update

  • ✨ 메인 페이지의 디토랜드 티저 영상이 변경되었어요.

  • 📑 도움말 페이지의 내용이 추가되었어요.

Bug fix

  • 🔧 회원가입을 할때 버튼을 빠르게 누르면 잘못된 경고가 출력되는 현상이 수정되었어요.

  • ⚒ 그룹 생성시 가입 리스트가 갱신되지 않는 현상이 수정되었어요.

0.1.5

Release Date : 2021.05.14 18:21

DitoLand Platform

Update

  • 🎠 디토랜드와 함께하는 인디크래프트 온라인 가상게임쇼에 참여할 수 있는 배너가 추가되었어요.

  • 🎮 인기 게임 정렬 방식이 변경되었어요.

  • 🏷 사용자 이름을 사용자 아이디로 명칭을 변경했어요.

  • 📑 로블록스 사용자를 위한 가이드 문서가 추가되었습니다.

Bug fix

  • ⛏ 회원가입 버튼 중복클릭 되는 버그가 수정되었어요.

  • 🛠 검색창에 검색어 입력시 검색 서브메뉴가 잘리는 현상이 개선되었어요.

  • 🔨 그룹 생성 시 가입리스트에 출력 안되던 현상이 수정되었어요.

0.1.4

Release Date : 2021.04.26 19:00

DitoLand

Update

  • 🎮 키보드의 우측 화살표로 캐릭터 전/후진 및 카메라 좌우회전이 가능하도록 수정되었습니다. (Blank맵에서 확인할 수 있어요.)

  • 🎁 스튜디오 템플릿 페이지에 튜토리얼 1~3번 맵이 추가되었습니다. (이 맵들을 이용하면 좀더 간편하게 장애물 달리기 게임을 만들어 볼 수 있습니다.)

Bug fix

  • 🔨 런처 중복 실행시 나오던 오류 수정되었습니다.

  • ⛏ 제어판에서 설치된 Ditoland의 버전이 잘못 표시되던 현상 수정되었습니다.

  • ⚒ 디토랜드 대시보드의 작업표시줄 아이콘이 언리얼아이콘으로 나오던 현상 수정되었습니다.

  • 🔧 캐릭터가 떨어져 죽을 때 OnDeathCharacter 이벤트 호출 되게 수정되었습니다.

DitoLand Platform

Update

  • 📑 유니티 사용자를 위한 가이드 문서에 public 변수/함수 사용법이 추가되었습니다.

0.1.3

Release Date : 2021.04.16 19:10

DitoLand

Update

  • ⏳ 다운로드 받는 파일의 크기가 대폭 감소하였습니다. ⏰ 빠른 다운로드후 설치가 가능합니다.

  • 🕑 게임 실행시 로딩 상황을 알 수 있는 텍스트가 추가되었습니다. 🎉

  • 🔊 사운드의 듣기 대상이 캐릭터에서 카메라 기준으로 변경되었습니다.

Bug fix

  • 🛠 스튜디오 안정화. ( 🚧 크래시 리포트 화면에서 꼭 ㅜㅜ Send and Close 버튼 부탁드립니다. 🙏)

  • 👌 일부 다운로드 받는 양이 많은 게임들이 바로 실행되지 않던 문제가 수정되었습니다.

  • 📌 스튜디오에서 여러개 선택시에 포커스가 리셋되는 문제가 수정되었습니다.

  • 😂 스튜디오의 아이디 표시가 제대로 표시되지 않던 문제가 수정되었습니다.

  • 🎂 스튜디오,대시보드,플레이어의 바탕화면 아이콘이 제대로 표시되지 않던 문제가 수정되었습니다.

  • 👀 특정 PC에서 파일 탐색기의 폰트가 제대로 보이지 않던 문제가 수정되었습니다.

  • 🔫 Collison을 끈 StaticMesh, Collider 모두 총알이 정상적으로 통과하여 피해를 주도록 수정되었습니다. (Collider 너머에 있는 캐릭터에게 총을 발사할 때 이제 정상적으로 피해가 적용됩니다. 💣 )

DitoLand Platform

Update

  • 🎨 메인 배너 이미지 교체되었습니다.

  • ✨ 일부 모바일 화면에서 뭉개지던 아이콘이 개선되었습니다.

  • 🌎 랜드 업데이트 할 때 게임 버전도 업데이트 되도록 수정되었습니다. 👏

  • 🛠 설치 안내 팝업 내용이 개선되었습니다.

Bug fix

  • 📴 모바일에서 실행파일이 다운로드 되지 않도록 수정되었습니다.

0.1.2

Release Date : 2021.04.09 22:22

DitoLand

런처 개선

  • 🧰 실행을 위한 필수 프로그램들이 자동설치 됩니다.

  • ⚙ 다운로드 속도가 표시됩니다.

Bug fix

  • 🛠 스튜디오 안정화. (계속 하는 중입니다. 😅 여러분의 ✨소중한✨ 리포트 감사드립니다. ❤️😘)

  • 😂 설치 제거시 컨텐츠까지 완전히 제거되도록 수정되었습니다.

  • 💎 바로가기 아이콘이 갱신 되지 않던 문제가 수정되었습니다.

  • 🛠 일부 오류 수정.

DitoLand Platform

Update

  • 📚 도움말 페이지가 추가되었습니다.

Bug fix

  • 🛠 일부 누락된 리소스가 수정되었습니다.

0.1.1

Release Date : 2021.04.02 14:52

DitoLand

Update

  • 🧾 디토랜드 스튜디오가 한글화 되었습니다. 일부 한글화가 완전하지 않을 수 있습니다.

Bug fix

  • 💎 디토랜드 스튜디오 바로가기 아이콘이 제대로 표시되지 않던 문제가 수정되었습니다.

  • 🥼 구매후 장착한 캐릭터 아이템이 보이지 않던 문제가 수정되었습니다.

  • 🧰 인스톨 파일 설치중 취소기능이 추가 되었습니다.

DitoLand Platform

Update

  • 📚 제작가이드 페이지의 스튜디오 매뉴얼이 업데이트 되었습니다.

Bug fix

  • 🛠 1:1 대화방에서 친구 초대가 안되는 현상이 수정되었습니다.

  • 🛠 플레이어 썸네일 이미지가 교체되지 않던 문제가 수정되었습니다.

Last updated