2017년 7월 2일 일요일

6월6일~6월 14일


66
 
캐릭터 세부설정 구현(머리, 가슴, , 팔 두께)
 
 

Unreal엔진에서 구현가능한 기술인 Morph target 방식을 3d MAX로 구현 성공,
언리얼 엔진에서 구동 성공
 
 
 
 
 
 
 
67~ 68
  
Unreal Socket 시스템으로 간단하게 모자 씌우기 목표
 



Socket 시스템을 이용해 불러온 마내킹에 옷을 입히는 방식 으로 모자 구현
하지만 애니메이션 재생시 일어나는 문제가 발생하였고, 해결을 위해 작업 일시 중지후
검색
 
 
 
 
610

현제 기술의 문제점 파악




 
현제 이용하고 있는 morph target 시스템은 메쉬의 변형만을 관리하기 때문에, 뼈의 사이즈를 조절 할 방법이 없다고 판단. 대안이나, 추가적인 기술 이용이 필요하기에 리서치/포럼에 질문 남기기 등을 시도.
어렴풋이 Maya를 이용해야한다는 판단
 
 
611

뼈 사이즈 에 대한 대안



 
한가지 솔루션을 발견했는데, Bone animation을 사용하면 뼈의 스케일을 조절이 가능하다는 힌트를 얻었으나. 몇가지 문제점이 있다는 판단이 섰는데,
1. 애니메이션은 항상 동작되어야 한다.
2. 캐릭터의 달라지는 키(본 사이즈로 인해) 에 우리가 어떻게 알고, 알맞은 옷을 입힐 수 있는가?
3. 키가 달라지면 ragdoll 또한 변하게 될것인데, ragdoll 또한 같이 변형이 될것인가?
 
 
 
 
 
 
 
 
 
 
 
 
 
612
  APEX 첫 시도
 
 
 
  
빠듯한 일정에 부득이하게 옷부터 구현하자는 마음에 APEX cloth 기술을 시도 해 보았고,
옷이 허공에 치솟다가 산산조각 나서 바닥에 널부러지는등의 악몽이 발생.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
613

  APEX 두 번째 시도
 
 
  
옷에 올바른 물리엔진을 구현하는대에 성공했으나, 옷이 3갈래로 찢어지며, 언리얼 엔진에서 구동 실패.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
614

  APEX 세 번째 시도
 
 



 
 
 
 
언리얼 엔진에 물리엔진을 입히는데 성공했으나, 다음 문제점이 나타났음.
옷에 콜리전(ragdoll)을 적용해야하는데, 콜리전의 세팅은 in-game에서 캐릭터의 체형 변화에 실시간으로 따라 갈 수 있을 것 이라는 판단이 들지 않음.
unreal에서 제공하는 ragdoll을 입혀보았지만 인식하지 못한 듯 하기 떄문에, APEX에서 사용하는 ragdoll만을 인식한다는 판단을 가지고 있음.
남은 기간동안 옷에대한 ragdoll의 자유로운 세팅을 구현하는 것이 주요 과제중 하나가 될 것.
 
 
 

2017년 5월 9일 화요일

tomcot 절대경로

문제:
실습한 이미지 썸내일 업로드 웹 프로잭트에서, 
jsp파일들이  default 위치인 webcontents 가 아닌 다른 폴더에 들어있을때, image folder에 접근하기 위한 방법은?


바꿀 코드는 thumbnai.jsp 에서

-원본 이미지-<br>
<img src="../image/<%=filename %>"><p>
-썸네일 이미지-<br>
<img src="../image/sm_<%=filename %>">

이거뿐
절대경로 방식인데 ../ 는
톰켓 구동 서버의 webcontents 가 절대경로 시작지점으로 인식하게 된다.

구버전 톰켓에서는 절대경로를 잡았을때에 c:\ 로 됬다 하던데, 요즘 버전들은 조금 바뀌었다 합니다.
톰켓에서 절대경로로 c;\ 를 접근하게되는것은 보안상 취약이 명백하기 때문에 이겠졍!

