ANDROID 增强现实 AR Augmented Reality

qqss84 2011-03-09 07:11:15
现在准备在我的应用里面加一个增强现实的功能。
所以希望能在这里集思广益。感兴趣的朋友都来说说吧。
做过的,希望你能跟大家分享下经验,没做过的,遇到什么难题了,可以说出来,大家谈论,没做的,想做的,可以过来看看热闹。谢谢大家的捧场。我这有些网站与大家分享。
http://www.devx.com/wireless/Article/42482/1954
http://stackoverflow.com/questions/1939318/augmented-reality-framework
http://stackoverflow.com/questions/1870278/how-to-start-writing-an-augmented-reality-application
http://www.androidkit.com/developing-augmented-reality-applications-for-android
http://mobile.tutsplus.com/tutorials/android/android_augmented-reality/
https://github.com/haseman/Android-AR-Kit
...全文
3442 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
mail_ymj 2013-09-22
  • 打赏
  • 举报
回复
加我QQ:1016829303,大家一起研究
feangry 2013-07-15
  • 打赏
  • 举报
回复
正在研究 116097968
六六大侠 2013-07-11
  • 打赏
  • 举报
回复
求入伙,我也是在学AR技术,QQ591018930
末日之花 2013-06-14
  • 打赏
  • 举报
回复
顶一顶!想看看!
David_Yang 2013-05-17
  • 打赏
  • 举报
回复
用Java编写ar程序不会慢吗?我老在纠结这个?
arjishu 2013-01-31
  • 打赏
  • 举报
回复
来我这大家一起研究,我需要你们的学习笔记,百度AR技术网
bachelor819 2012-12-11
  • 打赏
  • 举报
回复
wikitudekey 在哪注册,求教 学习了 zaburo@gmail.com
归海一啸 2012-10-18
  • 打赏
  • 举报
回复
我最近也在研究这方面的,QQ472947433,大家可以一起讨论!
赵小K 2012-08-22
  • 打赏
  • 举报
回复
最近在公司做安卓項目 剛做到AR這塊 希望可以一起研究 QQ735085013 樓主可以創建個群嘛 把大家都加一起
qqbbtt 2012-08-15
  • 打赏
  • 举报
回复
QQ:461267492 加我一下吧 一起研究 最近正好要做ar的应用
tianjy545 2012-07-27
  • 打赏
  • 举报
回复
QQ:649186272 加我一下吧 一起研究 最近正好要做ar的应用
嗨嗨的迷子 2012-07-23
  • 打赏
  • 举报
回复
你好,我最近也在做这个,想用GPS+Sensor实现,类似google眼镜,一起交流吧,QQ:1227540804
tianke0711 2012-07-17
  • 打赏
  • 举报
回复
这里面有人现在正在android增强现实应用吗
gao_zhi_1990 2012-07-01
  • 打赏
  • 举报
回复
毕业设计也要做这个,能指点一二吗?qq807110084
w70525848 2012-02-28
  • 打赏
  • 举报
回复
在Windows平台上做过吗?
mynameisxiaowu 2011-10-03
  • 打赏
  • 举报
