블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

원본 : http://www.connectionstrings.com/excel



Connection strings for Excel

Developers Community

Find solutions and post questions regarding connection string related issues.

Forum for Excel

Microsoft Jet OLE DB 4.0

TYPE OLE DB Provider
USAGE Provider=Microsoft.Jet.OLEDB.4.0
MANUFACTURER Microsoft

Standard

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;
Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
 

Standard alternative

Try this one if the one above is not working. Some reports that Excel 2003 need the exta OLEDB; section in the beginning of the string.

OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;
Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";

Important note!
The quota " in the string needs to be escaped using your language specific escape syntax.
c#, c++   \"
VB6, VBScript   ""
xml (web.config etc)   "
or maybe use a single quota '.

"HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates the opposite.

"IMEX=1;" tells the driver to always read "intermixed" (numbers, dates, strings etc) data columns as text. Note that this option might affect excel sheet write access negative.

SQL syntax "SELECT [Column Name One], [Column Name Two] FROM [Sheet One$]". I.e. excel worksheet name followed by a "$" and wrapped in "[" "]" brackets.

Check out the [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel] located registry REG_DWORD "TypeGuessRows". That's the key to not letting Excel use only the first 8 rows to guess the columns data type. Set this value to 0 to scan all rows. This might hurt performance. Please also note that adding the IMEX=1 option might cause the IMEX feature to set in after just 8 rows. Use IMEX=0 instead to be sure to force the registry TypeGuessRows=0 (scan all rows) to work.

If the Excel workbook is protected by a password, you cannot open it for data access, even by supplying the correct password with your connection string. If you try, you receive the following error message: "Could not decrypt file."

A workaround for the "could not decrypt file" problem

 
 

ACE OLEDB 12.0

TYPE OLE DB Provider
USAGE Provider=Microsoft.ACE.OLEDB.12.0
MANUFACTURER Microsoft

Excel 97-2003 Xls files with ACE OLEDB 12.0

You can use this connection string to use the Office 2007 OLEDB driver (ACE 12.0) to connect to older 97-2003 Excel workbooks.

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;
Extended Properties="Excel 8.0;HDR=YES";

"HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates the opposite.

 
 

.NET Framework Data Provider for OLE DB

TYPE .NET Framework Wrapper Class Library
USAGE System.Data.OleDb.OleDbConnection
MANUFACTURER Microsoft

Use an OLE DB provider from .NET

Provider=any oledb provider's name;OledbKey1=someValue;OledbKey2=someValue;

See the respective OLEDB provider's connection strings options. The .net OleDbConnection will just pass on the connection string to the specified OLEDB provider. Read more here.

 
 

Microsoft Excel ODBC Driver

TYPE ODBC Driver
USAGE Driver={Microsoft Excel Driver (*.xls)}
MANUFACTURER Microsoft

Standard

Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;
DefaultDir=c:\mypath;

SQL syntax "SELECT [Column Name One], [Column Name Two] FROM [Sheet One$]". I.e. excel worksheet name followed by a "$" and wrapped in "[" "]" brackets.

 
 

Specify ReadOnly

[Microsoft][ODBC Excel Driver] Operation must use an updateable query. Use this connection string to avoid the error.

Driver={Microsoft Excel Driver (*.xls)};Dbq=C:\MyExcel.xls;ReadOnly=0;

ReadOnly = 0 specifies the connection to be updateable.

 
 

Microsoft Excel 2007 ODBC Driver

TYPE ODBC Driver
USAGE Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
MANUFACTURER Microsoft

Standard

Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\MyExcel.xls;
 
 

.NET Framework Data Provider for ODBC

TYPE .NET Framework Wrapper Class Library
USAGE System.Data.Odbc.OdbcConnection
MANUFACTURER Microsoft

Use an ODBC driver from .NET