2017년 5월 2일 화요일

python자습[구구단]



def countingNum(firstNum):
    secondNum=1;
    while secondNum !=10:
        print(firstNum,'x',secondNum,'=',firstNum*secondNum)
        secondNum+=1
      
      
i=2;
while i <10:
    countingNum(i)
    i+=1




파이썬이 다음 프로잭트에 쓸모있나 없나 에 대ㅐ고민중, 실험삼아 만져봤는데 의외로 C 나 java 따위를 스까묵은 맛이 나서 기초는 쉽다.

함수 countingNum 에 인자값 firstnum 을 받는 이 함수는
secondo variable 과 작업을 한뒤에 나옴.

while문 아래에 i=2;구문부터 메인함수 역활인듯.
남들은 쉽다는데 나는 짜증나는걸. 너무 두루뭉실해서

2017년 4월 30일 일요일

[JSP,ADNROID]4월 미니프로잭트들

계획



1주차2주차3주차4주차
planning,prepareandroid chatting 완성jsp project 완성여유기간


현실

1주차2주차3주차4주차
planning,prepare
socket방식 chatting 구현
firebase방식 chatting구현 및, jsp 프로잭트 시작.
(socket type suspend 결정)
jsp project + android support 코어기능 몇개 빼고 불안하게 마감



socket 기반 프로잭트 는 시간 대비 결과물이 늦었기 때문에, 병행중이던 firebase타입을 하는 팀원에게 인계
JSP 프로잭트는 스터디룸 관리 프로그램 으로, 강압으로 인해 부득이하게 client side는 android로 결정
jsp는 팀원이 잘해서 무리없이 해결했으니, android는 기능자가 없기때문에 2주동안 고전-> 주요기능 몇가지를 빼고 겨우 마감..


클라이언트 구동예제

https://drive.google.com/open?id=0B-9iXJHL2oVMQlZMaWhZT1ZtWlE
[suspended] socket type project

https://drive.google.com/open?id=0B-9iXJHL2oVMVkc2d05rQW5vLVU
firebase type project

https://drive.google.com/open?id=0B-9iXJHL2oVMMWxSNGZxLXNwZHM
jsp projects

2017년 4월 22일 토요일

[Android 2.3] scroll view, 스크롤 되게 하기

s이전버전은 뭔가 스크롤하게 하는게 엄청 빡시게 적어놔서 잔뜩 겁먹고 검색했는데,
2.3버전부터는 너무나도 심플해졌다.

초간단 예시를 들자면 이러하다.

... 에 자신이 넣고자 하는 컨텐츠들을 넣는다는 가정하에


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"              android:layout_width="match_parent"              android:layout_height="match_parent"              android:orientation="vertical"              android:gravity="center">

    <ScrollView         
     android:layout_width="match_parent"         
     android:layout_height="match_parent">
        <LinearLayout             
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:orientation="vertical">
            ...
            ... 
        </LinearLayout>
    </ScrollView>
</LinearLayout>




사장님..너무 쉬운거같아요!
세상에나마상에나 네줄만 추가하면 된다.
응용하면 더 힘들겠지만 일단은 이러했다.

2017년 4월 18일 화요일

[jsp,java]유효성 검사


유효성 패턴 Character Classes


구조 해석
[abc] a or b or c
[^abc] not a or b or c(NOT)
[a-zA-Z] a to z or A to Z
[0-4[6-8]] one of "0 1 2 3 4 6 7 8(OR?)"
[0-9&&[3-5]] one of 3 4 5 (AND)
[0-9&&[^345]] one of 0 1 2 6 7 8 9(NAND)

"검사대상문자열".matches("유효성검사문자열"); 로 확인 할 수 있다 고 하는데 나는 이게 먹히드라
"검사대상문자열".matches("(.*)["유효성검사문자열"](.*)")


