Giter Club home page Giter Club logo

iyan3d's Introduction

Iyan3d

A 3D animation app for mobile devices (iOS, Android). Project can be built on both xCode on macOS or Android Studio. The complete source code is made open source with an intention to contribute back to the community.

Features

  • A complete 3D animation editor tool for both iOS & Android
  • Import 3d models from PC softwares (3ds, fbx, obj, dae)
  • Physics Simulation with RigidBody & Softbody (Cloth, Jelly, etc) implementations
  • Create 3d Text in any font style.
  • Render using OpenGL ES Builtin renderer at FullHD or other lower resolutions
  • Source code includes Server-side Ray Tracing Renderer implementation

Other Open Source softwares used:

And a lot more. Will keep this section update as often as possible.

To do

  • Fix bugs in softbody rendering
  • Clean code & add more documents

Contributions

License

The source code contians other Open Source parts as mentioned in the above list. Rest of the code is released under permissive MIT License.

App Store Links

Contact

If you found it useful in your projects, please feel free to write to me [email protected]

iyan3d's People

Contributors

codetiger avatar karthikslegend avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iyan3d's Issues

jni code compilation error

[armeabi-v7a] Compile++ thumb: iyan3d <= iyan3d.cpp
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'voi
d createDuplicateAssets(JNIEnv*, jclass, jobject)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:466:65: error: 'A
CTION_MULTI_NODE_ADDED' was not declared in this scope
editorScene->actionMan->storeAddOrRemoveAssetAction(ACTION_MULTI_NO
DE_ADDED, 0);
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'voi
d changedPropertyAtIndex(JNIEnv*, jclass, jobject, PROP_INDEX, Vector4, bool)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:577:66: error: 'c
lass SGNode' has no member named 'smoothTexture'
editorScene->nodes[editorScene->selectedNodeId]->smoothTexture
= status;
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'voi
d Java_com_smackall_iyan3dPro_opengl_GL2JNILib_removeNode(JNIEnv*, jclass, jint,
jboolean)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:1290:73: error: '
ACTION_TEXT_IMAGE_DELETE' was not declared in this scope
editorScene->actionMan->storeAddOrRemoveAssetAction(ACTION_
TEXT_IMAGE_DELETE, 0);
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:1292:73: error: '
ACTION_NODE_DELETED' was not declared in this scope
editorScene->actionMan->storeAddOrRemoveAssetAction(ACTION_
NODE_DELETED, 0);
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'jbo
olean Java_com_smackall_iyan3dPro_opengl_GL2JNILib_importImageOrVideo(JNIEnv*, j
class, jint, jstring, jint, jint, jint, jboolean)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:1654:168: warning
: invalid conversion from 'jint {aka int}' to 'NODE_TYPE' [-fpermissive]
SGNode* sgNode = editorScene->loader->loadNode(nodeType, 0,"","-1",asset
NameW,imgWidth, imgHeight,(int)actionType ,Vector4(imgWidth,imgHeight,0,0),"",is
TempNode);

    ^

In file included from F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/Iyan3d
EngineFiles/HeaderFiles/SGEditorScene.h:48:0,
from F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d
.cpp:2:
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/Iyan3dEngineFiles/HeaderFile
s/SGSceneLoader.h:37:13: note: initializing argument 1 of 'SGNode* SGSceneLoader
::loadNode(NODE_TYPE, int, std::__ndk1::string, std::__ndk1::string, std::__ndk1
::wstring, int, int, int, Vector4, std::__ndk1::string, bool)'
SGNode* loadNode(NODE_TYPE type,int assetId, string meshPath, string textur
eName, std::wstring imagePath = L" ", int imgWidth = 0, int imgHeight = 0, int a
ctionType = OPEN_SAVED_FILE, Vector4 textColor = Vector4(0), string fontFilePath
= "", bool isTempNode = false);
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:1663:69: error: '
ACTION_TEXT_IMAGE_ADD' was not declared in this scope
editorScene->actionMan->storeAddOrRemoveAssetAction(ACTION_TEXT
_IMAGE_ADD, 0);
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'voi
d Java_com_smackall_iyan3dPro_opengl_GL2JNILib_importAdditionalLight(JNIEnv*, jc
lass, jint, jint)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:1687:69: error: '
ACTION_NODE_ADDED' was not declared in this scope
editorScene->actionMan->storeAddOrRemoveAssetAction(ACTION_NODE
_ADDED, assetId , "Light"+ to_string(lightCount));
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'voi
d Java_com_smackall_iyan3dPro_opengl_GL2JNILib_undo(JNIEnv*, jclass, jobject)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:2037:14: error: '
ADD_INSTANCE_BACK' was not declared in this scope
case ADD_INSTANCE_BACK:
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'voi
d Java_com_smackall_iyan3dPro_opengl_GL2JNILib_redo(JNIEnv*, jclass, jobject)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:2068:28: error: '
ADD_INSTANCE_BACK' was not declared in this scope
if (returnValue == ADD_INSTANCE_BACK)
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'voi
d Java_com_smackall_iyan3dPro_opengl_GL2JNILib_renderFrame(JNIEnv*, jclass, jobj
ect, jint, jint, jboolean, jboolean, jfloat, jfloat, jfloat)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:2116:63: warning:
invalid conversion from 'const value_type* {aka const char*}' to 'char*' [-fper
missive]
editorScene->renHelper->renderAndSaveImage(path.c_str(), false, (isImag
e) ? -1 : frame-1, Vector4(x,y,z,1.0));
^
In file included from F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/Iyan3d
EngineFiles/HeaderFiles/SGEditorScene.h:43:0,
from F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d
.cpp:2:
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/Iyan3dEngineFiles/HeaderFile
s/RenderHelper.h:42:10: note: initializing argument 1 of 'void RenderHelper::ren
derAndSaveImage(char*, bool, int, Vector4)'
void renderAndSaveImage(char imagePath, bool isDisplayPrepared, int frame,
Vector4 bgColor = Vector4(0.1, 0.1, 0.1, 1.0));
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'jbo
olean Java_com_smackall_iyan3dPro_opengl_GL2JNILib_cloneSelectedAsset(JNIEnv
, j
class, jint, jint, jint, jint)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:2178:88: warning:
invalid conversion from 'jint {aka int}' to 'ActionType' [-fpermissive]
editorScene->loader->createInstance(sgNode, sgNode->getType(), asse
tAddType);

    ^

