标签: scnmaterial

将.jpg和.mtl文件应用于SceneKit中的.obj文件

设计师提供了三个文件:

  • 图片.JPG
  • 一些东西.MTL
  • 随你.OBJ

我可以成功将.obj文件加载到我的场景中,如下所示:

  SCNView * sceneView = [SCNView new];
  sceneView.frame = view.bounds;
  [view addSubview:sceneView];

  SCNScene * scene = [SCNScene sceneNamed:@"models.scnassets/whatever.obj"];
  [sceneView setScene:scene];
Run Code Online (Sandbox Code Playgroud)

我正在努力将.jpg和.mtl文件应用于.obj文件.我尝试使用以下代码应用图像,但没有爱:

SCNMaterial * material = [SCNMaterial material];
material.diffuse.contents = [UIImage imageNamed:@"image.jpg"];

SCNNode * materialNode = [SCNNode node];
materialNode.geometry.firstMaterial = material;
[scene.rootNode addChildNode:materialNode];
Run Code Online (Sandbox Code Playgroud)

3d objective-c ios scnscene scnmaterial

7
推荐指数
1
解决办法
4947
查看次数

在SceneKit材质中模糊效果

是否有可能SCNMaterial在SceneKit中实现高斯模糊效果?它应该看起来像磨砂玻璃,类似于UIVisualEffectView一个UIBlurEffectStyleLightUIBlurEffectStyleExtraLight在UIKit中.

iphone blur ios scenekit scnmaterial

7
推荐指数
0
解决办法
293
查看次数

将具有透明度的UIView(来自xib)添加到SceneKit

我正试图将一个UIView加载到具有半透明背景的SceneKit中,但是当我减少不透明度时它只会淡化为白色.我在.xib文件中有一个非常简单的UIView布局,我想加载到SceneKit中.到目前为止,我可以在SCNMaterial中显示UIView,在视图中更改任何文本字段,图像等没有问题.但是我不能让它具有透明度.如果我更改视图的alpha,它就会变为白色.

大部分代码如下:

if let cardView = Bundle.main.loadNibNamed("OverlayCard", owner: self, options: nil)?.first as? OverlayCard {
  cardView.backgroundColor = UIColor(displayP3Red: 1.0, green: 0.4, blue: 0.9, alpha: 0.2)
  let newplane = SCNPlane()
  let newMaterial = SCNMaterial()
  cardView.alpha = 0.2
  cardView.isOpaque = false
  newMaterial.diffuse.contents = cardView
  newMaterial.blendMode = .add
  newplane.materials = [newMaterial]
  let viewNode = SCNNode(geometry: newplane)
  self.addChildNode(viewNode)
}
Run Code Online (Sandbox Code Playgroud)

我已经离开了各种各样的事情,比如指定blendMode,backgroundColor有0.2不透明度以及整个视图,因为这些都是我尝试过的东西,但仍然得到一个白色背景,其中一些视图的元素在白色的顶部非常淡出.还试过blendMode = .alpha找不到区别.'self'这里是SCNNode的子类.

有谁知道如何让这个视图的背景淡化为透明,而不是淡化为白色?或者,另一种将视图加载到SceneKit中的方法.

提前致谢!

uiview scenekit swift scnmaterial arkit

6
推荐指数
1
解决办法
780
查看次数

SceneKit:了解如何设置地板材料的比例?

任何人都可以解释这两个Scale属性如何Material Inspector在Xcode场景编辑器中工作?

在此输入图像描述

表面上看,似乎第一个表示沿X轴的刻度,而第二个表示沿Y轴的刻度.没有讨论SCNMaterial类中的scale属性.

此图片来自WWDC狐狸演示.它用于地板的漫射材料.它的尺寸是512x512.

在此输入图像描述

但是,该演示使用此图像的比例值1.对于另一个地板材质图像(也是512x512),它使用128的比例值.

不应该使用1和128而不是使用2或3的值来解释更高的设备分辨率(例如,5s设备上的2x)?

使用不同的值会产生意想不到的结果.较高的比例值(即256)产生了更锐利的地板,但它也产生了64级未见的"马蹄形"文物.另外,为什么比例因子不是2或3就足够了?

在iPhone 5s设备上考虑2倍分辨率,两个比例属性都设置为256.这产生: 在此输入图像描述

比例属性设置为128: 在此输入图像描述

缩放属性设置为64: 在此输入图像描述

有人可以根据材料的图像分辨率解释如何设置比例属性吗?

iphone xcode ios scenekit scnmaterial

5
推荐指数
0
解决办法
772
查看次数

标签 统计

scnmaterial ×4

ios ×3

scenekit ×3

iphone ×2

3d ×1

arkit ×1

blur ×1

objective-c ×1

scnscene ×1

swift ×1

uiview ×1

xcode ×1