回复
public class BasicOpenARDemoActivity extends Activity {

/** the callback-intent after pressing any buttons */
private static final String CALLBACK_INTENT = "wikitudeapi.mycallbackactivity";
/** the id of the dialog which will be created when the modelfile cannot be located */
private static final int DIALOG_NO_MODEL_FILE_ON_SD = 1;
/** the model ile name */
private static final String modelFileName = Environment.getExternalStorageDirectory() + "/wtc_old_triang.obj";
/** the latitude of the origin (0/0/0) of the model */
private static final float modelCenterLatitude = 47.822f;
/** the longitude of the origin (0/0/0) of the model */
private static final float modelCenterLongitude = 13.045f;
/** the altitude of the origin (0/0/0) of the model */
private static final float modelCenterAltitude = 470;

/**
* {@inheritDoc}
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// We hook up 3 different buttons.
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BasicOpenARDemoActivity.this.startARViewBasic();
}
});

b = (Button) findViewById(R.id.button2);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BasicOpenARDemoActivity.this.startARViewWithIcons();
}
});

b = (Button) findViewById(R.id.button3);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BasicOpenARDemoActivity.this.startARViewWithCustomTitle();
}
});

b = (Button) findViewById(R.id.button4);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BasicOpenARDemoActivity.this.start3dARView();
}
});
}

/**
* starts the basic AR view
*/
private void startARViewBasic() {

// Create the basic intent
WikitudeARIntent intent = prepareIntent();

// And launch the intent
try {
intent.startIntent(this);
} catch (ActivityNotFoundException e) {
AbstractWikitudeARIntent.handleWikitudeNotFound(this);
}
}

/**
* does the same as the basic AR view above, but adds custom icons to the POIs
*/
void startARViewWithIcons() {

// Create the basic intent
WikitudeARIntent intent = prepareIntent();

// Optionally add a title
intent.addTitleText("AR app with custom icons");
intent.setPrintMarkerSubText(false);

// Optionally: Add icons
addIcons(intent);

// And launch the intent
try {
intent.startIntent(this);
} catch (ActivityNotFoundException e) {
AbstractWikitudeARIntent.handleWikitudeNotFound(this);
}
}

/**
* does the same as the basic AR view above, but adds custom icons to the POIs and a graphical title image
*/
void startARViewWithCustomTitle() {
// Create the basic intent
WikitudeARIntent intent = prepareIntent();

intent.setPrintMarkerSubText(false);

// Optionally: Add icons
addIcons(intent);

// Optionally: Put a custom graphical title:
intent.addTitleImageResource(this.getResources().getResourceName(R.drawable.custom_title_bar));

// Optionally, one could set URIs:
// Use Android's content provider or create your own
// to host your custom images.
// intent.addTitleImageUri("content://com.IconCP/ANY_ICON_PATH.jpeg");

// And launch the intent
try {
intent.startIntent(this);
} catch (ActivityNotFoundException e) {
AbstractWikitudeARIntent.handleWikitudeNotFound(this);
}
}

/**
* starts the 3D AR view
*/
private void start3dARView() {

// Create the basic intent
Wikitude3dARIntent intent = new Wikitude3dARIntent(this.getApplication(), null, null);

File file = new File(modelFileName);
if (!file.exists()) {
this.showDialog(BasicOpenARDemoActivity.DIALOG_NO_MODEL_FILE_ON_SD);
} else {
intent.setModelPathFileSystem(modelFileName);
intent.setModelOrigin(modelCenterLatitude, modelCenterLongitude, modelCenterAltitude);
intent.setMetersWorth1000Points(1);

// And launch the intent
try {
intent.startIntent(this);
} catch (ActivityNotFoundException e) {
AbstractWikitudeARIntent.handleWikitudeNotFound(this);
}
}
}

/**
* prepares a Wikitude AR Intent (e.g. adds the POIs to the view)
*
* @return the prepared intent
*/
private WikitudeARIntent prepareIntent() {
// create the intent
WikitudeARIntent intent = new WikitudeARIntent(this.getApplication(), null, null);
// add the POIs
this.addPois(intent);
// add one menu item
intent.setMenuItem1("My menu item", BasicOpenARDemoActivity.CALLBACK_INTENT);
intent.setPrintMarkerSubText(true);
return intent;
}

/**
* adds hard-coded POIs to the intent
*
* @param intent
* the intent
*/
private void addPois(WikitudeARIntent intent) {
WikitudePOI poi1 = new WikitudePOI(35.683333, 139.766667, 36, "Tokyo", "Tokyo is the capital of Japan.");
poi1.setLink("http://www.tourism.metro.tokyo.jp/");
poi1.setDetailAction(BasicOpenARDemoActivity.CALLBACK_INTENT);
WikitudePOI poi2 = new WikitudePOI(41.9, 12.5, 14, "Rome",
"Rome is the capital of Italy and the country's largest and most populous city, with over 2.7 million residents.");
poi2.setDetailAction(BasicOpenARDemoActivity.CALLBACK_INTENT);
WikitudePOI poi3 = new WikitudePOI(40.716667, -74, 1, "New York",
"New York is the most populous city in the United States, and the center of the New York metropolitan area.");
poi3.setDetailAction(BasicOpenARDemoActivity.CALLBACK_INTENT);
WikitudePOI poi4 = new WikitudePOI(48.208333, 16.373056, 220, "Vienna",
"Vienna is the capital of the Republic of Austria.");
poi4.setDetailAction(BasicOpenARDemoActivity.CALLBACK_INTENT);
List<WikitudePOI> pois = new ArrayList<WikitudePOI>();

pois.add(poi1);
pois.add(poi2);
pois.add(poi3);
pois.add(poi4);
intent.addPOIs(pois);

((BasicOpenARDemoApplication) this.getApplication()).setPois(pois);
}

/**
* helper-method to add icons to the intent.
*
* @param intent
* the intent
*/
private void addIcons(WikitudeARIntent intent) {
ArrayList<WikitudePOI> pois = intent.getPOIs();

Resources res = getResources();
pois.get(0).setIconresource(res.getResourceName(R.drawable.flag_japan));
pois.get(1).setIconresource(res.getResourceName(R.drawable.flag_italy));
pois.get(2).setIconresource(res.getResourceName(R.drawable.flag_usa));
pois.get(3).setIconresource(res.getResourceName(R.drawable.flag_austria));
// to use this, make sure you have the file present on the sdcard
// pois.get(3).setIconuri("content://com.IconCP/sdcard/flag_austria.png");
}

/**
* {@inheritDoc}
*/
protected Dialog onCreateDialog(int dialogId) {
String message = this.getString(R.string.modelfile_not_found, modelFileName);
return new AlertDialog.Builder(this).setTitle(R.string.modelfile_not_found_title).setMessage(message)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// do nothing, just dismiss the dialog
}
}).create();
}
}
mynameisxiaowu 2011-09-26
  • 打赏
  • 举报
