Why character's face automatically converts into green in Xcode? - xcode

I am using Autodesk Maya for creating models and animations of this character. This character appears and animates perfectly on all other platforms like Unity, 3dsMax, etc. but when I import .dae file in Xcode the face of the character appears green and not showing the perfect texture.
This model has perfect UV's on the face, other faces are used as blend shapes those shows perfect texture. UV's of the main face which appears green.
The face appears in Unity
What changes are required to change green color appearance of face to normal?

If any Maya material appears as green surface in SceneKit, you should delete a UV-mapped texture in Maya (check whether you're using Lambert, Blinn or Phong shader) and re-apply UV-mapped texture from scratch.
Green surface usually means a 3D object doesn't have a shading group assigned, or shader is somewhat corrupted, or error appears during import.
If you can't reassign a UV-mapped texture in Maya, try to assign this texture in SceneKit's Scenegraph. For that select a head and using Diffuse slot in Material Inspector choose a texture from a drop-down menu (the best image format in this case is .jpg on .png).
P.S.
I've found that your model was locked in Maya. Check ChannelBox and AttributeEditor.

Related

three.js distortion, color replacement on glb (gltf) models. Blue changes to green, and yellow changes to orange

Distortion, color replacement on glb (gltf) models. Blue changes to green, and yellow changes to orange.
v106 three.js
v97 GLTFLoader.js
You're using an environment map in your preview in blender. That env map has a dominant color that will affect the coloring of your model. To compare these references, you want to make sure you're using the same envmap in both blender and webgl. If you are only using lights in your threejs scene, you'll want to make sure they are colored to match.
Another thing that can affect the coloring is the gamma output settings in your THREE.Renderer, and textures.
You can go through a lot of heroics to get the outputs of both renderers to match. Read this: https://discourse.threejs.org/t/whats-this-about-gammafactor/4264
If you just want a quicker fix.. tweak your lighting/envmaps, or tweak the colors/intensity of the lights you have set up in your threejs scene.
If this behavior is something that has changed between versions of THREE.. it may be something to file a bug report on.
There are now gamma related settings on both the threejs renderer and textures.
If this isn't enough info, let me know and I may know someone else who can help set you straight :) Hi Don!
Old question but for the record what caused it for me was the vertex colors under Object Data Properties:
Deleting the Col fixed the texture colors.

Blender to three.js - Materials not appearing correctly when making material not transparent

I have been trying to make characters in blender and then export it to three.js. However, the materials for the character's eye seems to be broken as it renders a light blue color, instead of being the eye image. This results in very creepy characters.
I am using the normal Blender Renderer, and I created the character with MakeHuman. The export settings are as follows:
Scene: Scene and Materials
Geometry: BufferGeometry, Uint16Array, Vertices, Faces, Normals, UVs, Apply Modifiers
Texture: Textures, Export Textures, Embed Textures
When I import the object, I change "transparent" to false, but I have tried changing a lot of things, and no difference seems to come. All my other objects render completely fine when I do this though.
I have a .blend, .json, and png of the eye here
Some other strange things that I have noticed is that when testing my object on the threejs.org editor, the texture begins to appear slightly after zooming out away from it and even becomes the right texture after reloading the page.
Here is a picture of the "transparancy" area of my eye material.
I noticed that if I toggle it, I get the blue eye effect. I think that might be why I am getting the issue. How do I make the material appear while transparent is set to true?

Unity 3D Does Not Apply Texture To Object Properly

I have got a problem with texturing an object in Unity 3D. I have made a simple object in 3Ds Max and inserted it into Unity and then tried to apply an image as texture but it does not apply the texture and it only changes the color of the object! This is the print screen:
As you can see I have got two models. One of them is made in 3Ds Max and does not apply the texture and the other one is made in Unity and it's a cube and it gets the texture correctly.
So what's going wrong here ? Not that I also changed the tiling and offset settings of model's shader but still nothing's changed at all! :(
You didn't UV Unwrapped the 3d object before exporting to Unity3D.
To apply the textures on 3d mesh, any engine needs to know coordinates for texture, and this is called UV Mapping.
WIKIPEDIA - UV_mapping

How to create an orthographic/isometric directional light with three.js

I'm trying to create a shadow in my orthographic scene in three.js. I'd like to have a directional light so the shadow is offset from all objects equally in the scene. I am however having problems using DirectionalLight.
My first problem is that I can't get the shado to cover the entire scene, only part of it ever has a shadow. I played with the light's frustum settings, but can't figure out how to get it to cover the scene. Ideally I'd want the frustrum to match that of the camera.
The second problem is that the shadows aren't "clean". If I use a SpotLight the shadows have nice crisp borders (but obviously not the universal directionality I want). When I use a DirectionalLight the borders are misshappen and blurry.
In the samples the tile is a simply box created with CubeGeometry.
How can I create an ortographic directional light source for my scene?

How to draw 3D background in Games

I am trying to make a 3d car race in iphone using OPENGL ES 1.x.
I do not know how to draw the background sky in my scene. I tried using only planes for background but where should i placed that plane? I mean if i placed that plane outside the whole track then the frustum is not so big to show that planes in the scene.
Any suggestions will be of great help.
You can make a small skysphere or box, as suggested by Davido and turbovonce's link, which is centered around the viwer and fits into the frustum. You draw this first, without writing into the depth buffer. Then you draw the other stuff and as the skybox has not written to depth buffer it is just overwritten, except the parts where no scene objects are rendered, which are exactly the parts of the image where the sky should be visible.
You want a sky dome. Take a look at this website, it contains tons of references that should help you.
http://www.vterrain.org/Atmosphere/
Create a sphere in a 3d modeling app such as Maya or Blender and map a sky texture to the sphere. Export the model then load the model and its texture into the app, place in the scene. You should now have a background sky rendering in your game.

Resources