如何获得MarkerId在Artoolkitplus在昂达v80plus安卓刷机

发现 ArMarker 之间的距离和 camera
在 ArToolkit 的 android
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.
如何计算距离之间智能手机 camera 和 artoolkit 标记。 我试图让它从 transformation matrix 的标记但向量值均为零。
float [] pMatrix = ARToolKit.getInstance().getProjectionMatrix();
float x = pMatrix[3];
float y = pMatrix[7];
float z = pMatrix[11];
x,y,z 均为零。
解决方法 1:
我想你在错误的位置在 matrix 。cameraX,y,z 是里面的最后一列 transformation matrix :
queryMarkerTransformation(int markerId);
Returns float array with 16 values. The values represent an OpenGL style transformation matrix.
The first 4 values represent the first column of the matrix.
float[16] = [0....0, -0..2801126, -0..0, -0., -0., 0..0, 23.678268, -6.4265084, -298.6]
The matrix looks like:
-0.8614648
-6.4265084
-0..8947546
-298.65326
The last column represents x,y,z in the camera coordinate system.
来源为那是在这里︰ 我相信。(但不知何故我不能现在到达 url)
现在你也读投影 matrix , transformation matrix 。
如果正确地去追查,值 [14] 应该给你距离标记。
更新︰ 我只是写下更详细的解释︰I'm using MvvmCross with MonoDroid.
In a timer in the viewmodel, every minute I call RaisePropertyChanged("MinutesRemaining") - MinutesRemaining being an integer specifying the duration in minutes until the current entry ends (and yes, this is called on the UI thread!).
MinutesRemaining is bound to a TextView using MvvmCross.
Until the 4.10.1 update from Xamarin, the app would just crash completely with no error message printed to the trace - it's now breaking correctly when debugging and giving the below error when invoking the PropertyChanged event:
MvxBind:Error:281.24 Problem seen during binding execution for binding Text for MinutesRemaining - problem ArgumentException: 'jobject' must not be IntPtr.Zero.
Parameter name: jobject
at Android.Runtime.JNIEnv.CallVoidMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue[] parms) [0x00010] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.10.1-branch/9d03ce3e/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:499
at Android.Widget.TextView.set_TextFormatted (ICharSequence value) [0x00034] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.10.1-branch/9d03ce3e/source/monodroid/src/Mono.Android/platforms/android-14/src/generated/Android.Widget.TextView.cs:1814
at Android.Widget.TextView.set_Text (System.String value) [0x00013] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.10.1-branch/9d03ce3e/source/monodroid/src/Mono.Android/platforms/android-14/src/generated/Android.Widget.TextView.cs:1823
at Cirrious.MvvmCross.Binding.Droid.Target.MvxTextViewTextTargetBinding.SetValueImpl (System.Object target, System.Object toSet) [0x00000] in &filename unknown&:0
at Cirrious.MvvmCross.Binding.Bindings.Target.MvxConvertingTargetBinding.SetValue (System.Object value) [0x00000] in &filename unknown&:0
at Cirrious.MvvmCross.Binding.Bindings.MvxFullBinding.UpdateTargetFromSource (System.Object value) [0x00000] in &filename unknown&:0
It binds correctly the first time - it's only on subsequent RaisePropertyChanged calls that this occurs. The same code also works on Windows 8 and Windows Phone.
Using JavaFinalise in the adapter used for the scenario above fixed the problem (found here: ). The problem I have now is the same result, but where the first view in an adapter is bound to a property in the parent view model (not the item).
Code used to bind is as follows:
public class SubjectFilterAdapter : MvxAdapter {
private EntityListFragment&TEntity, TViewModel& _
public SubjectFilterAdapter(Context context, EntityListFragment&TEntity, TViewModel& owner) : base(context, (IMvxAndroidBindingContext)owner.BindingContext) {
protected override View GetBindableView(View convertView, object dataContext, int templateId) {
var view = base.GetBindableView(convertView, dataContext, templateId);
if (templateId == ItemTemplateId && GetPosition(dataContext) == 0) {
var set = _owner.CreateBindingSet&EntityListFragment&TEntity, TViewModel&, TViewModel&();
set.Bind(view.FindViewById&TextView&(Resource.Id.SelectedScheduleText))
.To(x =& x.SelectedScheduleText).WithClearBindingKey("SelectedScheduleTextFilterBinding");
set.Apply();
protected override void JavaFinalize() {
if (this.BindingContext != null)
this.BindingContext.ClearAllBindings();
base.JavaFinalize();
It works correctly to begin with (for the first couple of changes) but after that the above exception is thrown. Using MvvmCross 3.0.14-beta3.
解决方案 By mixing listitem/cell binding contexts with the parent context you're entering into quite an advanced area.
To help try to explain/debug what you is going on, you need to understand a little about all of the the parent lifecycle, the listitem/cell lifecycle and the lifecycles of the corresponding MvvmCross binding contexts.
At the parent lifecycle level, this is generally an Android Activity or Fragment. For the sake of simplicity I'll just use Activity for the rest of this answer.
This Activity has a couple of key lifecycle events
OnCreate is called once only when the Activity is first launched
OnDestroy is called once only when the Activity will not be shown again.
MvvmCross intercepts these events and:
within OnCreate, it sets a ViewModel as the Activity's DataContext. User code - normally Xml code inflated within SetContentView - then creates bindings. These bindings are stored within the BindingContext of the Activity
within OnDestroy, MvvmCross destroys all the bindings within that BindingContext
In the user interface we're interested in here, the Activity owns a ListView, and that ListView has an Adapter set for it. Within this scenario, the DataContext for the ListView and its Adapter is the same as it's parent.
Within the lifetime of the ListView the list may need to show lots of items. The items shown at any time may change - both because of user touch actions and because of view model changes. To display these items, the ListView asks the Adapter for Views. For each item it shows the Adapter supplies a View, and these Views may be reused (using the convertView parameter). However, sometimes, these Views are also not reused - and in this situation it is sometimes possible for the View object to live on in C# even after the Java/Dalvik View has been removed and Java finalized.
MvvmCross intercepts the GetView calls within its MvxAdapter. For each call it returns not just a View but moreover and MvxListItemView. This is a View with an added BindingContext - and this allows MvvmCross users to bind each MvxListItemView to its list item DataContext.
When a MvxListItemView is reused, it's simple for MvvmCross to simply change its DataContext.
When a MvxListItemView is not reused - when it is removed from the UI and then JavaFinalized - MvvmCross intercepts the OnDetachedFromWindow event and it uses this to switch the DataContext to null. It does this on OnDetachedFromWindow rather than JavaFinalize as the Window call is guaranteed to be made on the UI thread and as it feels (to me) like a cleaner place to do this.
Note that some of this behaviour has subtly changed in recent releases - but this description above is correct for v3.0.14
With that background in place, what it appears you are currently trying to do is to create a binding for the contents of a ListItemView within the BindingContext of the Activity.
This means that the binding doesn't really have a good understanding of the lifecycle of the ListItemView - so the binding can say alive even after the ListItemView has been removed from the screen and (maybe) finalized.
To resolve this issue...
I think the simplest route is to change the DataContext for your listitem. If your ListItemView binding is a simple normal binding - if it contains the MinutesRemaining property - then you shouldn't hit these lifecycle errors.
You can try the advanced binding found in @Jamie's answer () - however, I think this answer doesn't still quite get it right - as I think:
it doesn't correctly handle the case where the listitemview is removed/finalised - if the first list item is scrolled off-screen under the current code then I believe you can still see problems. To use Adapter-based code, then I think the Adapter needs to somehow get a callback from the listitemview in the case that that view is removed from the UI or finalised.
the JavaFinalize in that answer is 'a bit naughty' in that it clears the parent Activitys BindingContext during the Finalize of the Adapter. This is probably OK to do but it shouldn't really be necessary - the Activity's own OnDestroy should handle that.
本文地址: &
我使用MvvmCross与MonoDroid。
在视图模型一个计时器,每分钟我称之为 RaisePropertyChanged(“MinutesRemaining”)
MinutesRemaining 作为一个整数,指定时间以分钟,直到当前输入端(是的,这就是所谓的UI线程!)。
MinutesRemaining 绑定到的TextView 使用MvvmCross。
到从Xamarin的 4.9.1 更新,该应用程序将刚刚崩溃,完全与打印到跟踪任何错误消息 - 在调试的时候它现在打破正确,并给予以下错误调用的PropertyChanged 事件时:
MvxBind:错误:281.24问题时结合执行绑定文本MinutesRemaining看到 - 问题的ArgumentException:“jobject”不得IntPtr.Zero。
参数名:jobject
在Android.Runtime.JNIEnv.CallVoidMethod(IntPtr的jobject,IntPtr的jmethod,Android.Runtime.JValue [] PARMS)[0x00010]中/Users/builder/data/lanes/monodroid-mlion-monodroid-4.10.1-branch/9d03ce3e/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:499
在Android.Widget.TextView.set_TextFormatted(ICharSequence值)[0x00034]中/Users/builder/data/lanes/monodroid-mlion-monodroid-4.10.1-branch/9d03ce3e/source/monodroid/src/Mono.Android/platforms/android-14/src/generated/Android.Widget.TextView.cs:1814
在Android.Widget.TextView.set_Text(System.String值)[0x00013]中/Users/builder/data/lanes/monodroid-mlion-monodroid-4.10.1-branch/9d03ce3e/source/monodroid/src/Mono.Android/platforms/android-14/src/generated/Android.Widget.TextView.cs:1823
在Cirrious.MvvmCross.Binding.Droid.Target.MvxTextViewTextTargetBinding.SetValueImpl(System.Object的目标,System.Object的toSet)[0x00000]与&文件名不明>:0
在Cirrious.MvvmCross.Binding.Bindings.Target.MvxConvertingTargetBinding.SetValue(System.Object的值)[0x00000]与&文件名不明>:0
在Cirrious.MvvmCross.Binding.Bindings.MvxFullBinding.UpdateTargetFromSource(System.Object的值)[0x00000]与&文件名不明>:0
它结合正确的第一次 - 这只是对后续 RaisePropertyChanged 称出现这种情况。同样的code也适用于Windows 8和Windows Phone。
在用于场景适配器使用JavaFinalise上述固定的(在这里发现了问题:MVVMCross绑定崩溃的Android应用程序)。这个问题我现在已经是同样的结果,但如果在适配器的第一个观点是绑定到父视图模型中的财产(而不是项目)。
用于绑定 code是如下:
公共类SubjectFilterAdapter:MvxAdapter {
私人EntityListFragment< TEntity,TViewModel> _所有者;
公共SubjectFilterAdapter(上下文的背景下,EntityListFragment< TEntity,TViewModel>老板):基地(背景下,(IMvxAndroidBindingContext)owner.BindingContext){
_owner =所有者;
保护覆盖查看GetBindableView(查看convertView,对象的DataContext,INT templateId){
VAR视图= base.GetBindableView(convertView,DataContext的,templateId);
如果(templateId == ItemTemplateId和放大器;&安培;为getPosition(DataContext的)== 0){
VAR组= _owner.CreateBindingSet< EntityListFragment< TEntity,TViewModel&中TViewModel>();
set.Bind(view.FindViewById< TextView的>(Resource.Id.SelectedScheduleText))
。为(X => x.SelectedScheduleText).WithClearBindingKey(“SelectedScheduleTextFilterBinding”);
set.Apply();
保护覆盖无效JavaFinalize(){
如果(this.BindingContext!= NULL)
this.BindingContext.ClearAllBindings();
base.JavaFinalize();
它正常工作,开始与(为第一对夫妇的变化),但在那之后,上述异常。使用MvvmCross
3.0.14-β3。
解决方案 通过混合列表项/细胞结合上下文和你进入一个相当先进区父上下文。
要帮助试图解释/调试,你需要了解一些有关的所有父的生命周期中,列表项/细胞的生命周期和相应的MvvmCross结合上下文的生命周期的你是怎么回事。
在父母的生命周期的水平,这通常是一个Android 活动或片段。为简单起见,我将只使用活动此答案的其余部分。
本活动有几个关键生命周期事件
的OnCreate 被调用一次,只有当活动首次启动
的OnDestroy 被调用一次,只有当活动将不再显示。
MvvmCross截获这些事件和:
在的OnCreate ,它设置了一个视图模型为活动的的DataContext 。用户code
- 正常的Xml code在的setContentView 膨胀 - 再创建绑定。这些绑定存储在的BindingContext 的活动的
在的OnDestroy ,MvvmCross破坏内的所有绑定的BindingContext
在用户界面中,我们有兴趣在这里,活动拥有的ListView ,而的ListView 有一个适配器设置它。在这种情况下,的DataContext 为的ListView 和适配器是相同的它的父
在的ListView的寿命清单可能需要出示大量物品。在任何时候显示的内容可能会发生变化 - 用户的触摸操作以及一方面是因为由于视图模型的变化。为了显示这些项目中,的ListView 询问适配器为查看秒。对于每一个项目它显示了适配器提供了一个查看,这些查看之间可以重复使用(使用 convertView 参数)。但是,有时,这些查看,则也不能重复使用 - 在这种情况下,有时可以在视图,甚至在Java / Dalvik的查看已被删除和Java完成。
MvvmCross拦截 GetView 中的 MvxAdapter 调用。对于每个调用返回不只是一个查看,但此外和 MvxListItemView 。这是一个查看与添加的BindingContext
- 这可以让MvvmCross用户绑定每个 MvxListItemView 其项目的DataContext 。
在 MvxListItemView 可重复使用,它是简单的MvvmCross简单地改变其的DataContext 。
在 MvxListItemView 不重复使用 - 当它从用户界面中删除,然后 JavaFinalize
MvvmCross拦截在 OnDetachedFromWindow 事件,并使用它来切换的DataContext 到空。它这样做是对 OnDetachedFromWindow ,而不是 JavaFinalize 作为窗口调用是保证在UI线程,并因为它使感觉(我)像一个清洁的地方做到这一点。
注意的一些这种行为已经潜移默化地改变了在最近的版本 - 但高于此的描述是正确的v3.0.14
通过这种背景下的地方,它出现什么您正在试图做的是建立一个绑定的内容 ListItemView 在的BindingContext 的活动的。
这意味着绑定并不真正具备的 ListItemView 的生命周期有很好的理解 - 这样的结合可以说活着即使在 ListItemView 已经从屏幕上被删除,(可能)完成。
要解决这个问题...
我认为最简单的途径就是改变的DataContext你的列表项。如果您ListItemView结合是一个简单的正常结合 - 如果它包含MinutesRemaining属性 - 那么你不应该打这些生命周期误差
您可以尝试高级绑定发现@杰米的答案( &
扫一扫关注官方微信 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
基于人工标记的手术导航仪 优先出版
下载积分:1500
内容提示:基于人工标记的手术导航仪 优先出版
文档格式:PDF|
浏览次数:7|
上传日期: 08:50:13|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1500 积分
下载此文档
该用户还上传了这些文档
基于人工标记的手术导航仪 优先出版
官方公共微信写之前说几句,以下示例和参考都是github上的开源作品,小编只是分享在使用过程中的踩坑和开发心得。本文适用于小白,由于例子中可能需要使用到shell命令,小编的电脑操作系统是windows 7,如果是mac请自行转换为对应的命令行。&p&
AR技术(增强现实技术Augmented Reality,简称 AR),AR技术在Native中已经兴起了,并且市场上有许多成功的APP,但是对于JavaScript怎么来玩转AR呢?下面我来简单的给大家演示两个不同版本,不同场景的AR小例子。&/p&&p&
1.首先需要先到&a href=&/?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&github&i class=&icon-external&&&/i&&/a&上搜索ar.js,如下图,有2.8K star的就是了。&/p&&img src=&/v2-58b13c7b3ebde7ee20954c_b.png& data-rawwidth=&766& data-rawheight=&293& class=&origin_image zh-lightbox-thumb& width=&766& data-original=&/v2-58b13c7b3ebde7ee20954c_r.png&&&p&目录结构如下,大家可以download zip,或者git clone下来&br&&img src=&/v2-757da7b2cc9b9d1a595c2f89f0786c20_b.png& data-rawwidth=&988& data-rawheight=&451& class=&origin_image zh-lightbox-thumb& width=&988& data-original=&/v2-757da7b2cc9b9d1a595c2f89f0786c20_r.png&&&br&咱们的例子主要在这个开源库上更改,它的一级目录,aframe
data three.js webvr-polyfill,一看就很清晰了,今天咱们单刀直入,只看three.js部分,当然也要依赖于data目录里的数据。&/p&&p&事先准备,为了以后的灵活扩展,建议大家下载一份最新的&a href=&/?target=https%3A///mrdoob/three.js/zip/master& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&three.js&i class=&icon-external&&&/i&&/a&源码,里面有完整的例子和源码可以借鉴。&/p&&p&把项目download下来以后,需要部署到web服务器上,然后运行一下里面的例子,下面我以dev.html举例。目录结构如下:&br&&img src=&/v2-4c0bd9ea459ec28024d6_b.png& data-rawwidth=&343& data-rawheight=&692& class=&content_image& width=&343&&这个页面比较简洁,不到300行的代码,咱们需要关注两块内容,就可以完成对这个页面例子的改动。&br&&img src=&/v2-edaf3cc0ca6ea6_b.png& data-rawwidth=&768& data-rawheight=&107& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&/v2-edaf3cc0ca6ea6_r.png&&这几行代码什么意思呢,就是一个匹配的规则,匹配的文件是data目录中的Market标识,说白了就是用让摄像头识别这个标记,官方示例给的标记是patt.hiro,这个标记的来源图片对应着data目录中的images/hiro.png 这张图,怎么用这张图来生成patt.hiro这个标记呢,这时我们需要使用一个SDK工具,微小轻量级的,大家别担心是很重的安装包。这个工具叫&a href=&/?target=https%3A//artoolkit.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&artoolkit&i class=&icon-external&&&/i&&/a&,就是AR工具箱,进入官网以后点download下载,我选择的是这个&br&&img src=&/v2-ef1ab99ae92a606ae07aec_b.png& data-rawwidth=&599& data-rawheight=&69& class=&origin_image zh-lightbox-thumb& width=&599& data-original=&/v2-ef1ab99ae92a606ae07aec_r.png&&&br&&/p&&p&安装完成以后,进入到D:\Program Files (x86)\ARToolKit5\bin
目录下,接下来我们就要自定义一个标记了,这里的标记是传统的长方形标记,第一代market,稍后会增加自然图片的market,这里第一代market我是用div画的,具体的效果如下:&/p&&p&&img src=&/v2-9d68bd986e703fce4209d08_b.png& data-rawwidth=&1030& data-rawheight=&881& class=&origin_image zh-lightbox-thumb& width=&1030& data-original=&/v2-9d68bd986e703fce4209d08_r.png&&最外层的边框 最好为黑白色,这个是官方的文档上建议的 参考链接&a href=&/?target=https%3A//artoolkit.org/documentation/doku.php%3Fid%3D3_Marker_Training%3Amarker_training& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&market&i class=&icon-external&&&/i&&/a&,然后呢把这个效果截图保存到我们刚才下载的SDK D:\Program Files (x86)\ARToolKit5\bin\image下,没有image目录就新建一个,用cmd到D:\Program Files (x86)\ARToolKit5\bin目录,运行mk_patt.exe&/p&&p&&img src=&/v2-b0b22d46e9a5b6361c75ac_b.png& data-rawwidth=&408& data-rawheight=&20& class=&content_image& width=&408&&会弹出相机的配置选项,默认的确定就行,然后相机启动以后,把我们刚才生成的图片,对准相机然后相机识别以后会出现红绿色边框线,并且出现左上角识别的文字,这时请注意文字的方向是否正确。&/p&&img src=&/v2-62e5b65d914a177a5def81b01b0c51df_b.png& data-rawwidth=&387& data-rawheight=&393& class=&content_image& width=&387&&&p&然后点击鼠标左键,回到命令行,输入文件名称patt.td,然后再当前的Bin目录下找到该文件&img src=&/v2-7c19e5e0e77c1c072b34b0d1c18f274b_b.png& data-rawwidth=&580& data-rawheight=&25& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/v2-7c19e5e0e77c1c072b34b0d1c18f274b_r.png&&&/p&&p&回到AR.js-master项目中,打开data/multi/目录把刚生成的标识文件放进去,接下来回到three.js/examples/dev.html中,在chrome中打开该页面,这里有个坑,如果是外网想访问摄像机,必须走https协议,下面是我web服务的url地址:&br&&a href=&/?target=https%3A//127.0.0.1%3A18080/AR.js-master/three.js/examples/dev.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&127.0.0.1:18080/AR.js-m&/span&&span class=&invisible&&aster/three.js/examples/dev.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&效果如下:&br&&img src=&/v2-9bb7b43fb_b.png& data-rawwidth=&1017& data-rawheight=&945& class=&origin_image zh-lightbox-thumb& width=&1017& data-original=&/v2-9bb7b43fb_r.png&&&br&&/p&&h2&这里声明必须使用两台设备,我的电脑打开我开发的网页,手机上保存的是我们刚才生成的market!也可以使用两台手机,最好是比较新的android机器,支持&a href=&/?target=http%3A///link%3Furl%3DDUn089fsyAOq1-xTXtsWKcYNG14zDNgxABO8V7c2CNMUHZwaabUMfT5pNG6Sj-KFw7d18GaYNdAWAWF-_DHoaK& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&webrtc&i class=&icon-external&&&/i&&/a&的设备&/h2&&p&接下来如果例子运行成功以后,大家会发现我的3D模型和官方的例子并不一致,模型怎么替换呢,这就涉及到前面我说的第二处注意的地方,替换模型,并不需要改大量的源码,只需要注释掉一小部分就行。&/p&&p&&img src=&/v2-af372bd2c266f295d9a84574ac8affc6_b.png& data-rawwidth=&839& data-rawheight=&879& class=&origin_image zh-lightbox-thumb& width=&839& data-original=&/v2-af372bd2c266f295d9a84574ac8affc6_r.png&&我注释掉的部分是官方的模型运行的代码。上面部分则是three.js中的源码,我这是在红框的地方更改一下模型的定位。我这个模型大家可以直接参考three.js源码中three.js-r82\examples\webgl_loader_collada.html
这个html文件,可以直接运行的例子,将如下代码替换掉dev.html中我注释的部分即可,&b&具体请参考截图,并不是完全替换&/b&。&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&var loader = new THREE.ColladaLoader();
loader.options.convertUpAxis =
loader.load( './models/collada/monster/monster.dae', function ( collada ) {
dae = collada.
dae.traverse( function ( child ) {
if ( child instanceof THREE.SkinnedMesh ) {
var animation = new THREE.Animation( child, child.geometry.animation );
animation.play();
dae.scale.x = dae.scale.y = dae.scale.z = 0.002;
dae.updateMatrix();
animate();
&/code&&/pre&&/div&&p&还需要引入依赖的js文件,只需要把这几个文件增加到AR.js-master项目中即可,three.js已经有了,余下的拷过去就行。&br&&img src=&/v2-d1de518a4e86aed3c4be_b.png& data-rawwidth=&608& data-rawheight=&208& class=&origin_image zh-lightbox-thumb& width=&608& data-original=&/v2-d1de518a4e86aed3c4be_r.png&&&/p&&p&最后一个自定义标识的ar
h5小程序就生成了,大家可以替换自己想用的3D模型,也可以条形码生成market,也可以将标识打印到A4纸上,用手机打开url掉出照相机,对着该market一扫,就出现了增强现实的模型,很赞吧!&/p&&br&&h2&接下来说说自然图片的标识怎么生成:&/h2&&p&先使用SDK工具进入到D:\Program Files (x86)\ARToolKit5\bin目录,我在这新建一个image文件夹,里面拷了一张.jpg的图片,然后用命令行打开这级目录:&/p&&p&&img src=&/v2-81f52c66e562e3d1718d6_b.png& data-rawwidth=&648& data-rawheight=&61& class=&origin_image zh-lightbox-thumb& width=&648& data-original=&/v2-81f52c66e562e3d1718d6_r.png&&直接enter
使用默认值,到这一步需要输入分辨率&br&&img src=&/v2-c9fdb4b606ab_b.png& data-rawwidth=&668& data-rawheight=&51& class=&origin_image zh-lightbox-thumb& width=&668& data-original=&/v2-c9fdb4b606ab_r.png&&默认是220,然后再输入一个区间,按照提示输入6和220&br&&img src=&/v2-eafdcbe946de774_b.png& data-rawwidth=&630& data-rawheight=&48& class=&origin_image zh-lightbox-thumb& width=&630& data-original=&/v2-eafdcbe946de774_r.png&&&/p&&p&然后就会采集图片的坐标点&br&&img src=&/v2-f301e825a21a79e822dd50_b.png& data-rawwidth=&599& data-rawheight=&396& class=&origin_image zh-lightbox-thumb& width=&599& data-original=&/v2-f301e825a21a79e822dd50_r.png&&&/p&&p&收集完成以后会生成如下文件&br&&img src=&/v2-012cf70ebc6cf63bf5e14d1d8f2af093_b.png& data-rawwidth=&542& data-rawheight=&89& class=&origin_image zh-lightbox-thumb& width=&542& data-original=&/v2-012cf70ebc6cf63bf5e14d1d8f2af093_r.png&&我们将生成的NTF文件拷入到AR.js-master项目中data/dataNTF中,我这里新建了一个目录叫dayan的文件夹,并将文件粘贴进去,标识生成以后需要做测试了,怎么测试呢,找到如图的nft_threejs.html,这是官方用来测试自然图片的demo.&br&&img src=&/v2-be6c39ad48d_b.png& data-rawwidth=&322& data-rawheight=&434& class=&content_image& width=&322&&&br&找到加载标识的地方,这里需要替换一下路径,官方的路径在web服务上会有问题&/p&&p&&img src=&/v2-cf0c653ed3fdc0aa32a66_b.png& data-rawwidth=&520& data-rawheight=&33& class=&origin_image zh-lightbox-thumb& width=&520& data-original=&/v2-cf0c653ed3fdc0aa32a66_r.png&&&img src=&/v2-807d9e36bfda_b.png& data-rawwidth=&860& data-rawheight=&61& class=&origin_image zh-lightbox-thumb& width=&860& data-original=&/v2-807d9e36bfda_r.png&&这里需要注释一下这个function回调里的代码,&br&&img src=&/v2-adffdda529174_b.png& data-rawwidth=&694& data-rawheight=&106& class=&origin_image zh-lightbox-thumb& width=&694& data-original=&/v2-adffdda529174_r.png&&替换成如下代码:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&var markerRoot = arController.createThreeNFTMarker(markerId);
var loader = new THREE.ColladaLoader();
loader.options.convertUpAxis =
loader.load(location_path+ 'three.js/examples/models/dae/monster.dae', function (collada) {
dae = collada.
dae.traverse( function (child) {
if (child instanceof THREE.SkinnedMesh) {
var animation = new THREE.Animation( child, child.geometry.animation );
animation.play();
dae.position.z = 40;
dae.position.x = 80;
dae.position.y = 80;
dae.rotation.set( 0,Math.PI/2,Math.PI/2);
dae.updateMatrix();
markerRoot.add( dae );
arScene.scene.add(markerRoot);
&/code&&/pre&&/div&&p&&br&最后代码如下图,&br&&img src=&/v2-b2d073f8c47b4f8a0308_b.png& data-rawwidth=&885& data-rawheight=&717& class=&origin_image zh-lightbox-thumb& width=&885& data-original=&/v2-b2d073f8c47b4f8a0308_r.png&&然后我们来跑一下我们的自然图片例子。效果如下&br&&img src=&/v2-18febcfcd801b9dda39f45d_b.png& data-rawwidth=&723& data-rawheight=&558& class=&origin_image zh-lightbox-thumb& width=&723& data-original=&/v2-18febcfcd801b9dda39f45d_r.png&&&/p&&p&如果大家需要调整模型的位置和角度,请更改position和rotation的值,涉及到一定的数学原理,不会的自己调调找感觉。&br&&img src=&/v2-a514addc5b7bcaec7c66391_b.png& data-rawwidth=&530& data-rawheight=&219& class=&origin_image zh-lightbox-thumb& width=&530& data-original=&/v2-a514addc5b7bcaec7c66391_r.png&&&br&&/p&&br&&p&&br&最后把我制作的market图片贴一下&br&&img src=&/v2-5dccce3c7bbe4_b.png& data-rawwidth=&1920& data-rawheight=&1200& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&/v2-5dccce3c7bbe4_r.png&&&/p&&img src=&/v2-0b6ea587c404ba4ba5637e3dfc51a2ac_b.png& data-rawwidth=&1113& data-rawheight=&914& class=&origin_image zh-lightbox-thumb& width=&1113& data-original=&/v2-0b6ea587c404ba4ba5637e3dfc51a2ac_r.png&&&p&参考文档:&br&&a href=&/?target=https%3A//artoolkit.org/documentation/doku.php%3Fid%3D3_Marker_Training%3Amarker_training& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Creating and Training Traditional Template Square Markers&i class=&icon-external&&&/i&&/a&&br&&a href=&/?target=https%3A//artoolkit.org/documentation/doku.php%3Fid%3D3_Marker_Training%3Amarker_nft_training& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Training ARToolKit Natural Feature Tracking (NFT) to Recognize and Track an Image&i class=&icon-external&&&/i&&/a&&br&&a href=&/?target=https%3A//artoolkit.org/documentation/doku.php%3Fid%3D3_Marker_Training%3Amarker_nft_utilities& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&NFT Utilities for ARToolKit&i class=&icon-external&&&/i&&/a&&/p&&p&demo list:&/p&&p&&a href=&/?target=https%3A///AR.js-master/three.js/examples/dev.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&测试AR例子&i class=&icon-external&&&/i&&/a&&br&&a href=&/?target=https%3A///AR.js-master/three.js/examples/worker_artoolkit/examples/nft_threejs.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&自然图片识别例子&i class=&icon-external&&&/i&&/a&&br&&/p&&p&github源码:&br&&a href=&/?target=https%3A///dragonHu/ar_test_demo& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&dragonHu/ar_test_demo&i class=&icon-external&&&/i&&/a&&br&&br&都是国外的网站,打开可能比较慢,然后大家阅读英文文档吃力的,可以使用google翻译
翻译一下,我这只是在AR.js上初步研究了一下,并没有深入,希望大家多提意见交流,我也实现了播放视频的例子,大家可以参考demo列表中的例子,我就不贴代码了。为了精准的展示例子,请大家把摄像头对准Market&/p&&p&目前H5 AR还是有很多壁垒和坑的,文档也相对较少,涉及的面比较多,设备性能也是问题,但是对于新技术的探索还是很有趣的,希望我这篇文章能帮到一些开发人员。&/p&
写之前说几句,以下示例和参考都是github上的开源作品,小编只是分享在使用过程中的踩坑和开发心得。本文适用于小白,由于例子中可能需要使用到shell命令,小编的电脑操作系统是windows 7,如果是mac请自行转换为对应的命令行。 AR技术(增强现实技术Augmen…
&img src=&/v2-b4b0a3beabb_b.jpg& data-rawwidth=&1200& data-rawheight=&750& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&/v2-b4b0a3beabb_r.jpg&&&p&年年岁岁果相似,岁岁年年料不同。&/p&&p&每年关于新 iPhone 的新功能预测和爆料都非常多。或许是因为去年的 iPhone 7/7 Plus 新功能不够多,整体不让人满意;于是今年的 iPhone 8(暂且这么叫吧)新功能被传得满天飞,先是 OLED 屏幕、高屏占比设计,后是无线充电超长距离使用,现在又有一个新的功能被爆出:iPhone 8 会利用 3D 传感器和深度摄像头来提供增强现实(AR)功能。&/p&&p&有供应链内部人士向爱范儿(微信号:ifanr)表示:“苹果的确在准备上 AR 功能,富士康的生产线连双目立体视觉相关的 “光学标定” 都准备好了,这在之前是从来没有过的。”&/p&&p&不仅如此,甚至,&a href=&/?target=https%3A////iphone-8-3d-sensor-augmented-reality/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&9to5mac 援引巴克莱(Barclays)银行的报告称&i class=&icon-external&&&/i&&/a&,苹果将使用 “飞行时间(Time of Flight,ToF)” 和 “结构光(Structured Light)” 两种技术来实现 AR 功能。&/p&&h2&飞行时间和结构光是什么?&/h2&&img src=&/v2-a9bda6f0cb4baf6d72cba_b.jpg& data-rawwidth=&1000& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&/v2-a9bda6f0cb4baf6d72cba_r.jpg&&&p&这里简单科普一下两种技术。&/p&&p&&b&“飞行时间”&/b&(Time of Flight)技术是目前感知 3D 空间最简单的方法。这种技术的原理是,传感器发出经调制的近红外光,遇物体后反射,随后传感器通过计算光线发射和反射时间差或相位差来换算被拍摄景物的距离,以产生深度信息;然后再结合传统的相机拍摄,从而将物体的三维轮廓以不同颜色代表不同距离的地形图方式呈现出来。此前被联想和 Google 寄予厚望的 Project Tango 手机使用的便是 ToF 技术。&/p&&p&&b&“结构光”&/b&(Structured Light)技术则要相对复杂一些。该技术将光栅或线光源等投射到被测物上,根据它们产生的畸变来解调出被测物的三维信息。&/p&&p&不过,和巴克莱银行的说法略有差异,该供应链内部人士称,苹果将在 iPhone 8 上使用的是 “结构光” 技术。据他的说法,iPhone 8 的 AR 模块用来做面部识别和手势识别,而 “结构光” 技术比起 “飞行时间” 技术,短距离的精度高,更适合在手机的前置摄像头上使用。&/p&&p&当然两者的功耗都是一个大问题,该内部人士称即使结构光的模块,功耗也很大,达到了 1W,这在电量本就捉襟见肘的手机上,还是显得太过凶猛。所以目前来看,要用手机进行环境建模还是比较费劲的,苹果 AR 模块的大应用很可能是在游戏中进行 3D 建模。&/p&&h2&苹果在 AR 上早有布局&/h2&&p&&img src=&/v2-f71bbe6e61e9dceb48a7af_b.jpg& data-rawwidth=&1000& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&/v2-f71bbe6e61e9dceb48a7af_r.jpg&&2013 年 11 月,苹果以 3.45 亿美元收购以色列 3D 传感器生产商 PrimeSense。而 PrimeSense 正是微软 Kinect 体感控制器的 3D 技术提供方。Kinect 可以将玩家的动作作为 Xbox 游戏的一部分,而体感控制器的传感器允许玩家无需使用控制器就可跟游戏系统相连。&/p&&p&早在 2010 年底,PrimeSense 与华硕合作开发出了 Xtion Pro,这款设备在 PC 上使用,其采用了和 Kinect 同样的 3D 传感器。2012 年,PrimeSense 推出了当时世界上体积最小的 3D 传感器 Capri,其分辨率是前代产品的 3 倍,而体型仅为前代的十分之一,环境光的检测性能则是前代的 50 倍。自从收购 PrimeSense 后,苹果一直在推动 PrimeSense 的 3D 体感控制器向小型化发展,希望可以将其装配到电视、PC 上。不出所料的是,其小型化的终极目标之一是将之用到 iPhone 上。当然,这场收购也使得微软 Kinect 体感控制器在后续的产品中改变了 3D 技术原理。&/p&&p&除了 PrimeSense 之外,苹果在这个行业还有所布局。同样据&a href=&/?target=https%3A////iphone-8-augmented-reality-ubs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&& 9to5mac 的消息&i class=&icon-external&&&/i&&/a&,2015 年时,苹果还收购了一家德国新创企业 Metaio。Metaio 主要研发 SLAM(同步定位与地图构建,Simultaneous localization and mapping)为基础的 AR 技术。此外,苹果还收购了以色列网络安全和面部识别公司 RealFace。这些收购显然是苹果对该行业的看好和准备。&/p&&p&科技网站 &a href=&/?target=https%3A////vr-ar-mr-virtual-reality-augmented-reality-mixed-reality-explained/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MacRumors 日前引述瑞银(UBS)分析师米卢诺维奇(Steven Milunovich)研究报告指出,&i class=&icon-external&&&/i&&/a&iPhone 8 可能具备同步定位与地图构建(SLAM)技术(同步定位与地图构建,SLAM 或 Simultaneous localization and mapping,是一种概念:希望机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征,比如墙角、柱子等,定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的),内建立体视觉应用的 3D 影像功能。&/p&&p&米卢诺维奇预期,未来 2 年到 3 年,苹果 iPhone 和 iPad 将内建支持 AR 技术的模块、3D 摄像头以及定制芯片组等关键零组件。米卢诺维奇并引述多名产业消息人士指出,苹果在以色列可能有超过 1000 位工程师,投入增强现实相关的技术研发计划。&/p&&h2&其实,整个行业都早就盯上了 3D 视觉&/h2&&img src=&/v2-2a4957eedef0f_b.jpg& data-rawwidth=&1200& data-rawheight=&750& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&/v2-2a4957eedef0f_r.jpg&&&p&对移动端 3D 深度视觉技术进行布局的厂家不止苹果,实际上,整个行业对 3D 视觉的布局比大家想象的多和早。据国内深度摄像头供应商&a href=&/?target=http%3A///564287& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&图漾科技&i class=&icon-external&&&/i&&/a&副总经理徐韬向爱范儿介绍,同为业界大拿的英特尔、微软、Google、索尼等公司也对该技术有所布局。&/p&&p&以 “结构光” 为工作原理的英特尔 RealSense 在国内外大型舞台上惊艳登场。上文提到的 Google 旗下 Project Tango 甚至已经有手机发布。&/p&&p&索尼则在 2015 年 10 月&a href=&/?target=http%3A///569626& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&宣布收购&i class=&icon-external&&&/i&&/a&比利时一家名为 SoftKinetic 的传感器技术初创公司。这家公司专门研究 Time-of-Flight 技术,该技术能判定目标物体到传感器的距离,甚至目标物体不同部分到摄像头的距离。索尼在收购 SoftKinetic 的公告中所称:&/p&&blockquote&&p&结合 SoftKinetic 的技术,索尼不仅要在图像领域,还要在更宽广的传感应用范围,发展下一代的图像传感器和解决方案。&/p&&/blockquote&&p&&img src=&/v2-f09b377cdedb5c481557baad17935a0f_b.jpg& data-rawwidth=&600& data-rawheight=&375& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/v2-f09b377cdedb5c481557baad17935a0f_r.jpg&&而微软在该领域的探索更为复杂。微软在 2010 年时便和 PrimeSense 合作,推出了 Xbox 360 体感外设——Kinect。第一代 Kinect 采用的是结构光原理,但毕竟是第一代产品,产品的准确度、图像的分辨率和响应速度一直不理想。2012 年,微软先后收购了 ToF 相机公司 Canesta 和 3dv。次年,微软终止了与 PrimeSense 的合作,自行开发出 Kinect 2 代(Kinect One),这代产品的原理也改为了 ToF。&/p&&p&当然,话又说回来,毕竟 iPhone 8 还有好几个月才发布,这台手机最终搭载该技术仍旧不能百分之百保证,在发布之前临时取消某功能在此前也不是没有过的事情。不过,如果苹果在近期加入这个阵营的话,一个显而易见的作用是,移动端 3D 深度视觉技术的普及速度将得到大大加快。&/p&&p&据估算,到 2020 年,AR 市场的收入规模将达到 1200 亿美元,同期的 VR 市场则为 300 亿美元。所以,各个厂家都在该行业和技术进行大量投入,以及研发,也就不难理解了,毕竟移动端 3D 深度视觉技术得到普及是最终的大趋势。这也难怪苹果投身该行业的消息传出后,&a href=&/?target=http%3A//.cn/roll//doc-ifycaasy7758647.shtml& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&相关概念股的股价都活跃了起来&i class=&icon-external&&&/i&&/a&。&/p&&br&&blockquote&作者:李谋 &a href=&/people/e04398ecce8e1b6d6f57863& data-hash=&e04398ecce8e1b6d6f57863& class=&member_mention& data-title=&@李尼莫
也& data-editable=&true& data-hovercard=&p$b$e04398ecce8e1b6d6f57863&&@李尼莫&br&&/a&原文链接:&a href=&/?target=http%3A//mp./s/SfNcG2n3SLNZzqvr4snLyQ& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&iPhone 8 将用上新杀手锏?微软、Google、英特尔早这么干了&i class=&icon-external&&&/i&&/a&&/blockquote&
年年岁岁果相似,岁岁年年料不同。每年关于新 iPhone 的新功能预测和爆料都非常多。或许是因为去年的 iPhone 7/7 Plus 新功能不够多,整体不让人满意;于是今年的 iPhone 8(暂且这么叫吧)新功能被传得满天飞,先是 OLED 屏幕、高屏占比设计,后是无线充电…
&img src=&/v2-36fb9d6bed57d4eefe9c_b.jpg& data-rawwidth=&885& data-rawheight=&490& class=&origin_image zh-lightbox-thumb& width=&885& data-original=&/v2-36fb9d6bed57d4eefe9c_r.jpg&&&p&&b&重要通知:此处内容暂停更新,请移步&/b&&a href=&/p/& class=&internal&&新的项目地址&/a&&b&,获得更好的浏览效果。&/b&&/p&&p&&b&重要通知:此处内容暂停更新,请移步&a href=&/p/& class=&internal&&新的项目地址&/a&,获得更好的浏览效果。&br&&/b&&/p&&p&&b&重要通知:此处内容暂停更新,请移步&a href=&/p/& class=&internal&&新的项目地址&/a&,获得更好的浏览效果。&/b&&br&&/p&&br&&br&&p&这些兔斯霁在设计工作当中查阅整理的 AR 设计学习资料,后续将在这里不定期更新,希望能对大家有所帮助。&/p&&p&阅读提示:&/p&&ul&&li&大量内容都是英文,可使用 Google 翻译辅助阅读&br&&/li&&li&部分内容可能需要&b&科学上网&/b&才能访问&br&&/li&&/ul&&br&&ul&&li&本文以 AR 为主,也会涉及 VR、语音、人机交互等内容&/li&&/ul&&br&&h2&开始学习&/h2&&p&内容结构&/p&&blockquote&&ol&&li&文章、Slides、书籍与视频&br&&/li&&li&AR 硬件产品&br&&/li&&li&游戏与影视&br&&/li&&li&AR 应用开发工具&br&&/li&&li&其他资源与工具&br&&/li&&li&人物与团队&br&&/li&&li&会议与组织&br&&/li&&/ol&&/blockquote&&br&&h2&文章、Slides、书籍与视频&/h2&&br&&p&HoloLens 设计文档(推荐)&/p&&p&&a href=&/?target=https%3A///en-us/windows/holographic/designing_for_mixed_reality& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Designing for mixed reality&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&/?target=https%3A///en-us/windows/holographic/documentation& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Documentation&i class=&icon-external&&&/i&&/a&&/p&&p&PS:兔斯霁对 HoloLens 的文档进行过简单的总结,&a href=&/p/& class=&internal&&点这里查看&/a&。&/p&&br&&br&&p&HoloLens Design Patterns by 8ninths(推荐)&/p&&p&&a href=&/?target=http%3A///hololens-design-patterns/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&HoloLens Design Patterns - 8ninths&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&The UX Workflow for
Hololens & Mixed Reality&/p&&p&&a href=&/?target=https%3A///the-ux-workflow-for-hololens-mixed-reality-3bf.oe468shbn& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/the-ux-w&/span&&span class=&invisible&&orkflow-for-hololens-mixed-reality-3bf#.oe468shbn&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Prototyping for
Augmented Reality&/p&&p&&a href=&/?target=https%3A///momentary-exploration/prototyping-for-augmented-reality-ffc724a679b2%23.4zo1kjahy& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/momentary-ex&/span&&span class=&invisible&&ploration/prototyping-for-augmented-reality-ffc724a679b2#.4zo1kjahy&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Designing
for Hololens&/p&&p&&a href=&/?target=https%3A//blog.prototypr.io/designing-for-hololens-b7b.27t9vn4ku& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&blog.prototypr.io/desig&/span&&span class=&invisible&&ning-for-hololens-b7b7899cf59b#.27t9vn4ku&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Break Out Your
Scissors: The Secret of Rapid 3D Prototyping for AR/VR & IoT&/p&&p&&a href=&/?target=http%3A///break-scissors-secret-rapid-3d-prototyping-arvr-iot/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Secret of Rapid 3D Prototyping for AR/VR & IoT&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Dont
Settle for Air Pokes: Thinking Outside the Mouse&/p&&p&&a href=&/?target=http%3A///dont-settle-for-air-pokes-thinking-outside-the-mouse/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Don’t Settle for Air Pokes: Thinking Outside the Mouse - Leap Motion Blog&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Rethinking Menu Design in the Natural Interface( NUI 中菜单设计思考)&/p&&p&&a href=&/?target=http%3A///rethinking-menu-design-in-the-natural-interface-wild-west/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Rethinking Menu Design in the Natural Interface Wild West&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Introduction
to Motion Control&/p&&p&&a href=&/?target=https%3A//developer-/articles/intro-to-motion-control& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Leap Motion Developers&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Learn how to design great conversational experiences(Google 语音交互设计文档)&/p&&p&&a href=&/?target=https%3A///actions/design/get-started& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/a&/span&&span class=&invisible&&ctions/design/get-started&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&AR/VR 的界面是否可沿用扁平化设计?&/p&&p&&a href=&/p/& class=&internal&&AR/VR 的界面是否可沿用扁平化设计? - 知乎专栏&/a&&/p&&br&&br&&p&VR Best
Practices Guidelines&/p&&p&&a href=&/?target=https%3A//developer-/assets/Leap%2520Motion%2520VR%2520Best%2520Practices%2520Guidelines.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&developer-&/span&&span class=&invisible&&/assets/Leap%20Motion%20VR%20Best%20Practices%20Guidelines.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&从计算机视觉的角度漫谈增强现实&/p&&p&&a href=&/p/& class=&internal&&从计算机视觉的角度漫谈增强现实 - 知乎专栏&/a&&/p&&br&&br&&p&Designing for Wearables&/p&&p&&a href=&/?target=https%3A//www.slideshare.net/slideshow/embed_code/key/pW6w6e3yBJ3WzK& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&slideshare.net/slidesho&/span&&span class=&invisible&&w/embed_code/key/pW6w6e3yBJ3WzK&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Designing Outstanding Augmented Reality Experiences&/p&&p&&a href=&/?target=https%3A//www.slideshare.net/slideshow/embed_code/key/npcHXFGUAAmAPx& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&slideshare.net/slidesho&/span&&span class=&invisible&&w/embed_code/key/npcHXFGUAAmAPx&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Rapid Prototyping
For Augmented Reality&/p&&p&&a href=&/?target=https%3A//www.slideshare.net/slideshow/embed_code/key/3Ud0Op5woCitAj& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&slideshare.net/slidesho&/span&&span class=&invisible&&w/embed_code/key/3Ud0Op5woCitAj&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Augmented Reality:
The Next 20 Years&/p&&p&&a href=&/?target=https%3A//www.slideshare.net/slideshow/embed_code/key/ke6w1BQwW359UT& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&slideshare.net/slidesho&/span&&span class=&invisible&&w/embed_code/key/ke6w1BQwW359UT&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Empathic
Glasses: Sharing Remote Gaze and Emotion&/p&&p&&a href=&/?target=https%3A//www.slideshare.net/slideshow/embed_code/key/qwbhu2z0AtgNJy& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&slideshare.net/slidesho&/span&&span class=&invisible&&w/embed_code/key/qwbhu2z0AtgNJy&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Building AR and VR
Experiences&/p&&p&&a href=&/?target=https%3A//www.slideshare.net/slideshow/embed_code/key/Smu2qTm2L6Jpu& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&slideshare.net/slidesho&/span&&span class=&invisible&&w/embed_code/key/Smu2qTm2L6Jpu&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&8ninths HoloLens
Design Patterns&/p&&p&&a href=&/?target=https%3A//www.slideshare.net/8ninths/8ninths-hololens-design-patterns& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&slideshare.net/8ninths/&/span&&span class=&invisible&&8ninths-hololens-design-patterns&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Designing
for Mixed Reality(可免费下载电子书)&/p&&p&&a href=&/?target=http%3A///design/free/designing-for-mixed-reality.csp& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/design/free&/span&&span class=&invisible&&/designing-for-mixed-reality.csp&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Design
for Voice Interfaces&/p&&p&&a href=&/?target=http%3A///design/free/design-for-voice-interfaces.csp& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/design/free&/span&&span class=&invisible&&/design-for-voice-interfaces.csp&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&增强现实技术导论&/p&&p&&a href=&/?target=https%3A///subject//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/subject&/span&&span class=&invisible&&//&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&三维用户界面:理论与实践&/p&&p&&a href=&/?target=https%3A///subject/1792116/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/subject&/span&&span class=&invisible&&/1792116/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Rapid prototyping
Google Glass - Tom Chi&/p&&p&&a href=&/?target=https%3A///watch%3Fv%3Dd5_h1VuwD6g& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/watch?&/span&&span class=&invisible&&v=d5_h1VuwD6g&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&(中文字幕)&/p&&p&&a href=&/?target=http%3A///lessons/rapid-prototyping-google-glass-tom-chi& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/lessons/rapi&/span&&span class=&invisible&&d-prototyping-google-glass-tom-chi&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&The Dawn of the Age
of Holograms - Alex Kipman&/p&&p&&a href=&/?target=https%3A///watch%3Fv%3DjGOE8q1mH3M& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/watch?&/span&&span class=&invisible&&v=jGOE8q1mH3M&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&(中文字幕)&/p&&br&&br&&p&What's
New with Project Tango - Google I/O 2016&/p&&p&&a href=&/?target=https%3A///watch%3Fv%3DyvgPrZNp4So& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/watch?&/span&&span class=&invisible&&v=yvgPrZNp4So&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&VR Interface Design
Pre-Visualisation Methods&/p&&p&&a href=&/?target=https%3A///watch%3Fv%3Did86HeV-Vb8%26t%3D2s& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/watch?&/span&&span class=&invisible&&v=id86HeV-Vb8&t=2s&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&VR Design Process -
Google I/O 2016&/p&&p&&a href=&/?target=https%3A///watch%3Fv%3D-mcXAMDch7s& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/watch?&/span&&span class=&invisible&&v=-mcXAMDch7s&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Daydream Labs:
Lessons Learned from VR Prototyping - Google I/O 2016&/p&&p&&a href=&/?target=https%3A///watch%3Fv%3DlGUmTQgbiAY& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/watch?&/span&&span class=&invisible&&v=lGUmTQgbiAY&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&br&&h2&AR 硬件产品&/h2&&p&主要以 AR 眼镜为主,也会有一些相关的硬件。&/p&&p&Hololens&/p&&p&&a href=&/?target=https%3A///microsoft-hololens/en-us& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/microsoft&/span&&span class=&invisible&&-hololens/en-us&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Google Glass&/p&&p&&a href=&/?target=https%3A///glass/start/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/glass/start/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&/?target=https%3A///glass/distribute/glass-at-work& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/g&/span&&span class=&invisible&&lass/distribute/glass-at-work&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&HiAR Glasses&/p&&p&&a href=&/?target=https%3A///detail-glasses/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/detail-glas&/span&&span class=&invisible&&ses/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&ODG&/p&&p&&a href=&/?target=http%3A///home& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/home&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Air
Glasses&/p&&p&&a href=&/?target=http%3A///smartglasses& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/smartglas&/span&&span class=&invisible&&ses&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Meta&/p&&p&&a href=&/?target=https%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&castAR&/p&&p&&a href=&/?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Lumus&/p&&p&&a href=&/?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Opinvent&/p&&p&&a href=&/?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Epson Moverio&/p&&p&&a href=&/?target=https%3A///moverio-augmented-reality-smart-glasses& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/moverio-augme&/span&&span class=&invisible&&nted-reality-smart-glasses&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&DAQRI&/p&&p&&a href=&/?target=https%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&coolGlass&/p&&p&&a href=&/?target=http%3A///en/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/en/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Recon Jet&/p&&p&&a href=&/?target=http%3A///products/jet/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/pr&/span&&span class=&invisible&&oducts/jet/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Vuzix&/p&&p&&a href=&/?target=https%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&GlassUp&/p&&p&&a href=&/?target=http%3A//www.glassup.net/en/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&glassup.net/en/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&br&&p&Google
Project Tango&/p&&p&&a href=&/?target=https%3A///tango/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/tango/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Magic Leap&/p&&p&&a href=&/?target=https%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&MIT Sixth Sense&/p&&p&&a href=&/?target=http%3A///projects/sixthsense/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/projec&/span&&span class=&invisible&&ts/sixthsense/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Leap
Motion&/p&&p&&a href=&/?target=https%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Google
Project Soli&/p&&p&&a href=&/?target=https%3A///soli/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/soli/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&h2&游戏与影视&/h2&&p&levelHead&/p&&p&&a href=&/?target=https%3A///watch%3Fv%3Ddsb76pva4s4& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/watch?&/span&&span class=&invisible&&v=dsb76pva4s4&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&看门狗&/p&&p&&a href=&/?target=http%3A///watchdogs/en-us/home/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/w&/span&&span class=&invisible&&atchdogs/en-us/home/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&使命召唤 高级战争&/p&&p&&a href=&/?target=https%3A///advancedwarfare& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/advanced&/span&&span class=&invisible&&warfare&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Fragments(Only on HoloLens)&/p&&p&&a href=&/?target=http%3A///games/fragments& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/games/f&/span&&span class=&invisible&&ragments&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&/?target=https%3A///microsoft-hololens/en-us/apps/Fragments& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/microsoft&/span&&span class=&invisible&&-hololens/en-us/apps/Fragments&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&黑镜&/p&&p&&a href=&/?target=https%3A///subject/7054120/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/subjec&/span&&span class=&invisible&&t/7054120/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&刀剑神域&/p&&p&&a href=&/?target=https%3A///subject/6869376/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/subjec&/span&&span class=&invisible&&t/6869376/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&这里还有很多关于 FUI 的作品&br&&a href=&/?target=https%3A///kit/fui/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/kit/fui/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&h2&AR 应用开发工具&/h2&&p&ARToolKit&/p&&p&&a href=&/?target=https%3A//artoolkit.org/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&artoolkit.org/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Vuforia&/p&&p&&a href=&/?target=https%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&HiAR&/p&&p&&a href=&/?target=https%3A///sdk/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/sdk/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Sony Smart AR&/p&&p&&a href=&/?target=http%3A///sdna/solution/SmartAR_SDK.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/sdna/soluti&/span&&span class=&invisible&&on/SmartAR_SDK.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Wikitude&/p&&p&&a href=&/?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Catchoom&/p&&p&&a href=&/?target=https%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Total
Immersion&/p&&p&&a href=&/?target=http%3A//www./& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Kudan&/p&&p&&a href=&/?target=https%3A//www.kudan.eu/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&kudan.eu/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&h2&其他资源与工具&/h2&&p&VR Prototyping Template
by Facebook&/p&&p&&a href=&/?target=http%3A//facebook.design/vr-template& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&facebook.design/vr-temp&/span&&span class=&invisible&&late&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&WebVR Studio&/p&&p&&a href=&/?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&GrayBoxVR&/p&&p&&a href=&/?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Unity 3D&/p&&p&&a href=&/?target=https%3A///cn& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/cn&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Vizrt 系统(电视转播中非常流行)&/p&&p&&a href=&/?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Adobe After Effect(Motion Tracking)&/p&&p&&a href=&/?target=https%3A///watch%3Fv%3DvIEdhlS-zYA& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/watch?&/span&&span class=&invisible&&v=vIEdhlS-zYA&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&boujou (摄像机反求)&/p&&p&&a href=&/?target=https%3A///products/software/boujou& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/products/soft&/span&&span class=&invisible&&ware/boujou&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&br&&h2&人物与团队&/h2&&p&Mark Billinghurst&/p&&p&Director at HIT Lab NZ&/p&&p&&a href=&/?target=https%3A///in/mark-billinghurst-4a636/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/in/mark-bi&/span&&span class=&invisible&&llinghurst-4a636/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&/?target=http%3A//www.hitl.washington.edu/people/person.php%3Fname%3Dgrof& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&hitl.washington.edu/peo&/span&&span class=&invisible&&ple/person.php?name=grof&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Hirokazu
Kato&/p&&p&Original
developer of ARToolKit&/p&&p&&a href=&/?target=http%3A//imd.naist.jp/imdweb_wp/people/hirokazu-kato/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&imd.naist.jp/imdweb_wp/&/span&&span class=&invisible&&people/hirokazu-kato/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Doug A.
Bowman&/p&&p&Director of the Center for Human-Computer Interaction at Virginia Tech&/p&&p&&a href=&/?target=https%3A//research.cs.vt.edu/3di/user/123& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&research.cs.vt.edu/3di/&/span&&span class=&invisible&&user/123&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Tom Chi&/p&&p&Fromer Head of Experience at Google X&/p&&p&&a href=&/?target=https%3A///in/thegoodtomchi/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/in/thegood&/span&&span class=&invisible&&tomchi/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Alex
Kipman&/p&&p&Technical
Fellow - Operating System Group at Microsoft(男神!)&/p&&p&&a href=&/?target=https%3A///in/akipman/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/in/akipman&/span&&span class=&invisible&&/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Joshua
Walton&/p&&p&Principal Designer at Microsoft
HoloLens&/p&&p&&a href=&/?target=https%3A///in/thisnewmedia/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/in/thisnew&/span&&span class=&invisible&&media/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Jeff Han&/p&&p&Former General Manager of
Microsoft Surface Hub&/p&&p&&a href=&/?target=https%3A///in/jhan0/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/in/jhan0/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Andrew Kim&/p&&p&Lead
Designer at Tesla, Former Senior Designer at Microsoft
HoloLens&/p&&p&&a href=&/?target=https%3A///in/andrew-kim-/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/in/andrew-&/span&&span class=&invisible&&kim-/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&Mike Alger&/p&&p&VR
Designer at Google&/p&&p&&a href=&/?target=https%3A///in/mikealger/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/in/mikealg&/span&&span class=&invisible&&er/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&/?target=https%3A///watch%3Fv%3Did86HeV-Vb8& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&VR
Interface Design Pre-Visualisation Methods&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&8ninths(AR/VR 工作室)&/p&&p&&a href=&/?target=

我要回帖

更多关于 台电x98plus刷安卓 的文章

 

随机推荐