屏幕截图 #1 显示了一个简单的 SceneKit 场景,只有环境光(显式添加,不是默认的)。
屏幕截图#2 显示了添加聚光灯后发生的情况。整个地板都变黑了。在 SceneKit 编辑器中添加聚光灯后,该聚光灯具有默认属性。
定向光也会发生这种情况。
需要明确的是,场景默认包含环境照明。然而,在添加聚光灯/定向光之前,我们明确添加了环境光(甚至测试了两个环境光) 。所以这个问题中提到的默认光理论不再适用。因此造成混乱。
据了解,聚光灯和定向灯应该向场景的特定区域添加光线。但他们不应该把范围之外的区域涂黑,对吗?
3D 图形和 SceneKit 新手,因此非常感谢任何建议。
使用JavaScript,您可以在特定的浏览器选项卡中打开URL。
您如何通过iOS应用程序使用Swift完成同一件事,即在Safari / Chrome中打开特定标签中的URL。
在UIApplication 开放的功能没有列出有关的信息options参数,这似乎像它可能让你指定要在其中打开URL命名的标签。
目标是增加SCNBox的长度,使其仅在正z方向上生长.
这个答案建议玩pivot房产.
但是,该pivot属性的文档在SCNNode页面上是稀疏的,并且SCNBox页面上没有任何内容.
有人可以解释该pivot物业的运作方式吗?
根据这个问题,使用 == 和 != 应该让您检查两个CGPoint对象之间的相等性。
但是,下面的代码无法将两个CGPoint对象视为相等,即使它们输出相同的值。
检查CGPoint对象之间相等性的正确方法是什么?
代码:
let boardTilePos = boardLayer.convert(boardTile.position, from: boardTile.parent!)
let shapeTilePos = boardLayer.convert(tile.position, from: tile.parent!)
print("board tile pos: \(boardTilePos). active tile pos: \(shapeTilePos). true/false: \(shapeTilePos == boardTilePos)")
Run Code Online (Sandbox Code Playgroud)
输出:
board tile pos: (175.0, 70.0). active tile pos: (175.0, 70.0). true/false: false
Run Code Online (Sandbox Code Playgroud) 目标是重新创建此OBJ文件的照明:https : //poly.google.com/view/cKryD9VnDEZ
将OBJ文件加载到SceneKit中的代码(可以从上面的链接下载文件):
let modelPath = "model.obj"
let url = NSURL(string: modelPath)
let scene = SCNScene(named: modelPath)!
sceneView.autoenablesDefaultLighting = true
sceneView.allowsCameraControl = true
sceneView.scene = scene
sceneView.backgroundColor = UIColor.white
Run Code Online (Sandbox Code Playgroud)
到目前为止尝试过的选项:
1)默认的环境照明要比Google Poly照明更恶劣。移除环境照明会使一切变得太平坦。
2)使用四个定向灯:模型前面,后面,后面一个,上面一个。所有灯光都倾斜以指向模型。这是最好的,但仍然留下了一些阴影和更粗糙的区域,这些在Google Polymer上是看不到的。
3)在选项2中又增加了两个灯,这次在左右增加了灯。这个选项比选项2差,因为多余的灯光与四个现有的灯光组合在一起,并粉刷了模型。
建议后更新:
该代码现在实现了环境光和定向光。
由于某些原因,向摄像机节点(相对于场景根节点)添加定向光没有区别。
指示灯代码如下。
有两个问题:
1)在屏幕截图1中,胸部的右侧太亮并且没有边缘。胸部最左侧的脸太暗。光线最佳的脸位于中间。如何获得适合所有面部的照明(或更适合Google Poly照明)?
2)在屏幕截图2中,方向灯似乎无效。如何通过建议的一种环境光和一种定向光的架构来确保模型的背面与正面一样轻?
码:
// Create ambient light
let ambientLightNode = SCNNode()
ambientLightNode.light = SCNLight()
ambientLightNode.light!.type = .ambient
ambientLightNode.light!.color = UIColor(white: 0.50, alpha: 1.0)
// Add ambient light to scene
scene.rootNode.addChildNode(ambientLightNode)
// Create directional light
let …Run Code Online (Sandbox Code Playgroud) 这个问题是相似的,但是答案没有帮助。
目标是将单个网页缓存到主屏幕,即使在脱机模式下也可以成功启动该网页。
有网络时,从主屏幕启动网页成功,但是在脱机模式下失败,因为Safari抱怨服务器没有连接。
该网页包含以下meta标记:
<meta name="apple-mobile-web-app-capable" content="yes" />
Run Code Online (Sandbox Code Playgroud)
iOS上的网络应用程序有可能吗?
这个精彩的答案详细说明了如何在 HTML 画布中包含来自 FontAwesome 的图标。但是,从 Material Design 调整图标字体的代码不起作用。除了替换 Material Design 值的 FontAwesome 值外,所有代码都相同。
代码如下。
代码笔:https ://codepen.io/Crashalot/pen/dyyEPWV
1) 您如何将 Material Design 中的图标合并到 HTML 画布中?
2)你如何合并来自任何图标字体的图标(例如,https : //github.com/framework7io/framework7-icons)?
var FontAwesome = function () {
return new Promise(function (done, failed) {
var me = {},
FACache = {};
function find (name) {
var elm = document.createElement('i');
elm.className = 'fa fa-' + name;
elm.style.display = 'none';
document.body.appendChild(elm);
var content = window.getComputedStyle(
elm, ':before'
).getPropertyValue('content')
document.body.removeChild(elm);
return content;
};
me.get = …Run Code Online (Sandbox Code Playgroud) Scriptaculous建立在Prototype之上.是否有类似于Scriptaculous的效果库,但是建立在jQuery上?
讨论jQuery和Scriptaculous有很多问题,但没有一个直接解决这个问题.
关于在Mobile Safari上播放音频文件有很多SO问题,但在SO和Google上搜索并不会产生Mobile Safari支持的全面,更新的音频文件列表.
任何人都知道当前支持的音频文件列表是什么?
我们正在为iPhone构建一个Web应用程序.
谢谢!
我们在Rails 3.0.6上.
我们维护一个每月仅更改一次的数字列表,但几乎每个页面请求都需要访问此列表.
我们将列表存储在数据库中.
我们希望获取一次数据并将其存储在内存中以便有效访问,而不是在每个请求上访问数据库并获取列表.
如果我们将列表存储在每个用户会话中,我们仍然需要为每个会话命中数据库.
有没有办法只打一次数据库,让值在所有用户和所有会话中保留在内存中?我们需要从控制器访问列表.我们应该在控制器中定义一个类变量吗?
谢谢!