回复
谁能解释下,以上贴出来的代码是什么意思
baiooy 2011-06-11
  • 打赏
  • 举报
回复
有关于AR方面的问题想请教各位 能加我下吗? QQ:123724119 msn: rock410@live.com
prok 2011-04-27
  • 打赏
  • 举报
回复
qq:27035210 一起研究
qqss84 2011-03-25
  • 打赏
  • 举报
回复
再加一句,只要注册了就可以获得wikitudekey,就可以去掉上面的(beta)水印。但是如果商用的话就需要付费。这个官网上也没写清楚,不知道他最后用GPL 还是LGPL。

接去水印,在这句中的两个null ,第一个是你注册后发到你账户上的密匙,第二个是开发者的姓名(最好用拼音,不知道汉字会不会出现兼容的问题)
WikitudeARIntent intent = new WikitudeARIntent(RAugmente.this.getApplication(), null, null)

祝大家能在编程愉快!

加载更多回复(4)
Complete Virtual Reality and Augmented Reality Development with Unity by Jesse Glover Jonathan Linowes Packt Publishing English 2019-04-17 668 pages Details Title: Complete Virtual Reality and Augmented Reality Development with Unity Author: Jesse Glover, Jonathan Linowes Length: 668 pages Edition: 1 Language: English Publisher: Packt Publishing Publication Date: 2019-04-17 ISBN-10: 1838648186 ISBN-13: 9781838648183 Sales Rank: #218169 (See Top 100 Books) Categories Computers & Technology Games & Strategy Guides Programming Programming Languages Description Get close and comfortable with Unity and build applications that run on HoloLens, Daydream, and Oculus Rift Key Features Build fun augmented reality applications using ARKit, ARCore, and Vuforia Explore virtual reality by developing more than 10 engaging projects Learn how to integrate AR and VR concepts together in a single application Book Description Unity is the leading platform to develop mixed reality experiences because it provides a great pipeline for working with 3D assets. Using a practical and project-based approach, this Learning Path educates you about the specifics of AR and VR development using Unity 2018 and Unity 3D. You'll learn to integrate, animate, and overlay 3D objects on your camera feed, before moving on to implement sensor-based AR applications. You'll explore various concepts by creating an AR application using Vuforia for both macOS and Windows for Android and iOS devices. Next, you'll learn how to develop VR applications that can be experienced with devices, such as Oculus and Vive. You'll also explore various tools for VR development: gaze-based versus hand controller input, world space UI canvases, locomotion and teleportation, timeline animation, and multiplayer networking. You'll learn the Unity 3D game engine via the interactive Unity Editor and C# programming. By the end of this Learning Path, you'll be fully equipped to develop rich, interactive mixed reality experiences using Unity. This Learning Path includes content from the following Packt products: Unity Virtual Reality Projects - Second Edition by Jonathan Linowes Unity 2018 Augmented Reality Projects by Jesse Glover What you will learn Create 3D scenes to learn about world space and scale Move around your scenes using locomotion and teleportation Create filters or overlays that work with facial recognition software Interact with virtual objects using eye gaze, hand controllers, and user input events Design and build a VR storytelling animation with a soundtrack and timelines Create social VR experiences with Unity networking Who this book is for If you are a game developer familiar with 3D computer graphics and interested in building your own AR and VR games or applications, then this Learning Path is for you. Any prior experience in Unity and C# will be an advantage. In all, this course teaches you the tools and techniques to develop engaging mixed reality applications. Table of Contents Virtually Everything for Everyone Content, Objects, and Scale VR Build and Run Gaze-Based Control Handy Interactables World Space UI Locomotion and Comfort Playing with Physics and Fire Animation and VR Storytelling What AR is and How to Get Set up GIS Fundamentals - The Power of Mapping Censored - Various Sensor Data and Plugins The Sound of Flowery Prose Picture Puzzle - The AR Experience Fitness for Fun - Tourism and Random Walking Snap it! Adding Filters to Pictures To the HoloLens and Beyond
Build exciting AR applications on mobile and wearable devices with Unity 3D, Vuforia, ARToolKit, Microsoft Mixed Reality HoloLens, Apple ARKit, and Google ARCore About This Book Create unique AR applications from scratch, from beginning to end, with step-by-step tutorials Use Unity 3D to efficiently create AR apps for Android, iOS, and Windows platforms Use Vuforia, ARTookKit, Windows Mixed Reality, and Apple ARKit to build AR projects for a variety of markets Learn best practices in AR user experience, software design patterns, and 3D graphics Who This Book Is For The ideal target audience for this book is developers who have some experience in mobile development, either Android or iOS. Some broad web development experience would also be beneficial. What You Will Learn Build Augmented Reality applications through a step-by-step, tutorial-style project approach Use the Unity 3D game engine with the Vuforia AR platform, open source ARToolKit, Microsoft's Mixed Reality Toolkit, Apple ARKit, and Google ARCore, via the C# programming language Implement practical demo applications of AR including education, games, business marketing, and industrial training Employ a variety of AR recognition modes, including target images, markers, objects, and spatial mapping Target a variety of AR devices including phones, tablets, and wearable smartglasses, for Android, iOS, and Windows HoloLens Develop expertise with Unity 3D graphics, UIs, physics, and event systems Explore and utilize AR best practices and software design patterns Table of Contents Chapter 1. Augment Your World Chapter 2. Setting Up Your System Chapter 3. Building Your App Chapter 4. Augmented Business Cards Chapter 5. Ar Solar System Chapter 6. How To Change A Flat Tire Chapter 7. Augmenting The Instruction Manual Chapter 8. Room Decoration With Ar Chapter 9. Poke The Ball Game

80,354

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