问题标签 [catransform3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
646 浏览

objective-c - UILayer 自定义'compact'动画,求主播帮助

我正在尝试为图层底部向上翻转的图层创建动画。想象一个铰接在顶部的视图,然后底部动画向上。就像一个紧凑的封面。我想要的是标准的翻转动画,但只能看到它的一侧。我只是在构建动画时遇到了麻烦。

问题是我得到了正确的动画接受我似乎无法创建“铰链”部分。也就是说,铰链位于中心而不是顶部。我错过了什么?

这是代码:

我正在尝试如上所述为图层设置动画,然后在完成时将图层的视图发送到所有其他视图后面,并将图层返回到其原始状态,以便稍后将其带到前面。

谢谢您的帮助!

0 投票
5 回答
3759 浏览

opengl-es - 如何从 Projection 和 ModelView 矩阵中获取 CATransform3D?

总之,

我有一个 iphone 项目,它使用 OpenGL-ES 为给定的模型视图矩阵和给定的投影矩阵绘制 3D 模型。我需要用 CALayer 替换 3D 模型,所以我将模型视图矩阵的值放入 CATransform3D 结构中并将其分配给layer.transform. 它运行良好,图层可见并按预期在屏幕上移动,但一段时间后我意识到我的图层行为不够精确,我应该考虑投影矩阵。然后出现了一个问题:当我简单地连接两个矩阵时,我的层看起来很奇怪(它非常小,大约 2 个像素,而它应该是 300 左右,因为它很远)或者根本不可见。我该如何解决?

这是一段代码:

任何帮助将不胜感激。

0 投票
1 回答
1124 浏览

iphone - 3D立方体问题!第1部分

我在 iphone 中使用CALayer's. 现在我想在用户双击它时旋转那个立方体( CALayer) 。90˚

我能够将该立方体(CALayer)旋转90˚一次,但是当我双击立方体(CALayer)时,它没有旋转。

这是我用来旋转立方体的代码(CALayer

任何人都可以在这方面提供帮助。我做错了什么。


PS。对于那些想知道我是如何获得学位标志的人来说,这就是诀窍

Option+K

0 投票
1 回答
1568 浏览

iphone - UIView(内部带有UIImageView)缩放后如何重置锚点?

我想对一些包含 UIImageView 的 UIView 执行 catransform3dmakerotation ,以使其看起来像在旋转。它可以工作,但是在我缩放 UIView(并因此拉伸其中的图像)之后,锚点是错误的(不再位于图形的中心)。

如何重置锚点?我的意思是真的重置它。因为我试过这个:

每次加速度计值改变时,在重新缩放后几乎每 0.1 秒更新一次,图像正在旋转但不再居中,它似乎在其原点 (0,0) 上旋转,而不是 (0.5,0.5 ),尽管它应该在加速度计中更新:didAccelerate:方法。但它没有用。这是重新缩放的代码:

谢谢!

0 投票
2 回答
18968 浏览

iphone - 如何使用 CATransform3DRotate 旋转 UIImageView 产生类似开门的效果?

我已经阅读并尝试了这篇文章(使用 Core Animation 的开门效果)

我在我的应用程序中实现了以下代码:

threeHomeView 是一个 UIImageView。

我的问题是:图像只能通过图像的中间垂直线旋转,但我希望它通过图像的左垂直线旋转。

0 投票
1 回答
3928 浏览

uiview - 了解 CATransform3D

我在 UIView 中玩 CATransform3DMakeRotation,我正在尝试做一个 45º 的变换,就像它向后放置一样:

http://cl.ly/2A2p1W1e2N3a1W181r35

这是我拥有的“代码”,但显然没有这样做。

请帮助我理解参数。谢谢。

0 投票
1 回答
441 浏览

ios - 将 OpenGL 转换矩阵转换为在 CATransformLayer 上工作

我一直在为一个项目使用来自 String 的增强现实 SDK 。基本上,这个 SDK 会传回一堆它识别的图像的标记,以及一个关联的 OpenGL 矩阵变换,它勾勒出标记图像在 iPhone 相机视图内的 3D 空间中的位置。我想要做的是将 a 映射CATransformLayer到场景中,以便它在标记图像上正确显示并在其位置播放视频。我认为我可以使用 aAVPlayerLayer内的 a来执行此操作,该 a 应用CATransformLayer了矩阵变换(转换为 a CATransform3D)。

尽我所能,这并不是特别好——我似乎无法在原始 OpenGL 矩阵和CATransform3D.

您可以看到在标记变换和CATransform3D对象之间进行直接转换非常混乱(蓝色位是我的图层):

此问题当前状态的屏幕截图

我认为它们是相同的(由于CALayerGL 的支持,我曾多次被告知它们是相同的)。这是真的?我错过了什么吗?

我可以退回来将我的视频作为纹理渲染到场景中,但如果可能的话,保持高水平会很棒——有什么想法/评论/想法吗?

0 投票
1 回答
5433 浏览

ios - 我能得到 CATransform3DIdentity 的基本解释吗?

我对核心动画慢慢变得更加认真,并且非常感谢由简短的单词组成的解释(输入?)慢慢解释 CATransform3DIdentity 以及为什么下面的代码会做它的工作(在“3D”空间中翻转图层)

再三考虑,快速打字并使用多音节词,但请保持温和。

PS。我的印象是,如果我想在动画方面走得更远,我应该对线性代数更加熟悉……这是正确的吗?

0 投票
2 回答
1038 浏览

uiview - UITableViewCell 内带有 CATransform3D 的 UIView = Choppy Scrolling

我正在使用一个自定义UITableViewCell,我在其中放置了一个子类UIView(内contentView,natch)。有问题的UIView显示一个方向箭头和两行支持文本。

箭头通过具有背景颜色和箭头形蒙版的图层显示。根据箭头指向的方向,背景颜色会变为两种可能性之一。

每当需要更新箭头时,视图都会收到NSNotification(基于但不等同于当前标题 - 每个单元格和视图都不同)。当它收到通知时,视图调用一个私有方法来执行转换。这将动画箭头层,有效地将其围绕其中心旋转到一个新方向,如下所示:

(注:_arrowLayer仅供内部使用,不通过属性公开。)

UIView上还有一个属性来设置用于创建支持文本的信息。当它被改变时,setNeedsDisplay被调用,该drawRect:方法进行计算并绘制结果文本。

这一切都很好。但是,我遇到了一个主要问题:

在滚动表格视图的同时,箭头正在动画化,导致一些大联盟的滚动不稳定,通常到滚动停止的地步!即使这是contentView(以最小测试用例的名义)中的唯一视图,也没关系。

如果设备没有移动,滚动是可以接受的,但仍有待改进。

我希望我只是犯了一个基本错误(不要使用drawRect:?以其他方式进行转换?以上都不是?)

提前感谢任何线索/建议!

2011 年 10 月 4 日更新:我尝试在滚动开始/停止时让UITableViewController监视UIScrollViewDelegate(根据UIScrollView编程指南),然后每个方向箭头视图询问其委托(在本例中为表 VC)是否可以进行动画处理。不过,这也无济于事。如果动画正在进行中,我们就不走运了。也许NSNotification是有序的,方向箭头视图寻找某个通知。(虽然这听起来有点倒退,不是吗?给其他对象一个他们可以发送的通知?嗯。)

0 投票
1 回答
1280 浏览

iphone - 使用 CATransform3DMakeTranslation 设置的持续时间

我关于堆栈溢出的第一个问题:)

我想在 CALayer 上进行 y 轴平移。我有一个大背景:320x4000px。翻译使用以下代码:

但是使用此代码,无法设置持续时间...

我试过了:

但它不起作用......

感谢帮助 :)