문자열 유효성 검사를 jsp에서 배우긴 했는데, 뭔지 잘 이해도 안됬고, 응용도 못하는데 이제 필요해져서 찾아봤음

역시 자바도 사용 할 수 있는듯 하다.
응용하면 회원가입 양식 따위의 유효성 검사를 할 수 있을 것.


방금 찾다보니 특수문자의 경우에는 몇가지 예외사항이 있기때문에,  숙지해야할 사항이 몇가지 있다.
기본 자바에서 설명하는 몇 단어들은 :
\'  작은따움표는
\'' 큰따움포
\\역슬레쉬등..
참조사이트 : https://www.tutorialspoint.com/java/java_characters.htm

그 이외, 상기 사이트에 설명이 없는 케이스들은:

+ $  | ,의 경우에는[] 줘야한다 
[^[*]]  == not * 경우


\\ 필요한 경우는 ( ) { } [ ] ^ 
[^\\^]


이런 작업이 필요없는 문자는
!# % & @ ` ; : -  < > ~ '

띄어쓰기는 \\s+

위에 두 케이스를 없에고싶어서 삽질했는데 결국은 이거네
.matches("(.*)[[!#%&@`;:-<>~'][+$|][\\^(){}][\\[][\\]][.,\"\\\'\"\\s+]](.*)")  matches 안의 구간에서 띄어쓰기 하면 작동안되요

[android] Log 관련


처음 들어오고 보는 안드로이드의 엄청난 버튼들때문에 기가죽어서 어디부터 손댈지 감도 안왔는데, 사흘정도 만지다보니 이제 조금씩 뭔지 알아가기 시작하는중.

우선 로그를 어디서 봐야할지 몰랐기때문에, 간단하게 지금까지 알아낸 사항을 적어본다.

1LogCat 사용하기.

안드로이드 개발 툴에서 alt + 6 누르면 하단에서 튀어나오는 logCat에서 우리가 자바에서나 보는 에러코드들이 쏟아지는곳인듯 하다. 다만 안드로이드 설계상 미리 짜여져 있는 코드들이 수두룩하기 때문에 내가 찍은 로그가 어디서 출력되는지 조차도 알아내기 힘들다..
우선 촤즉 상단이 디버깅한 기기 목록인데, 목록중에 [DISCONNECTED] 뜬걸 켜놓고 로그가 안나오나 답답해 하는 케이스가 있다. 앱을 실행 채고 목록을 누르면 disconencted 안뜬, 디버깅중인 창을 열면 된다.

그다음 우측상단창은 뭔가 클래스별로인건지 프로세스별인지 각각의 로그들이 나름대로 정렬되어 있는곳인디, 기본값으로 켜지는부분이 우리가 만지는 MainActivity 클래스창 인듯하다. 메인 클래스를 끄적이는 단계에서는 일단 이것에 만족중.

가끔 로그가 터져나가서 로그켓이 죽어버리는 상황이 나오던데, 여러방법이 있다고는 하나 나같은 경우에는 그냥 안드로이드 스튜디오 제실행이 답이었다.

우측 두번쨰 란에 필터가 있는데, 이걸로 어느정도 메세지들을 필터링 있다.

근데 어연일인지 System.out.println(); 여기서 안찍히고 넘어가는 일이 빈번한데, 원인을 알고싶다.

이러한 이유로 다른방법은 없는가? 해서 찾아낸게
Log.d("String 태그",메시 혹은 변수값 ..);
이용할 있다고 한다.
코드를 사용하면 근데 어디서 출력되는건가 싶어서 조금 뒤져보니, 역시 logcat 뜬다고 한다. 장점이라 하면 :
앞에 인자값인 태그를 알맛게 정의하면 태그를 검색해서 태그 이름하에 나온 모든 로그들을 한곳에서 볼수 있다고 한다.