In file included from F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/Iyan3d
EngineFiles/HeaderFiles/SGEditorScene.h:48:0,
from F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d
.cpp:2:
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/Iyan3dEngineFiles/HeaderFile
s/SGSceneLoader.h:48:10: note: initializing argument 3 of 'void SGSceneLoader::c
reateInstance(SGNode*, NODE_TYPE, ActionType)'
void createInstance(SGNode* sgNode, NODE_TYPE nType, ActionType actionType)
;
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:2181:69: error: '
ACTION_NODE_ADDED' was not declared in this scope
editorScene->actionMan->storeAddOrRemoveAssetAction(ACTION_NODE
_ADDED, sgNode->assetId);
^
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'jin
t Java_com_smackall_iyan3dPro_opengl_GL2JNILib_smoothTexState(JNIEnv*, jclass)':

F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:2313:174: error:
'class SGNode' has no member named 'smoothTexture'
int smoothTex = (editorScene->nodes[editorScene->selectedNodeId]->getPr
operty(IS_VERTEX_COLOR).value.x) ? -1 : (int)editorScene->nodes[editorScene->sel
ectedNodeId]->smoothTexture;

          ^

F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'jin
t Java_com_smackall_iyan3dPro_opengl_GL2JNILib_smoothTexStateWithId(JNIEnv*, jcl
ass, jint)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:2319:132: error:
'class SGNode' has no member named 'smoothTexture'
int smoothTex = (editorScene->nodes[nodeId]->getProperty(IS_VERTEX_COLO
R).value.x) ? -1 : (int)editorScene->nodes[nodeId]->smoothTexture;

                                                ^

F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp: In function 'voi
d Java_com_smackall_iyan3dPro_opengl_GL2JNILib_setTextureSmoothStatus(JNIEnv*, j
class, jboolean)':
F:/scrhashing_music/Iyan3D-Android/app/src/main/jni/iyan3d.cpp:2327:62: error: '
class SGNode' has no member named 'smoothTexture'
editorScene->nodes[editorScene->selectedNodeId]->smoothTexture = st
atus;
^
make: *** [F:/scrhashing_music/Iyan3D-Android/app/src/main/obj/local/armeabi-v7a
/objs/iyan3d/iyan3d.o] Error 1

Build instructions

Please, provide a document about building Iyan3D.
I'm struggling from 2 days now trying.

Remove OpenGL support

Remove OpenGL ES support permanently and make all data structures optimised for Metal. This will give a lot of flexibility for future updates.

ADD-->Text-->Enter some text and select any one font style then enable WITH BONE option but scene showing without bone text and also

Case 1. ADD-->Text-->Enter some text and select any one font style then enable WITH BONE option but scene showing without bone text.
Case 2. ADD-->Text-->Select any one font style and enter some text then enable WITH BONE option but scene showing without bone text.

So solution is when enable WITH BONE option NEXT another one time touch that font style then only showing with bone text.

MY CREDITS ARE ALL GONE

So Last Night, The Servers Were Down I Couldn't Render/Export, Then In The Morning Time All My Credits Were Gone, I Had 20k Credits

Offline and apk

Please, will anyone make this app working without connection?
And please, will anyone add animation export? (I don't mean rendering, but indeed save animated scene/mesh)

Finally, is it there any APK to download?

Remove Android folder

The Pro version is not going to be available for Android any sooner. So it is better to remove the older project files from Android folder and cleanup the code base until there is a proper plan for Android.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.