Comments (17)
먼저,player touch와 limit 부분을 구현하자
from armstrong.
move position의 값을 바로 삽입하는 것이 아닌, translate을 통해서 부드럽고 skip 하지 않고 oar에 힘을 적용 한다.
from armstrong.
Multi Touch 가능하게 만들어 보자
from armstrong.
Multi Touch를 하기 위해서는 현재의 touch 가 아닌, Range Touch로 해보자
현재 Touch
- Mouse의 OnMouseDown,OnMouseDrag를 통해서 얻어진 방향과 거리를 통해서 translate 하였다. 고로, PlayerChair가 다수라 하여도 Multi Touch을 인식하는 것이 아니라, draging으로 계속 인식한다.
Range Touch (Solution)
- 문제는 chair 선택이 dragging으로 인식되는 문제이기 때문에, 애초에 chari의 특정 범위를 벗어난 touch는 dragging으로 인식하지 않게 만든다.
- 즉, Touch에도 할당된 chair를 선정해주는 것이다
from armstrong.
⚠️ 문제 ⚠️
- dragging 된 상태에서 새로운 mouse down이 있으면, dragging으로 인식한다.
from armstrong.
test 결과 이미 한번 mouse down이 된 경우 모든 새로운 touch는 dragging으로 인식 된다
고로, 하나의 touch 시나리오 인식 할수 있도록 개발해야한다
New Touch - Dragging - Touch Up
시나리오를 인식하기 위해서는 touch를 구분해서 인식 할 수 있어야 한다....위에서 이야기한 Range Touch 기술 필요
예상 Solution
- 가정
Unity에서 특별히 touch를 구분해서 인식하지 않는다 -> (여러 touch가 동시에 존재할 때, 그냥 여러 touch로 인식하지, touch A,B..로 인식 하지 않는다)
- Soltuion
- Range Touch에서 이야기한 것과 같이, chair를 중심으로 range(가까운 범위)에 있는 touch만 인식한다.
- Multi Touch (동시 New Touch 인식) 구현
- Range 설정
- 동시 움직임 Test
- Possible Error
- 뒤 사람의 touch 침범
- 물론 touch range안에 하나 이상의 touch가 존재하면 이상하게 움직일 수 있다.
- 하지만, 조정의 논리상, 그런 경우는 balance가 무너진것과 동일하다.
- 고로, 이것은 가능한 시나리오이다.
- 뒤 사람의 touch 침범
from armstrong.
1.Multi Touch (동시 New Touch 인식) 구현
👍 동시 Multi Touch 해결 👍
from armstrong.
2. Range 설정
from armstrong.
🔴 Error: Drag 시 방향과 관계 없이 내려간다🔴
Possible Error
- Touch Position is different from mouse position
- GetTouch(i) isn't identical with Finger ID
- 둘다 확인 해야한다
Possible Solution
- 1 -> Multi Touch 아닌 상태에서 하나만 잘 작동하면 ChairMovement에 문제 없는 것을 알 수 있다
- 2 -> 1번이 해결되면 2번 Multi에서 확인 했을 때도 문제가 생기면 error가 자명한것이다.
from armstrong.
👍 Multi Touch와 Ended 문제도 잘 해결 됨
- 이제, Range Touch 부분을 넓히자
from armstrong.
😢 Touch를 올릴 때, oar에 걸리는지 벅벅이는 감이 있다
- Possible Solution
- oar의 움직인 물리력이 아닌 rotation과 position으로 움직ㅇ는 방법
- Touch range 넓히기
from armstrong.
Analysis
- Device에서 test해본 결과 oar의 collider에 touch가 인식 되서 버벅이는 것 같다.
- 확인 방법: touch 시, Oar에 다지 않고 사선으로 touch를 하였을 때 훨씨 부드럽다.
- 또한, range touch가 쫍은 것도 있다.....
- 위에서 언급한 2번도 개선할 필요가 있다.
Possible Solution
- 답답한 Touch -> Chair follwoing Speed 를 높힌다
- Oar가 Touch를 인식하여 Chair가 인식 못하는 문제 -> 1번을 적용?
from armstrong.
Oar Touch 인식 문제 -> 1번 적용
from armstrong.
😢 Touch를 올릴 때, oar에 걸리는지 벅벅이는 감이 있다
- Possible Solution
- oar의 움직인 물리력이 아닌 rotation과 position으로 움직ㅇ는 방법
- Touch range 넓히기
👍 해결 👍
from armstrong.
2. Range 설정 심화
이제 Multi touch와 range는 현시점으로 구현이 되었다. 다만, range에서 아직 더 개발해야할 부분들이 있다.
- Range 설정 심화에서는 다음 2가지를 중점으로 개발
- Turn 구현
- Catch, Finish 인식
from armstrong.
🤔 원래는 부드러웠으나, chari가 다시 버벅이는 문제가 있었다 🤔
Problem
- 문제는 collider 두게 겹쳐있어서(chair & sub detector collider), ray가 object를 detect를 할 때, 문제가 발생하는 것 같다
가설: ray는 한번에 하나의 object를 detect하는 데, random으로 둘 중의 하나의 collider만 인식해서 버벅인 것 같다.
Solution
- collider를 갖고 있는 object의 pos.z 값을 뒤로 두어, ray에는 detetcor collider가 인식 되지 않게 만든다
👍 이제 다시 부드러워졌다 👍
from armstrong.
3. 동시 움직임 Test
Rhythm Game 처럼, timing을 맞춰서 test가 될 수 있어야 한다.
- 이 것은 새로운 Issue에서 다룬다.
- 그 이유는 배 object에서 확인 해야 의미가 있다. 고로 배로 구성을 하나의 issue로 다룬다
Boat Object #5
from armstrong.
Related Issues (11)
- 기본 설정 HOT 1
- 환경 설정 HOT 2
- Device Log 추가
- Boat Object HOT 2
- Turn 구현 HOT 10
- Rowing Test를 위한 Master Seat HOT 1
- Rowing Policy HOT 4
- Game Policy HOT 1
- 1차 버그
- Range Detection
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from armstrong.