Driver={any odbc driver's name};OdbcKey1=someValue;OdbcKey2=someValue;

See the respective ODBC driver's connection strings options. The .net OdbcConnection will just pass on the connection string to the specified ODBC driver. Read more here.

 
 

.NET xlReader for Microsoft Excel

TYPE .NET Framework Class Library
USAGE VM.xPort.ExcelClient.ExcelConnection
MANUFACTURER xPortTools

Excel file with header row

Data Source =c:\myExcelFile.xls;HDR=yes;Format=xls;
 
 

Excel file without header row

Data Source =c:\myExcelFile.xls;HDR=no;Format=xls;
 
 


반응형
Posted by blueasa
, |

Texture Sizes

Ideally texture sizes should be powers of two on the sides. These sizes are as follows: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 etc. pixels. The textures do not have to be square, i.e. width can be different from height. Note that each platform may impose maximum texture sizes.


Android

Unless you're targeting a specific hardware, like Tegra, we'd recommend using ETC1 compression. If needed you could store an external alpha channel and still benefit from lower texture footprint. If you absolutely want to store an alpha channel in a texture, RGBA16 bit is the compression supported by all hardware vendors.


Textures can be imported from DDS files but only DXT or uncompressed pixel formats are currently supported.

 

If your app utilizes an unsupported texture compression, the textures will be uncompressed to RGBA 32 and stored in memory along with the compressed ones.So in this case you lose time decompressing textures and lose memory storing them twice. It may also have a very negative impact on rendering performance.

 

중요한부분에 빨간마커!

 

요약 : 

 

플랫폼별 텍스쳐사이즈 리미트를 확인

암축설정은 ETC1 할것이유인 즉슨 ETC1 모든 기기에서 지원하는데만약 지원하지않는 압축형식을 사용할경우 텍스쳐는 32bit형식으로 압축이 풀리면서 메모리가 졎대는 현상이 발생함

 

추가 :

2^x*2^x정방형태의 텍스쳐를 사용할것



[출처] Unity3d Texture 레퍼런스정리|작성자 송주씨


반응형
Posted by blueasa
, |

전문 : http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=41284



[요약]

● 시스템 메모리
1. 메모리 프로파일러(Instruments, DDMS)를 늘 곁에 두고 지낸다.
2. 모노 런타임에 기인한 메모리 릭이 발생할 수도 있다는 사실을 기억한다.
3. 모노 런타임 분석에도 도전해 본다.

● 비디오 메모리
1. 어떠한 경우에서라도 NPOT 텍스처를 피한다.
2. OpenGL ES Profiler와 친해진다.
3. 가능하다면 텍스처 압축을 사용한다.
4. 지금 선택한 텍스처의 color bit이 적절한지 다시 생각해 본다.

반응형
Posted by blueasa
, |

유니티엔진에서 일반적인 Timer()함수 대신에 MonoBehaviour 가 제공하는Invoke() 함수가 있습니다. 
Invoke(methodName:string, time:float) 
- methodName 메소드를 time 초 후 호출합니다. 

InvokeRepeating(methodName:string, time:float, repeatRate:float) 
- methodName 메소드를 time 초 후 호출합니다. 첫 호출 후 repeatRate 초 마다 반복 호출합니다. 
 InvokeRepeating 는 repeatRate 값이 0 보다 클때만 반복 호출됩니다. repeatRate 값이 0 일때는 최초 한번 호출 후 반복호출되지 않습니다.   ( 출처 : http://devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=50255#c_50287 )


CancelInvoke() 
- 이 스크립트에 있는 모든 Invoke 를 취소합니다. 

CancelInvoke(methodName:string) 
- 이 스크립트에 있는 methodName 을 호출하는 모든 Invoke 를 취소합니다. 



출처 : http://devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=31893&sca=&sfl=wr_subject%7C%7Cwr_content&stx=InvokeRepeating&sop=and&currentId=44



[참조]

http://blog.naver.com/bluefallsky/140190280479

http://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.Invoke.html

http://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.InvokeRepeating.html

http://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.CancelInvoke.html

http://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.IsInvoking.html

반응형
Posted by blueasa
, |




Link : http://www.richardfine.co.uk/2012/10/unity3d-monobehaviour-lifecycle/

반응형
Posted by blueasa
, |
애플의 공식적인 문서는 아니고, Skyler Saleh 의 개인적인 경험에 의한 수치라고 함.
참조해야지..

  • 260 MB of ram on iPad 2 (Thanks RobCroll)
  • 170-180MB of ram on devices with 512 Mb of ram total (iPhone 4, iPod touch 4g)
  • 40-80MB of ram on devices that have 256 MB of ram (iPad, iPhone 3gs, iPod touch 3g)
  • 25 MB on device with only 128MB of ram (IPhone 3g, iPhone 2g, iPod touch 1g-2g)


출처 : http://stackoverflow.com/questions/6044147/memory-limit-and-ios-memory-allocation-in-iphone-sdk

반응형

'Unity3D > Tips' 카테고리의 다른 글

Unity3d Texture 레퍼런스정리  (0) 2013.07.03
유니티 메모리 최적화  (0) 2013.07.03
Max Texture Size of iOS Devices  (0) 2013.06.14
게임 중 일시정지 하기  (0) 2013.05.30
Random.Range(min, max) 함수의 max값에 대해..  (0) 2013.05.21
Posted by blueasa
, |

게임 끝장내기

Etc / 2013. 7. 2. 14:28


링크 : http://design-play-textcube.blogspot.kr/2011/05/blog-post.html

반응형
Posted by blueasa
, |



링크 : http://exceldatareader.codeplex.com/

반응형
Posted by blueasa
, |

안드로이드 마켓에 경우 50mb 용량 제한이 있다.

요즘의 게임들은 용량이 큰것들이 많은데 보통 시작시 타이틀화면과 동시에 리소스데이터를 다운받는 형식으로 많이 개발하고 있다.

이것이 바로 인앱 업데이트 방식인데, 이것은 서비스후 운영의 용이성을 도모한다.


그럼 유니티에서 어떻게 구현하여 사용하는지 알아보도록 한다.


그전에 이미 많은 국내 유저들의 포스팅에도 잘 나와있다. 

참고: http://botta.tistory.com/38


어셋번들로 만들어진 파일은 더이상 Resource폴더에 있지 않아도 되니 릴리즈 버젼 빌드시 프로젝트에서 제거해도 무관하다.

하지만 추후 업데이트및 수정작업을 고려해 리소스 백업은 필수라 할수있다.

때문에 Resources와 ResoucesBundle폴더를 생성해서 번들로 만들어져야 하는것들은 다음과 같이 따로 관리 하는것이 좋다.




프리팹도 어셋번들로 만들어 사용할수 있는데 이렇게 만들어진 프리팹의 매시데이터, 텍스쳐, 메트리얼등을 포함하여 함께 가지게 된다.


이때 주의 사항은 같은 메트리얼을 사용하는 여러 오브젝트는 한번에 어셋번들로 만들어야 한다는것이다. 그렇지 않을경우 동일한 메터리얼의 리소스들이 중복이 되어 예기치 못한 에러상황을 만들어 낼 수 있으니 주의 한다.


만드는 법은 매우 간단하다.

Project패널에서 어셋번들로 만들 오브젝트의 우클릭을 하게 되면 다음과 같은 메뉴가 나온다. 


그냥 나오는것은 아니다 

CreateAssetBundle스크립트 파일을 Editor에 추가해 줘야 한다.


내용은 별거 없다.


using UnityEngine;

using System.Collections;

using UnityEditor;

using System;

using System.IO;


public class CreateAssetBundle : MonoBehaviour {

String str;

}


public class cre :MonoBehaviour

{

 [MenuItem("Assets/Build AssetBundle From Selection - No dependency tracking")]

    static void ExportResourceNoTrack () {

        // Bring up save panel

        string path = EditorUtility.SaveFilePanel ("Save Resource""""New Resource""bfbundle");

        if (path.Length != 0) {

            // Build the resource file from the active selection.

            BuildPipeline.BuildAssetBundle(Selection.activeObject, Selection.objects, path,BuildAssetBundleOptions.CollectDependencies, BuildTarget.iPhone);

        }

    }

}



다음의 우클릭 하면 나오는 메뉴는 이부분 인것이다.

 [MenuItem("Assets/Build AssetBundle From Selection - No dependency tracking")]




번들로 만들어지게 되면 다음과 같이 파일명을 적은후 저장하게 된다.




이때 생성되는 확장자명은 임의로 설정할수있다.







다음은 웹에 올려 놓고 불러오는 부분을 확인해본다.




웹서버에 만든 어셋번들 파일을 올려놓는다.



WWW를 통해 로드 하게 되면 다음과 같이 생성하여 사용 할 수 있다.






다음 API를 확인하면 금방 예제를 만들어 볼수 있을듯 하다.


http://www.devkorea.co.kr/reference/Documentation/ScriptReference/AssetBundle.html






AssetBundleObject로 부터 상속됨

AssetBundles은 사용자로 하여금 추가적인 에셋을 WWW 클래스를 통하여 스트리밍을 하고 런타임에 인스턴스를 생성할 수 있게 해줍니다. AssetBundles은 BuildPipeline.BuildAssetBundle을 통해 생성됩니다.

참고: WWW.assetBundleLoading Resources at RuntimeBuildPipeline.BuildPlayer.

function Start () {
var www = WWW ("http://myserver/myBundle.unity3d");
yield www;
// 지정된 메인 에셋을 가져다가 인스턴스를 생성합니다.
Instantiate(www.assetBundle.mainAsset);
}



출처 : http://smilejsu.tistory.com/494

반응형

'Unity3D > AssetBundle' 카테고리의 다른 글

애셋 번들 정리  (0) 2014.02.26
에셋 번들 사용하기  (0) 2014.02.25
WWW.assetbundle  (0) 2013.06.27
어셋번들 (AssetBundle / BuildPipeline) 생성  (0) 2013.06.27
유니티 어셋번들 (AssetBundle)  (0) 2013.06.27
Posted by blueasa
, |

WWW.assetbundle

Unity3D/AssetBundle / 2013. 6. 27. 11:48

http://www.devkorea.co.kr/reference/Documentation/ScriptReference/AssetBundle.html


인앱 업데이트부분을 개발하면서 있었던 문제점?! 들을 포스팅 합니다.


게임이 시작되기전에 업데이트 받아야할 목록들은 크게 데이터와 그래픽리소스로 구분되어 집니다.


이때 WWW를 통해 로드 하게되는데 Editor에서 만들어진 Bundle데이터가 아닐경우 WWW.assetbundle은 null값을 가지는것이 문제였습니다.


유니티 엔진 내부적으로 WWW.assetbundle을 사용하게 되면 번들데이터를 로드 하는것으로 생각합니다.


때문에 WWW를 통해 데이터를 로드 할경우 WWW.assetbundle 은 null값을 가지게 됨으로 이부분을 생각 해서 메니저 클래스를 제작 해야 합니다.



출처 : http://smilejsu.tistory.com/496

반응형

'Unity3D > AssetBundle' 카테고리의 다른 글

애셋 번들 정리  (0) 2014.02.26
에셋 번들 사용하기  (0) 2014.02.25
AssetBundle (Pro Only)  (0) 2013.06.27
어셋번들 (AssetBundle / BuildPipeline) 생성  (0) 2013.06.27
유니티 어셋번들 (AssetBundle)  (0) 2013.06.27
Posted by blueasa
, |