유택 PIC 형식의 이미지를 Unity로 읽기
하지만 우연히 입수한 이미지는 구 모에서 발굴돼 유닛에 제대로 흡수되지 못했다.바이너리 편집기에서 파일의 시작을 시도할 때 'P' 'I' 'C' 세 글자는...거기서 갑자기 알았어.
"피터... 유택 PIC 맛이에요.(<무슨 맛이야?)
유택 PIC 형식
1980년대 후반부터 1990년대 전반까지 주로 16비트의 개인용 컴퓨터 X68000 시리즈에서 광범위하게 사용된 32768(65536) 색깔의 이미지 파일 형식이었다.
이름류택명씨가 디자인한 것처럼 그가 개발한pic.r를 필두로 많은 호환 도구를 개발하여 광범위하게 사용되었다.
가로와 세로의 같은 색 연속수를 기록한 여정 길이의 압축을 확장하고 세로와 같은 색의 시작 좌표 형식으로 기록하며 색 정보도 내부에서 고속 캐시된 색인 번호를 기호로 하는 등 방법으로 압축률을 높였다.
같은 색깔로 연속되기 쉬운 애니메이션 스타일의 이미지는 높은 압축률을 자랑했고 당시의 CPU도 전개 속도가 매우 빨라서 널리 보급되었다.일부 Windows용 이미지 로더도 지원됩니다.
pic.r 등 당시의 도구는 전개에서 연쇄 정보를 묘사하여 번개처럼 보이며 깊은 인상을 남겼다.
사용법
며칠 전Unity 자산 스토어에서 공개에 만든PLAY Animation Importer for UnityDOGA-L 시리즈,입체 CG의 부품 어셈블리 파일(*.e1p,*.l3p 등)을 Unity 플러그인에 가져와 실제로는 숨김 기능으로 유택 PIC 형식의 이미지 읽기를 지원한다.
1. 위의 링크에서 설치 PLAY Animation Importer for Unity(무료)를 다운로드하십시오.PLAY Animation같은 것도 다운로드할 수 있다.
2. 프로젝트 브라우저에 유택 PIC 형식의 이미지(확장자.pic)를 배치하십시오.
이렇게 불러온 그림은 무늬가 됩니다.
여기.
원래 기능한 부품 어셈블리의 읽기는 제품을 등록하지 않으면 사용할 수 없으나 유택 PIC의 읽기는 등록하지 않아도 사용할 수 있다.
왜 이런 걸 만들었는지.
핍박을 받아서.
부품 어셈블리 파일에는 부품 이름과 무늬 이름만 쓰여 있지만 실제 정점과 소재 무늬의 데이터는 포함되지 않기 때문에 상기 제품의 목록에서 꺼내야 한다.또한 PLAY Animation Importer for Unity와DOGA-L 시리즈,입체 CG,PLAY Animation부터 올해까지 발매된 물건도 상관없이) 무늬 이미지의 일부인 유택 PIC 형식이 남아 있다.(물론 최근 추가된 것을 중심으로 기본적으로 PNG, JPEG, BMP)
그래서 C#로 적재기를 설치하는 곤경에 빠졌다.orz(20여년 전 파일 포맷을 순수한 C#로 구현할 기회가 거의 없어 작업할 때 기분이 좋았다.)
자기 프로그램으로 하고 싶어요.
설치된 PLAY Animation Importer의 디렉토리에 Play Animation Importer/Editor/Yanagisawa PicLoader Lib이 있습니다.dll 있으니 자유롭게 사용하세요.
Unity의 Texture2D를 읽을 때 이런 느낌이 들 것 같아요.byte[]에게 YanagisawaPicLoader를 생성하여extract()라고 할 때 width와 Height에서 그림의 가로 사이즈가bytesImageExtracted에서 펼쳐진 그림에 들어갑니다.using System.IO;
using UnityEngine;
using YanagisawaPicLoaderLib;
Texture2D loadTexture(string nameAssetFullPath)
{
byte[] bytes = File.ReadAllBytes(nameAssetFullPath);
var loader = new YanagisawaPicLoader(bytes);
loader.extract();
var texture = new Texture2D(loader.width, loader.height, TextureFormat.ARGB32, false, false);
texture.LoadRawTextureData(loader.bytesImageExtracted);
texture.Apply(true, true);
bytes = null;
return texture;
}
Bitmap을 읽을 때 byte 열의 정렬과 Y 좌표의 변화에 주의하십시오.using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
using YanagisawaPicLoaderLib;
Bitmap loadToBitmap(string nameFile)
{
byte[] bytes = File.ReadAllBytes(nameFile);
var loader = new YanagisawaPicLoader(bytes, YanagisawaPicLoader.PixelOrder.BGRA, YanagisawaPicLoader.DirectionY.TopToBottom);
loader.extract();
var bitmap = new Bitmap(loader.width, loader.height, PixelFormat.Format32bppArgb);
var dataBitmap = bitmap.LockBits(new Rectangle(0, 0, loader.width, loader.height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
Marshal.Copy(loader.bytesImageExtracted, 0, dataBitmap.Scan0, loader.bytesImageExtracted.Length);
bitmap.UnlockBits(dataBitmap);
return bitmap;
}
주의 사항
PLAY Animation Importer에 포함된 YanagisawaPicLoaderLib입니다.dll은 DOGA-L 시리즈로 CG PLAY Animation Importer에 포함된 유택 PIC 형식 이미지를 읽을 목적으로 개발된 것이기 때문에 32768색, 65536색의 유택 PIC 형식만 지원된다.특히 확장 PIC 형식은 전혀 지원되지 않습니다.(대응 계획도 없음)
만약 알아볼 수 없는 것이 있다면 [email protected] 전에 나에게 알려줄 수 있다면 나는 매우 기쁠 것이다.하지만 반드시 신속하게 대처할 수 있는 것은 아니니 양해해 주십시오.
감사의 말
유택 PIC 이미지 로더의 개발은 다음과 같은 자료를 참고했다.이 자리를 빌려 깊은 감사를 드립니다.(o)
- 류산 불고PIC_FMT(PIC 서식설명서, 샘플 소스 코드)
- GORRY씨. APICG 소스 코드
당시 스타일시트와 소스 코드가 공개된 덕분에 2014년 현재도 이렇게 쓸 수 있게 됐다.고맙습니다.
다음은 스토루노다의 "Unity 자산 서버를 사용하여 팀 개발의 업무 효율을 높이자."네.
Reference
이 문제에 관하여(유택 PIC 형식의 이미지를 Unity로 읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomotaco/items/705f79ae59368417aef8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
며칠 전Unity 자산 스토어에서 공개에 만든PLAY Animation Importer for UnityDOGA-L 시리즈,입체 CG의 부품 어셈블리 파일(*.e1p,*.l3p 등)을 Unity 플러그인에 가져와 실제로는 숨김 기능으로 유택 PIC 형식의 이미지 읽기를 지원한다.
1. 위의 링크에서 설치 PLAY Animation Importer for Unity(무료)를 다운로드하십시오.PLAY Animation같은 것도 다운로드할 수 있다.
2. 프로젝트 브라우저에 유택 PIC 형식의 이미지(확장자.pic)를 배치하십시오.
이렇게 불러온 그림은 무늬가 됩니다.
여기.
원래 기능한 부품 어셈블리의 읽기는 제품을 등록하지 않으면 사용할 수 없으나 유택 PIC의 읽기는 등록하지 않아도 사용할 수 있다.
왜 이런 걸 만들었는지.
핍박을 받아서.
부품 어셈블리 파일에는 부품 이름과 무늬 이름만 쓰여 있지만 실제 정점과 소재 무늬의 데이터는 포함되지 않기 때문에 상기 제품의 목록에서 꺼내야 한다.또한 PLAY Animation Importer for Unity와DOGA-L 시리즈,입체 CG,PLAY Animation부터 올해까지 발매된 물건도 상관없이) 무늬 이미지의 일부인 유택 PIC 형식이 남아 있다.(물론 최근 추가된 것을 중심으로 기본적으로 PNG, JPEG, BMP)
그래서 C#로 적재기를 설치하는 곤경에 빠졌다.orz(20여년 전 파일 포맷을 순수한 C#로 구현할 기회가 거의 없어 작업할 때 기분이 좋았다.)
자기 프로그램으로 하고 싶어요.
설치된 PLAY Animation Importer의 디렉토리에 Play Animation Importer/Editor/Yanagisawa PicLoader Lib이 있습니다.dll 있으니 자유롭게 사용하세요.
Unity의 Texture2D를 읽을 때 이런 느낌이 들 것 같아요.byte[]에게 YanagisawaPicLoader를 생성하여extract()라고 할 때 width와 Height에서 그림의 가로 사이즈가bytesImageExtracted에서 펼쳐진 그림에 들어갑니다.using System.IO;
using UnityEngine;
using YanagisawaPicLoaderLib;
Texture2D loadTexture(string nameAssetFullPath)
{
byte[] bytes = File.ReadAllBytes(nameAssetFullPath);
var loader = new YanagisawaPicLoader(bytes);
loader.extract();
var texture = new Texture2D(loader.width, loader.height, TextureFormat.ARGB32, false, false);
texture.LoadRawTextureData(loader.bytesImageExtracted);
texture.Apply(true, true);
bytes = null;
return texture;
}
Bitmap을 읽을 때 byte 열의 정렬과 Y 좌표의 변화에 주의하십시오.using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
using YanagisawaPicLoaderLib;
Bitmap loadToBitmap(string nameFile)
{
byte[] bytes = File.ReadAllBytes(nameFile);
var loader = new YanagisawaPicLoader(bytes, YanagisawaPicLoader.PixelOrder.BGRA, YanagisawaPicLoader.DirectionY.TopToBottom);
loader.extract();
var bitmap = new Bitmap(loader.width, loader.height, PixelFormat.Format32bppArgb);
var dataBitmap = bitmap.LockBits(new Rectangle(0, 0, loader.width, loader.height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
Marshal.Copy(loader.bytesImageExtracted, 0, dataBitmap.Scan0, loader.bytesImageExtracted.Length);
bitmap.UnlockBits(dataBitmap);
return bitmap;
}
주의 사항
PLAY Animation Importer에 포함된 YanagisawaPicLoaderLib입니다.dll은 DOGA-L 시리즈로 CG PLAY Animation Importer에 포함된 유택 PIC 형식 이미지를 읽을 목적으로 개발된 것이기 때문에 32768색, 65536색의 유택 PIC 형식만 지원된다.특히 확장 PIC 형식은 전혀 지원되지 않습니다.(대응 계획도 없음)
만약 알아볼 수 없는 것이 있다면 [email protected] 전에 나에게 알려줄 수 있다면 나는 매우 기쁠 것이다.하지만 반드시 신속하게 대처할 수 있는 것은 아니니 양해해 주십시오.
감사의 말
유택 PIC 이미지 로더의 개발은 다음과 같은 자료를 참고했다.이 자리를 빌려 깊은 감사를 드립니다.(o)
- 류산 불고PIC_FMT(PIC 서식설명서, 샘플 소스 코드)
- GORRY씨. APICG 소스 코드
당시 스타일시트와 소스 코드가 공개된 덕분에 2014년 현재도 이렇게 쓸 수 있게 됐다.고맙습니다.
다음은 스토루노다의 "Unity 자산 서버를 사용하여 팀 개발의 업무 효율을 높이자."네.
Reference
이 문제에 관하여(유택 PIC 형식의 이미지를 Unity로 읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomotaco/items/705f79ae59368417aef8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
설치된 PLAY Animation Importer의 디렉토리에 Play Animation Importer/Editor/Yanagisawa PicLoader Lib이 있습니다.dll 있으니 자유롭게 사용하세요.
Unity의 Texture2D를 읽을 때 이런 느낌이 들 것 같아요.byte[]에게 YanagisawaPicLoader를 생성하여extract()라고 할 때 width와 Height에서 그림의 가로 사이즈가bytesImageExtracted에서 펼쳐진 그림에 들어갑니다.
using System.IO;
using UnityEngine;
using YanagisawaPicLoaderLib;
Texture2D loadTexture(string nameAssetFullPath)
{
byte[] bytes = File.ReadAllBytes(nameAssetFullPath);
var loader = new YanagisawaPicLoader(bytes);
loader.extract();
var texture = new Texture2D(loader.width, loader.height, TextureFormat.ARGB32, false, false);
texture.LoadRawTextureData(loader.bytesImageExtracted);
texture.Apply(true, true);
bytes = null;
return texture;
}
Bitmap을 읽을 때 byte 열의 정렬과 Y 좌표의 변화에 주의하십시오.using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
using YanagisawaPicLoaderLib;
Bitmap loadToBitmap(string nameFile)
{
byte[] bytes = File.ReadAllBytes(nameFile);
var loader = new YanagisawaPicLoader(bytes, YanagisawaPicLoader.PixelOrder.BGRA, YanagisawaPicLoader.DirectionY.TopToBottom);
loader.extract();
var bitmap = new Bitmap(loader.width, loader.height, PixelFormat.Format32bppArgb);
var dataBitmap = bitmap.LockBits(new Rectangle(0, 0, loader.width, loader.height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
Marshal.Copy(loader.bytesImageExtracted, 0, dataBitmap.Scan0, loader.bytesImageExtracted.Length);
bitmap.UnlockBits(dataBitmap);
return bitmap;
}
주의 사항
PLAY Animation Importer에 포함된 YanagisawaPicLoaderLib입니다.dll은 DOGA-L 시리즈로 CG PLAY Animation Importer에 포함된 유택 PIC 형식 이미지를 읽을 목적으로 개발된 것이기 때문에 32768색, 65536색의 유택 PIC 형식만 지원된다.특히 확장 PIC 형식은 전혀 지원되지 않습니다.(대응 계획도 없음)
만약 알아볼 수 없는 것이 있다면 [email protected] 전에 나에게 알려줄 수 있다면 나는 매우 기쁠 것이다.하지만 반드시 신속하게 대처할 수 있는 것은 아니니 양해해 주십시오.
감사의 말
유택 PIC 이미지 로더의 개발은 다음과 같은 자료를 참고했다.이 자리를 빌려 깊은 감사를 드립니다.(o)
- 류산 불고PIC_FMT(PIC 서식설명서, 샘플 소스 코드)
- GORRY씨. APICG 소스 코드
당시 스타일시트와 소스 코드가 공개된 덕분에 2014년 현재도 이렇게 쓸 수 있게 됐다.고맙습니다.
다음은 스토루노다의 "Unity 자산 서버를 사용하여 팀 개발의 업무 효율을 높이자."네.
Reference
이 문제에 관하여(유택 PIC 형식의 이미지를 Unity로 읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomotaco/items/705f79ae59368417aef8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
유택 PIC 이미지 로더의 개발은 다음과 같은 자료를 참고했다.이 자리를 빌려 깊은 감사를 드립니다.(o)
- 류산 불고PIC_FMT(PIC 서식설명서, 샘플 소스 코드)
- GORRY씨. APICG 소스 코드
당시 스타일시트와 소스 코드가 공개된 덕분에 2014년 현재도 이렇게 쓸 수 있게 됐다.고맙습니다.
다음은 스토루노다의 "Unity 자산 서버를 사용하여 팀 개발의 업무 효율을 높이자."네.
Reference
이 문제에 관하여(유택 PIC 형식의 이미지를 Unity로 읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomotaco/items/705f79ae59368417aef8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)